24#ifndef BLOCK_INDICATOR_F_3D_H
25#define BLOCK_INDICATOR_F_3D_H
36class BlockIndicatorFfromIndicatorF3D :
public BlockIndicatorF3D<T> {
49 bool operator() (
bool output[],
const int input[])
override;
72 bool operator() (
bool output[],
const int input[])
override {
78 return std::numeric_limits<int>::min();
81 return std::numeric_limits<int>::max();
86template <
typename T,
bool HLBM>
100 bool operator() (
bool output[],
const int input[])
override;
120 std::vector<int> materials);
126 std::list<int> materials);
135 bool operator() (
bool output[],
const int input[])
override;
146template <
typename T,
typename DESCRIPTOR,
typename FIELD>
157 bool operator() (
bool output[],
const int input[])
override;
179 bool operator() (
bool output[],
const int input[])
override;
199 bool operator() (
bool output[],
const int input[])
override;
221 bool operator() (
bool output[],
const int input[])
override;
239 bool operator() (
bool output[],
const int input[])
override;
257 bool operator() (
bool output[],
const int input[])
override;
Representation of a block geometry.
Block indicator identifying neighbors of boundary cells.
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
BlockIndicatorF3D< T > & _indicatorF
BlockIndicatorBoundaryNeighbor3D(BlockIndicatorF3D< T > &indicatorF, int overlap)
Base block indicator functor.
Block indicator helper for people that don't like writing boilerplate.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated subset's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated subset's bounding box.
BlockIndicatorFfromCallableF3D(BlockGeometry< T, 3 > &blockGeometry, F &&f)
std::function< bool(LatticeR< 3 >)> _callableF
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorFfromIndicatorF3D(IndicatorF3D< T > &indicatorF, BlockGeometry< T, 3 > &blockGeometry)
IndicatorF3D< T > & _indicatorF
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
BlockIndicatorF3D from SmoothIndicatorF3D.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
SmoothIndicatorF3D< T, T, HLBM > & _indicatorF
BlockIndicatorFfromSmoothIndicatorF3D(SmoothIndicatorF3D< T, T, HLBM > &indicatorF, BlockGeometry< T, 3 > &blockGeometry)
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Block indicator threshold for external field.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool isEmpty() override
Returns true iff indicated domain subset is empty.
BlockIndicatorFieldThreshold3D(BlockGeometry< T, 3 > &blockGeometry, BlockLattice< T, DESCRIPTOR > &blockLattice, std::vector< int > materials, T thresholdValue, std::string condition)
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockLattice< T, DESCRIPTOR > & _blockLattice
const std::vector< int > _materials
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Block indicator identity.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
BlockIndicatorF3D< T > & _indicatorF
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
BlockIndicatorIdentity3D(BlockIndicatorF3D< T > &indicatorF)
Block indicator extended by a layer.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorLayer3D(BlockIndicatorF3D< T > &indicatorF)
BlockIndicatorF3D< T > & _indicatorF
Block indicator functor from material numbers.
const std::vector< int > _materials
BlockIndicatorMaterial3D(BlockGeometry< T, 3 > &blockGeometry, std::vector< int > materials)
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
bool isEmpty() override
Returns true iff indicated domain subset is empty.
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Block indicator intersection.
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
BlockIndicatorMultiplication3D(BlockIndicatorF3D< T > &f, BlockIndicatorF3D< T > &g)
BlockIndicatorF3D< T > & _f
BlockIndicatorF3D< T > & _g
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
Block indicator substraction.
Vector< int, 3 > getMax() override
Returns max lattice position of the indicated domain's bounding box.
Vector< int, 3 > getMin() override
Returns min lattice position of the indicated domain's bounding box.
BlockIndicatorSubstraction3D(BlockIndicatorF3D< T > &f, BlockIndicatorF3D< T > &g)
bool operator()(bool output[], const int input[]) override
has to be implemented for 'every' derived class
BlockIndicatorF3D< T > & _f
BlockIndicatorF3D< T > & _g
IndicatorF3D is an application from .
Top level namespace for all of OpenLB.