summaryrefslogtreecommitdiff
path: root/tests/descriptor.cpp
blob: 5e23ebc28e202f234027341b6480037a4769717a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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 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>>();
}
}