diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-11-05 13:38:04 +0100 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-11-05 13:38:04 +0100 |
| commit | b9aacd9c2fdc61721c8ca3e1b40ebc92daa3772e (patch) | |
| tree | bec510bca7b72b8fe63b7f8cec1fd78b7ff03bc2 /lib/core/tests/descriptor.cpp | |
| parent | f5c40005f576b5a3416c2cda8c60e5f100810ddb (diff) | |
| download | libs-lbm-b9aacd9c2fdc61721c8ca3e1b40ebc92daa3772e.tar.gz | |
Reworking structure
Diffstat (limited to 'lib/core/tests/descriptor.cpp')
| -rw-r--r-- | lib/core/tests/descriptor.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/core/tests/descriptor.cpp b/lib/core/tests/descriptor.cpp new file mode 100644 index 0000000..7f743ce --- /dev/null +++ b/lib/core/tests/descriptor.cpp @@ -0,0 +1,39 @@ +#include <forstio/test/suite.hpp> + +#include "../c++/descriptor.hpp" + + +namespace { +template<typename Descriptor> +void check_opposite_dirs(){ + using namespace kel; + + using dfi = lbm::df_info<lbm::sch::Float32, Descriptor>; + + for(uint64_t k = 0u; k < Descriptor::Q; ++k){ + auto k_inv = dfi::opposite_index[k]; + + for(uint64_t i = 0u; i < Descriptor::D; ++i){ + SAW_EXPECT(dfi::directions[k][i] == (-1*dfi::directions[k_inv][i]), "Opposites are inconsistent"); + } + } +} + +SAW_TEST("Opposites and Dirs D1Q3"){ + using namespace kel; + check_opposite_dirs<lbm::sch::Descriptor<1,3>>(); +} + +SAW_TEST("Opposites and Dirs D2Q5"){ + using namespace kel; + check_opposite_dirs<lbm::sch::Descriptor<2,5>>(); +} +SAW_TEST("Opposites and Dirs D2Q9"){ + using namespace kel; + check_opposite_dirs<lbm::sch::Descriptor<2,9>>(); +} +SAW_TEST("Opposites and Dirs D3Q27"){ + using namespace kel; + check_opposite_dirs<lbm::sch::Descriptor<3,27>>(); +} +} |
