From b89b56b6b93d6b8df61954235c2ce6bd04bfd714 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Tue, 15 Jan 2019 12:05:50 +0100 Subject: Conclude refinement method implementation section --- code/computeRestrictedFneq.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 code/computeRestrictedFneq.cpp (limited to 'code/computeRestrictedFneq.cpp') diff --git a/code/computeRestrictedFneq.cpp b/code/computeRestrictedFneq.cpp new file mode 100644 index 0000000..cf796b1 --- /dev/null +++ b/code/computeRestrictedFneq.cpp @@ -0,0 +1,23 @@ +template class DESCRIPTOR> +void computeRestrictedFneq(const SuperLattice2D& lattice, + Vector latticeR, + T restrictedFneq[DESCRIPTOR::q]) +{ + for (int iPop=0; iPop < DESCRIPTOR::q; ++iPop) { + const auto neighbor = latticeR + + {0, DESCRIPTOR::c[iPop][0], DESCRIPTOR::c[iPop][1]}; + Cell cell; + lattice.get(neighbor, cell); + + T fNeq[DESCRIPTOR::q] {}; + lbHelpers::computeFneq(cell, fNeq); + + for (int jPop=0; jPop < DESCRIPTOR::q; ++jPop) { + restrictedFneq[jPop] += fNeq[jPop]; + } + } + + for (int iPop=0; iPop < DESCRIPTOR::q; ++iPop) { + restrictedFneq[iPop] /= DESCRIPTOR::q; + } +} -- cgit v1.2.3