25#ifndef ADSORPTION_COUPLING_POST_PROCESSOR_3D_H
26#define ADSORPTION_COUPLING_POST_PROCESSOR_3D_H
46 template<
typename T,
typename NSDESCRIPTOR,
typename ADEDESCRIPTOR>
59 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_,
67 int extent(
int whichDirection)
const override {
76 int x0, x1, y0, y1, z0, z1;
92 template<
typename T,
typename NSDESCRIPTOR,
typename ADEDESCRIPTOR>
101 int x0=0,
int x1=0,
int y0=0,
int y1=0,
int z0=0,
int z1=0);
116template<
typename T,
typename NSDESCRIPTOR,
typename CADDESCRIPTOR>
123 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_,
130 int extent(
int whichDirection)
const override {
139 int x0, x1, y0, y1, z0, z1;
143template<
typename T,
typename NSDESCRIPTOR,
typename CADDESCRIPTOR>
158template<
typename T,
typename NSDESCRIPTOR,
typename ADEDESCRIPTOR>
162 int x0_,
int x1_,
int y0_,
int y1_,
int z0_,
int z1_,
int iC,
171 int extent(
int whichDirection)
const override {
178 std::vector<std::reference_wrapper<AdvectionDiffusionForce3D<T, NSDESCRIPTOR, ADEDESCRIPTOR> > >
forces;
181 int x0, x1, y0, y1, z0, z1, iC;
188template<
typename T,
typename NSDESCRIPTOR,
typename ADEDESCRIPTOR>
193 int x0=0,
int x1=0,
int y0=0,
int y1=0,
int z0=0,
int z1=0);
204 std::vector<std::reference_wrapper<AdvectionDiffusionForce3D<T, NSDESCRIPTOR, ADEDESCRIPTOR> > >
ADforces;
Coupling post processor for adsorption on moving particles.
AdsorptionCouplingPostProcessor3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, std::vector< BlockStructureD< 3 > * > partners_, AdsorptionReaction< T, ADEDESCRIPTOR > *adsorptionReaction_)
Coupling post processor for adsorption on moving particles.
int extent() const override
Extent of application area (0 for purely local operations)
int extent(int whichDirection) const override
Extent of application area along a direction (0 or 1)
void process(BlockLattice< T, NSDESCRIPTOR > &blockLattice) override
void processSubDomain(BlockLattice< T, NSDESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_, int z0_, int z1_)
Generates post processor AdsorptionCouplingPostProcessor3D.
LatticeCouplingGenerator3D< T, NSDESCRIPTOR > * clone() const override
AdsorptionCouplingPostProcessorGenerator3D(AdsorptionReaction< T, ADEDESCRIPTOR > *reaction, int x0=0, int x1=0, int y0=0, int y1=0, int z0=0, int z1=0)
Generate adsorption reaction post processor.
PostProcessor3D< T, NSDESCRIPTOR > * generate(std::vector< BlockStructureD< 3 > * > partners) const
void process(BlockLattice< T, NSDESCRIPTOR > &blockLattice) override
std::vector< std::reference_wrapper< AdvectionDiffusionForce3D< T, NSDESCRIPTOR, ADEDESCRIPTOR > > > forces
AdsorptionFullCouplingPostProcessor3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, int iC, std::vector< BlockStructureD< 3 > * > partners_, AdsorptionReaction< T, ADEDESCRIPTOR > *adsorptionReaction_, std::vector< std::reference_wrapper< AdvectionDiffusionForce3D< T, NSDESCRIPTOR, ADEDESCRIPTOR > > > forces_)
All in one adsorption coupling.
void processSubDomain(BlockLattice< T, NSDESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_, int z0_, int z1_)
int extent() const override
Extent of application area (0 for purely local operations)
int extent(int whichDirection) const override
Extent of application area along a direction (0 or 1)
AdsorptionFullCouplingPostProcessorGenerator3D(AdsorptionReaction< T, ADEDESCRIPTOR > *reaction, int x0=0, int x1=0, int y0=0, int y1=0, int z0=0, int z1=0)
std::vector< std::reference_wrapper< AdvectionDiffusionForce3D< T, NSDESCRIPTOR, ADEDESCRIPTOR > > > ADforces
LatticeCouplingGenerator3D< T, NSDESCRIPTOR > * clone() const override
PostProcessor3D< T, NSDESCRIPTOR > * generate(std::vector< BlockStructureD< 3 > * > partners) const
void addForce(AdvectionDiffusionForce3D< T, NSDESCRIPTOR, ADEDESCRIPTOR > &force)
Describes adsorption reactions in conjunction with a Isotherm class.
Platform-abstracted block lattice for external access and inter-block interaction.
Coupler for solute that is only coupled to the fluid velocity.
int extent() const override
Extent of application area (0 for purely local operations)
void process(BlockLattice< T, NSDESCRIPTOR > &blockLattice) override
PassiveSoluteCouplingPostProcessor3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_, std::vector< BlockStructureD< 3 > * > partners_)
void processSubDomain(BlockLattice< T, NSDESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_, int z0_, int z1_)
int extent(int whichDirection) const override
Extent of application area along a direction (0 or 1)
PostProcessor3D< T, NSDESCRIPTOR > * generate(std::vector< BlockStructureD< 3 > * > partners) const override
LatticeCouplingGenerator3D< T, NSDESCRIPTOR > * clone() const override
PassiveSoluteCouplingPostProcessorGenerator3D(int x0_, int x1_, int y0_, int y1_, int z0_, int z1_)
Descriptor for all types of 2D and 3D lattices.
Top level namespace for all of OpenLB.
Interface for post-processing steps – header file.
Set of functions commonly used in LB computations – header file.