24#ifndef LATTICE_CELL_LIST_HH
25#define LATTICE_CELL_LIST_HH
29template<
typename T,
typename DESCRIPTOR,
typename U>
35 this->getName() =
"cellListF";
36 auto& loadBalancer = this->_sLattice.getLoadBalancer();
37 int maxC = loadBalancer.size();
38 this->_blockF.reserve(maxC);
39 for (
int iC = 0; iC < maxC; iC++) {
41 this->_sLattice.getBlock(iC),
42 loadBalancer.glob(iC), cellList ));
46template<
typename T,
typename DESCRIPTOR,
typename U>
53 this->getName() =
"cellListF";
54 for (
auto latticeRlist : cellList){
55 int globiCList = latticeRlist[0];
56 if (globiCList==globiC){
62 auto& dataPoint = _blockData.get(latticeR);
68template<
typename T,
typename DESCRIPTOR,
typename U>
71 if constexpr (std::is_same_v<U,bool>){
72 _blockData(output,input);
73 return bool(output[0]);
bool operator()(T output[], const int input[]) override
BlockLatticeCellList(BlockLattice< T, DESCRIPTOR > &blockLattice, int globiC, std::vector< LatticeR< 4 > > &cellList)
Platform-abstracted block lattice for external access and inter-block interaction.
SuperLatticeCellList(SuperLattice< T, DESCRIPTOR > &sLattice, std::vector< LatticeR< 4 > > &cellList)
Super class maintaining block lattices for a cuboid decomposition.
Top level namespace for all of OpenLB.
std::conditional_t< DESCRIPTOR::d==2, SuperLatticeF2D< T, DESCRIPTOR >, SuperLatticeF3D< T, DESCRIPTOR > > SuperLatticeF
std::conditional_t< DESCRIPTOR::d==2, BlockLatticeF2D< T, DESCRIPTOR >, BlockLatticeF3D< T, DESCRIPTOR > > BlockLatticeF