26#ifndef ADVECTION_DIFFUSION_BOUNDARY_POST_PROCESSOR_3D_H
27#define ADVECTION_DIFFUSION_BOUNDARY_POST_PROCESSOR_3D_H
42template<
typename T,
typename DESCRIPTOR>
46 int z1_,
int discreteNormalX_,
47 int discreteNormalY_,
int discreteNormalZ_);
52 int extent(
int whichDirection)
const override
58 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_)
override;
60 int interpolationPop[DESCRIPTOR::q];
61 int x0, x1, y0, y1, z0, z1;
64template<
typename T,
typename DESCRIPTOR>
68 int z0_,
int z1_,
int discreteNormalX_,
69 int discreteNormalY_,
int discreteNormalZ_);
89template<
typename T,
typename DESCRIPTOR>
93 int z1_,
int discreteNormalX_,
int discreteNormalY_,
94 int discreteNormalZ_);
99 int extent(
int whichDirection)
const override
105 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_)
override;
107 int resetPop[DESCRIPTOR::q];
108 int x0, x1, y0, y1, z0, z1;
111template<
typename T,
typename DESCRIPTOR>
115 int z0_,
int z1_,
int discreteNormalX_,
116 int discreteNormalY_,
int discreteNormalZ_);
This class interpolates missing f_i from values near the boundary to get a more stable outflow condit...
ConvectionBoundaryProcessor3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int discreteNormalX_, int discreteNormalY_, int discreteNormalZ_)
void process(BlockLattice< T, DESCRIPTOR > &blockLattice) override
Execute post-processing step.
void processSubDomain(BlockLattice< T, DESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_, int z0_, int z1_) override
Execute post-processing step on a sublattice.
int extent(int whichDirection) const override
Extent of application area along a direction (0 or 1)
int extent() const override
Extent of application area (0 for purely local operations)
PostProcessorGenerator3D< T, DESCRIPTOR > * clone() const override
ConvectionBoundaryProcessorGenerator3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int discreteNormalX_, int discreteNormalY_, int discreteNormalZ_)
PostProcessor3D< T, DESCRIPTOR > * generate() const override
This class copies missing values in the external field from the neighbour in normal direction.
void process(BlockLattice< T, DESCRIPTOR > &blockLattice) override
Execute post-processing step.
void processSubDomain(BlockLattice< T, DESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_, int z0_, int z1_) override
Execute post-processing step on a sublattice.
int extent() const override
Extent of application area (0 for purely local operations)
ZeroDistributionBoundaryProcessor3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int discreteNormalX_, int discreteNormalY_, int discreteNormalZ_)
int extent(int whichDirection) const override
Extent of application area along a direction (0 or 1)
PostProcessor3D< T, DESCRIPTOR > * generate() const override
ZeroDistributionBoundaryProcessorGenerator3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int discreteNormalX_, int discreteNormalY_, int discreteNormalZ_)
PostProcessorGenerator3D< T, DESCRIPTOR > * clone() const override
Top level namespace for all of OpenLB.
Interface for post-processing steps – header file.