summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/core/c++/descriptor/common.hpp9
-rw-r--r--modules/core/c++/descriptor/d1q3.hpp9
-rw-r--r--modules/core/tests/schema.cpp19
-rw-r--r--poc/triangle_stream/common.hpp46
-rw-r--r--poc/triangle_stream/init.hpp13
-rw-r--r--poc/triangle_stream/sim.cpp47
-rw-r--r--poc/triangle_stream/step.hpp8
7 files changed, 105 insertions, 46 deletions
diff --git a/modules/core/c++/descriptor/common.hpp b/modules/core/c++/descriptor/common.hpp
new file mode 100644
index 0000000..f821510
--- /dev/null
+++ b/modules/core/c++/descriptor/common.hpp
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "../common.hpp"
+
+namespace kel {
+namespace lbm {
+
+}
+}
diff --git a/modules/core/c++/descriptor/d1q3.hpp b/modules/core/c++/descriptor/d1q3.hpp
new file mode 100644
index 0000000..7fc8591
--- /dev/null
+++ b/modules/core/c++/descriptor/d1q3.hpp
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "common.hpp"
+
+namespace kel {
+namespace lbm {
+
+}
+}
diff --git a/modules/core/tests/schema.cpp b/modules/core/tests/schema.cpp
new file mode 100644
index 0000000..b705af0
--- /dev/null
+++ b/modules/core/tests/schema.cpp
@@ -0,0 +1,19 @@
+#include <forstio/test/suite.hpp>
+
+#include "../c++/abstract/schema.hpp"
+
+namespace {
+namespace ts {
+using namespace kel::lbm::sch;
+
+using TPtr = Ptr<UInt16>;
+using TVal = UInt16;
+}
+
+SAW_TEST("Abstract/Schema/Ptr"){
+ using namespace kel::lbm;
+
+ // static_assert(std::is_same_v<typename schema_decay<ts::TPtr>::Schema, ts::TVal>, "schema decay failed");
+}
+
+}
diff --git a/poc/triangle_stream/common.hpp b/poc/triangle_stream/common.hpp
new file mode 100644
index 0000000..927f8f8
--- /dev/null
+++ b/poc/triangle_stream/common.hpp
@@ -0,0 +1,46 @@
+#pragma once
+
+#include <kel/lbm/lbm.hpp>
+
+namespace kel {
+namespace lbm {
+
+constexpr uint64_t dim_y = 256ul;
+constexpr uint64_t dim_x = dim_y * 20ul;
+
+namespace sch {
+using namespace saw::schema;
+
+using InfoChunk = Chunk<UInt8, 0u, dim_x, dim_y>;
+
+template<typename T, typename Desc>
+using DfChunk = Chunk<FixedArray<T,Desc::Q>, 1u, dim_x, dim_y>;
+
+template<typename T, typename Desc>
+using ScalarChunk = Chunk<Scalar<T>, 0u, dim_x, dim_y>;
+
+template<typename T, typename Desc>
+using VectorChunk = Chunk<Vector<T,Desc::D>, 0u, dim_x, dim_y>;
+
+template<typename T, typename Desc>
+using ChunkStruct = Struct<
+ Member<InfoChunk, "info">,
+ Member<DfChunk<T,Desc>, "dfs">,
+ Member<DfChunk<T,Desc>, "dfs_old">
+>;
+
+template<typename T, typename Desc>
+using VelChunk = Chunk<Vector<T,Desc::D>, 0u, dim_x, dim_y>;
+
+template<typename T>
+using RhoChunk = Chunk<Scalar<T>, 0u, dim_x, dim_y>;
+
+template<typename T, typename Desc>
+using MacroStruct = Struct<
+ Member<VelChunk<T,Desc>, "velocity">,
+ Member<RhoChunk<T>, "density">
+>;
+}
+
+}
+}
diff --git a/poc/triangle_stream/init.hpp b/poc/triangle_stream/init.hpp
new file mode 100644
index 0000000..532f08c
--- /dev/null
+++ b/poc/triangle_stream/init.hpp
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "common.hpp"
+
+namespace kel {
+namespace lbm {
+
+template<typename T, typename Desc>
+void init(){
+}
+
+}
+}
diff --git a/poc/triangle_stream/sim.cpp b/poc/triangle_stream/sim.cpp
index 36986e4..b2121ee 100644
--- a/poc/triangle_stream/sim.cpp
+++ b/poc/triangle_stream/sim.cpp
@@ -1,53 +1,8 @@
-#include <kel/lbm/lbm.hpp>
+#include "common.hpp"
namespace kel {
namespace lbm {
-constexpr uint64_t dim_y = 256ul;
-constexpr uint64_t dim_x = dim_y * 20ul;
-
-namespace sch {
-using namespace saw::schema;
-
-using InfoChunk = Chunk<UInt8, 0u, dim_x, dim_y>;
-
-template<typename T, typename Desc>
-using DfChunk = Chunk<FixedArray<T,Desc::Q>, 1u, dim_x, dim_y>;
-
-template<typename T, typename Desc>
-using ScalarChunk = Chunk<Scalar<T>, 0u, dim_x, dim_y>;
-
-template<typename T, typename Desc>
-using VectorChunk = Chunk<Vector<T,Desc::D>, 0u, dim_x, dim_y>;
-
-template<typename T, typename Desc>
-using ChunkStruct = Struct<
- Member<InfoChunk, "info">,
- Member<DfChunk<T,Desc>, "dfs">,
- Member<DfChunk<T,Desc>, "dfs_old">
->;
-
-template<typename T, typename Desc>
-using VelChunk = Chunk<Vector<T,Desc::D>, 0u, dim_x, dim_y>;
-
-template<typename T>
-using RhoChunk = Chunk<Scalar<T>, 0u, dim_x, dim_y>;
-
-template<typename T, typename Desc>
-using MacroStruct = Struct<
- Member<VelChunk<T,Desc>, "velocity">,
- Member<RhoChunk<T>, "density">
->;
-
-//template<typename T, typename Desc>
-//using ParticleArray = Array<
-// Particle<T,Desc::D>
-//>;
-}
-
-template<typename T, typename Desc>
-void init(){
-}
template<typename T, typename Desc>
saw::error_or<void> kmain(int argc, char** argv){
diff --git a/poc/triangle_stream/step.hpp b/poc/triangle_stream/step.hpp
new file mode 100644
index 0000000..e10c4db
--- /dev/null
+++ b/poc/triangle_stream/step.hpp
@@ -0,0 +1,8 @@
+#pragma once
+
+#include "schema.hpp"
+
+namespace kel {
+namespace lbm {
+}
+}