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_);
83template<
typename T,
typename DESCRIPTOR,
typename FIELD_A,
typename FIELD_B>
87 int discreteNormalX_,
int discreteNormalY_,
int discreteNormalZ_);
92 int extent(
int whichDirection)
const override
98 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_)
override;
100 int x0, x1, y0, y1, z0, z1;
101 int discreteNormalX, discreteNormalY, discreteNormalZ;
105template<
typename T,
typename DESCRIPTOR,
typename FIELD_A,
typename FIELD_B>
109 int z1_,
int discreteNormalX_,
int discreteNormalY_,
110 int discreteNormalZ_);
114 int discreteNormalX, discreteNormalY, discreteNormalZ;
123template<
typename T,
typename DESCRIPTOR>
127 int z1_,
int discreteNormalX_,
int discreteNormalY_,
128 int discreteNormalZ_);
133 int extent(
int whichDirection)
const override
139 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_)
override;
141 int resetPop[DESCRIPTOR::q];
142 int x0, x1, y0, y1, z0, z1;
145template<
typename T,
typename DESCRIPTOR>
149 int z0_,
int z1_,
int discreteNormalX_,
150 int discreteNormalY_,
int discreteNormalZ_);
Platform-abstracted block lattice for external access and inter-block interaction.
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.
int extent() const override
Extent of application area (0 for purely local operations)
ExtFieldBoundaryProcessor3D(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)
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.
ExtFieldBoundaryProcessorGenerator3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int discreteNormalX_, int discreteNormalY_, int discreteNormalZ_)
PostProcessorGenerator3D< T, DESCRIPTOR > * clone() const override
PostProcessor3D< T, DESCRIPTOR > * generate() const override
This class resets some values of the distribution on the boundary that can have arbitrary values to b...
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.