diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-07-03 14:22:20 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-07-03 14:22:20 +0200 |
commit | a97669c0e67b4068d8491a8993a12aacb717768e (patch) | |
tree | 5994b9cd00c19a3654474532b04c8e08ae98ef33 | |
parent | e94b82a2dbfbe03cde38375dc687b5952cdfa2c3 (diff) |
c++: Building basic blocks for a setup
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | c++/descriptor.h | 31 | ||||
-rw-r--r-- | c++/lattice.h | 12 | ||||
-rw-r--r-- | c++/lbm_unit.h (renamed from src/lbm_unit.h) | 0 | ||||
-rw-r--r-- | src/block.h | 10 | ||||
-rw-r--r-- | src/descriptor.h | 6 |
6 files changed, 38 insertions, 22 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3bc0b2 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Lattice-Boltzmann-Method library diff --git a/c++/descriptor.h b/c++/descriptor.h new file mode 100644 index 0000000..f0f7f28 --- /dev/null +++ b/c++/descriptor.h @@ -0,0 +1,31 @@ +#pragma once + +#include <forstio/codec/schema.h> + +namespace kel { +namespace lbm { +namespace schema { +using namespace saw::schema; + +template<typename T, uint64_t D, uint64_t Q> +struct Descriptor {}; + +template<typename T, uint64_t D, uint64_t Q, uint64_t SC, uint64_t DC, uint64_t QC> +using CellType = FixedArray<T,SC+D*DC+Q*QC>; + +/** + * T... is restricted to Member schemas + */ +template<typename... CellT> +using CellData = Struct< + CellT... +>; + +/** + * T is an array of CellData + */ +template<size_t D, typename T> +using Lattice = Array<T, D>; +} +} +} diff --git a/c++/lattice.h b/c++/lattice.h index eb3b4cc..86c643c 100644 --- a/c++/lattice.h +++ b/c++/lattice.h @@ -7,14 +7,14 @@ namespace lbm { namespace schema { using namespace saw::schema; -template<typename T, size_t D> -using Lattice = Array<T,D>; +template<typename T, uint16_t D, uint16_t Q> +using Lattice = Array<FixedArray<T,Q>,D>; -template<typename T> -using Lattice2D = Lattice<T,2>; +template<typename T, uint16_t Q> +using Lattice2D = Lattice<T,2,Q>; -template<typename T> -using Lattice3D = Lattice<T,3>; +template<typename T, uint16_t Q> +using Lattice3D = Lattice<T,3,Q>; } } } diff --git a/src/lbm_unit.h b/c++/lbm_unit.h index 20c6e70..20c6e70 100644 --- a/src/lbm_unit.h +++ b/c++/lbm_unit.h diff --git a/src/block.h b/src/block.h deleted file mode 100644 index 0d9de22..0000000 --- a/src/block.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "descriptor.h" - -namespace kel { -template<typename descriptor> -class block; - - -} diff --git a/src/descriptor.h b/src/descriptor.h deleted file mode 100644 index 4ef41e5..0000000 --- a/src/descriptor.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -namespace kel { -template<uint16_t D, uint16_t Q, typename... T> -class descriptor {}; -} |