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; } }