24#ifndef SUPER_INDICATOR_BASE_F_2D_HH
25#define SUPER_INDICATOR_BASE_F_2D_HH
36 _superGeometry(geometry)
42 OLB_ASSERT(
size_t(iCloc) < this->_blockF.size() && iCloc >= 0,
43 "block functor index within bounds");
52 return this->_superGeometry;
60 output = _cachedData->
getBlock(input[0]).get(input+1);
63 this->operator()(&output, input);
73 output = _cachedData->getBlock(iC).get({iX, iY});
76 this->operator()(&output, iC, iX, iY);
84 _cachedData = std::unique_ptr<SuperData<2,T,bool>>(
86 for (
unsigned iC = 0; iC < this->_blockF.size(); ++iC) {
87 getBlockIndicatorF(iC).setCache(_cachedData->getBlock(iC));
Base block indicator functor (discrete)
represents all functors that operate on a SuperStructure<T,2> in general
Representation of a statistic for a parallel 2D geometry.
BLOCK & getBlock(int locIC)
Read and write access to a single extended block geometry.
SuperIndicatorF2D(SuperGeometry< T, 2 > &geometry)
BlockIndicatorF2D< T > & getBlockIndicatorF(int iCloc)
Get block indicator.
void cache()
Optional: initialize _cachedData for faster access.
bool operator()(const int input[])
Indicator specific function operator overload.
SuperGeometry< T, 2 > & getSuperGeometry()
Get underlying super geometry.
Top level namespace for all of OpenLB.
#define OLB_ASSERT(COND, MESSAGE)
Representation of a parallel 2D geometry – header file.