49struct LBMSimulationParameter;
A class provides an interface for no-slip boundary condition in grid generator.
A class provides an interface for velocity boundary condition in grid generator.
virtual std::variant< BoundaryConditionKernel, DirectionalBoundaryConditionKernel > getPressureBoundaryConditionPre() const
NoSlipBC
An enumeration for selecting a no-slip boundary condition.
@ NoSlipInterpolatedIncompressible
@ NoSlipInterpolatedCompressible
void setPrecursorBoundaryCondition(BoundaryConditionFactory::PrecursorBC boundaryConditionType)
virtual ~BoundaryConditionFactory()=default
virtual BoundaryConditionKernel getVelocityBoundaryConditionPost(bool isGeometryBC=false) const
AdvectionDiffusionNeumannBC
Sets gradient at boundary via anti bounce back rule. Only works well at low velocities.
@ NeumannInterpolatedSlip
@ NeumannInterpolatedNoSlip
@ NeumannAntiBounceBackSlip
@ NeumannAntiBounceBackNoSlip
AdvectionDiffusionFluxBC
Can set flux, best used in combination with Slip or velocity.
@ FluxTurbulentViscosityCompressible
BoundaryConditionKernel getStressBoundaryConditionPost() const
SurfaceLayerBC
Enum to differentiate between setting heatlfux or surfaceTemperature in SurfaceLayer BC.
void setAdvectionDiffusionDirichletBoundaryCondition(AdvectionDiffusionDirichletBC boundaryConditionType)
PressureBC
An enumeration for selecting a pressure boundary condition.
@ PressureNonEquilibriumIncompressible
@ PressureNonEquilibriumCompressible
@ OutflowNonReflectivePressureCorrection
void setAdvectionDiffusionFluxBoundaryCondition(AdvectionDiffusionFluxBC boundaryConditionType)
BoundaryConditionKernel getNoSlipBoundaryConditionPost(bool isGeometryBC=false) const
BoundaryConditionKernel getSlipBoundaryConditionPost(bool isGeometryBC=false) const
void setStressBoundaryCondition(BoundaryConditionFactory::StressBC boundaryConditionType)
BoundaryConditionKernel getSurfaceLayerBoundaryConditionPost() const
void setAdvectionDiffusionNoFluxBoundaryCondition(AdvectionDiffusionNoFluxBC boundaryConditionType)
SlipBC
An enumeration for selecting a slip boundary condition.
@ SlipBounceBack
SlipBounceBack = slip boundary condition based on bounce back.
@ SlipTurbulentViscosityCompressible
With turbulent viscosity -> para->setUseTurbulentViscosity(true) has to be set to true.
BoundaryConditionKernel getGeometryBoundaryConditionPost() const
void setAdvectionDiffusionNeumannBoundaryCondition(AdvectionDiffusionNeumannBC boundaryConditionType)
virtual bool hasDirectionalPressureBoundaryCondition() const
AdvectionDiffusionNoFluxBC
Equivalent to an adiabatic boundary condition, best used in combination with NoSlip.
@ NoFluxBounceBack
NoFluxBounceBack = simple bounce back.
@ NoFluxDelayedBounceBack
NoFluxBounceBackDelayed = implicit bounce back.
AdvectionDiffusionDirichletBoundaryConditionKernel getAdvectionDiffusionDirichletBoundaryConditionPost() const
void setPressureBoundaryCondition(BoundaryConditionFactory::PressureBC boundaryConditionType)
void setNoSlipBoundaryCondition(BoundaryConditionFactory::NoSlipBC boundaryConditionType)
VelocityBC
An enumeration for selecting a velocity boundary condition.
@ VelocityInterpolatedCompressible
@ VelocityInterpolatedIncompressible
@ VelocityWithPressureInterpolatedCompressible
void setSurfaceLayerBoundaryCondition(StressBC momentumBoundaryConditionType, SurfaceLayerBC surfaceLayerBoundaryConditionType)
AdvectionDiffusionNeumannBoundaryConditionKernel getAdvectionDiffusionNeumannBoundaryConditionPost() const
DirectionalADBoundaryConditionKernel getAdvectionDiffusionDirectionalBoundaryConditionPost() const
void setSlipBoundaryCondition(BoundaryConditionFactory::SlipBC boundaryConditionType)
AdvectionDiffusionFluxBoundaryConditionKernel getAdvectionDiffusionFluxBoundaryConditionPost() const
StressBC
An enumeration for selecting a stress boundary condition.
@ StressBounceBackWithPressureCompressible
@ StressInterpolatedCompressible
@ StressBounceBackCompressible
void setGeometryBoundaryCondition(std::variant< VelocityBC, NoSlipBC, SlipBC > boundaryConditionType)
set a boundary condition for the geometry param boundaryConditionType: a velocity,...
AdvectionDiffusionDirichletBC
Sets constant value at boundary via Anti bounce back rule.
@ DirichletInterpolatedSlip
@ DirichletAntiBounceBackNoSlip
@ DirichletAntiBounceBackSlip
@ DirichletInterpolatedNoSlip
void setAdvectionDiffusionDirectionalBoundaryCondition(AdvectionDiffusionDirectionalBC boundaryConditionType)
AdvectionDiffusionNoFluxBoundaryConditionKernel getAdvectionDiffusionNoFluxBoundaryConditionPost() const
void setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC boundaryConditionType)
@ PrecursorVelTemperatureDistributions
@ PrecursorNonReflectiveCompressible
AdvectionDiffusionDirectionalBC
Directional non-reflecting outflow for the advection-diffusion (temperature) field.
@ DirectionalOutflowNonReflecting
PrecursorBoundaryConditionKernel getPrecursorBoundaryConditionPost() const
Class for LBM-parameter management.
std::shared_ptr< T > SPtr
std::function< void(LBMSimulationParameter *, AdvectionDiffusionNoFluxBoundaryConditions)> AdvectionDiffusionNoFluxBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, AdvectionDiffusionDirichletBoundaryConditions)> AdvectionDiffusionDirichletBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, AdvectionDiffusionFluxBoundaryConditions)> AdvectionDiffusionFluxBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, QforPrecursorBoundaryConditions *, real timeRatio, real velocityRatio)> PrecursorBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, AdvectionDiffusionNeumannBoundaryConditions)> AdvectionDiffusionNeumannBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, QforDirectionalBoundaryCondition *)> DirectionalBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, QforDirectionalADBoundaryCondition *)> DirectionalADBoundaryConditionKernel
std::function< void(LBMSimulationParameter *, QforBoundaryConditions *)> BoundaryConditionKernel
std::function< void(Parameter *, QforBoundaryConditions *, const int level)> BoundaryConditionWithParameterKernel
struct holds and manages the LB-parameter of the simulation