24#ifndef NAVIER_STOKES_ADVECTION_DIFFUSION_COUPLING_POST_PROCESSOR_2D_H
25#define NAVIER_STOKES_ADVECTION_DIFFUSION_COUPLING_POST_PROCESSOR_2D_H
36template<
typename T,
typename DESCRIPTOR>
40 T rho_L, T rho_H, T mu_L, T mu_H, T surface_tension, T interface_thickness,
46 int extent(
int whichDirection)
const override
52 int x0_,
int x1_,
int y0_,
int y1_)
override;
59 T _rho_L, _rho_H, _delta_rho;
61 T _surface_tension, _interface_thickness;
66 std::vector<BlockStructureD<2>*> partners;
69template<
typename T,
typename DESCRIPTOR>
73 T rho_L, T rho_H, T mu_L, T mu_H, T surface_tension, T interface_thickness);
78 T _rho_L, _rho_H, _delta_rho;
80 T _surface_tension, _interface_thickness;
87template<
typename T,
typename DESCRIPTOR>
91 T gravity_, T T0_, T deltaTemp_, std::vector<T> dir_, T PrTurb_, T smagoPrefactor_,
97 int extent(
int whichDirection)
const override
103 int x0_,
int x1_,
int y0_,
int y1_)
override;
105 typedef DESCRIPTOR L;
107 T gravity, T0, deltaTemp;
111 T forcePrefactor[L::d];
112 T tauTurbADPrefactor;
115 std::vector<BlockStructureD<2>*> partners;
118template<
typename T,
typename DESCRIPTOR>
122 T gravity_, T T0_, T deltaTemp_, std::vector<T> dir_, T PrTurb_, T smagoPrefactor_);
127 T gravity, T0, deltaTemp;
136template<
typename T,
typename DESCRIPTOR>
140 T gravity_, T T0_, T deltaTemp_, std::vector<T> dir_, T PrTurb_,
146 int extent(
int whichDirection)
const override
152 int x0_,
int x1_,
int y0_,
int y1_)
override;
154 typedef DESCRIPTOR L;
157 T gravity, T0, deltaTemp, PrTurb;
161 T tauTurbADPrefactor;
163 std::vector<BlockStructureD<2>*> partners;
166template<
typename T,
typename DESCRIPTOR>
170 T gravity_, T T0_, T deltaTemp_, std::vector<T> dir_, T PrTurb_);
175 T gravity, T0, deltaTemp, PrTurb;
MixedScaleBoussinesqCouplingGenerator2D(int x0_, int x1_, int y0_, int y1_, T gravity_, T T0_, T deltaTemp_, std::vector< T > dir_, T PrTurb_)
LatticeCouplingGenerator for advectionDiffusion coupling.
PostProcessor2D< T, DESCRIPTOR > * generate(std::vector< BlockStructureD< 2 > * > partners) const override
LatticeCouplingGenerator2D< T, DESCRIPTOR > * clone() const override
MixedScaleBoussinesqCouplingPostProcessor2D(int x0_, int x1_, int y0_, int y1_, T gravity_, T T0_, T deltaTemp_, std::vector< T > dir_, T PrTurb_, std::vector< BlockStructureD< 2 > * > partners_)
void processSubDomain(BlockLattice< T, DESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_) override
Execute post-processing step on a sublattice.
void process(BlockLattice< T, DESCRIPTOR > &blockLattice) override
Execute post-processing step.
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)
PostProcessor2D< T, DESCRIPTOR > * generate(std::vector< BlockStructureD< 2 > * > partners) const override
LatticeCouplingGenerator2D< T, DESCRIPTOR > * clone() const override
PhaseFieldCouplingGenerator2D(int x0_, int x1_, int y0_, int y1_, T rho_L, T rho_H, T mu_L, T mu_H, T surface_tension, T interface_thickness)
LatticeCouplingGenerator for advectionDiffusion coupling.
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.
PhaseFieldCouplingPostProcessor2D(int x0_, int x1_, int y0_, int y1_, T rho_L, T rho_H, T mu_L, T mu_H, T surface_tension, T interface_thickness, std::vector< BlockStructureD< 2 > * > partners_)
void processSubDomain(BlockLattice< T, DESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_) override
Execute post-processing step on a sublattice.
int extent() const override
Extent of application area (0 for purely local operations)
Interface of 2D post-processing steps.
LatticeCouplingGenerator2D< T, DESCRIPTOR > * clone() const override
PostProcessor2D< T, DESCRIPTOR > * generate(std::vector< BlockStructureD< 2 > * > partners) const override
SmagorinskyBoussinesqCouplingGenerator2D(int x0_, int x1_, int y0_, int y1_, T gravity_, T T0_, T deltaTemp_, std::vector< T > dir_, T PrTurb_, T smagoPrefactor_)
LatticeCouplingGenerator for advectionDiffusion coupling.
SmagorinskyBoussinesqCouplingPostProcessor2D(int x0_, int x1_, int y0_, int y1_, T gravity_, T T0_, T deltaTemp_, std::vector< T > dir_, T PrTurb_, T smagoPrefactor_, std::vector< BlockStructureD< 2 > * > partners_)
void processSubDomain(BlockLattice< T, DESCRIPTOR > &blockLattice, int x0_, int x1_, int y0_, int y1_) override
Execute post-processing step on a sublattice.
void process(BlockLattice< T, DESCRIPTOR > &blockLattice) override
Execute post-processing step.
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)
Top level namespace for all of OpenLB.
Interface for post-processing steps – header file.
Base of a field whose size is defined by [C_0,C_1,C_2]^T * [1,D,Q].