|
| struct | BulkDensity |
| | Standard computation for density in the bulk as zeroth moment of the population. More...
|
| |
| struct | BulkMomentum |
| | Standard computation for momentum in the bulk as first moment of the population. More...
|
| |
| struct | BulkPressure |
| | Computation of hydrodynamic pressure as zeroth moment of the population. More...
|
| |
| struct | BulkStress |
| | Standard stress computation as second moment of the population. More...
|
| |
| struct | ComputeRhoU |
| | Partially-specializable rho and u computation. More...
|
| |
| struct | ComputeRhoU< BASE, BulkDensity, BulkMomentum > |
| |
| struct | ConcreteTuple |
| | Tuple of momenta components forming a moment system. More...
|
| |
| struct | DefineSeparately |
| | The momenta are defined one after the other. More...
|
| |
| struct | DefineToEq |
| | When momenta are changed, a new equilibrium state is set. More...
|
| |
| struct | DefineToNEq |
| | When momenta are changed, the equilibrium part of the population is modified while the non-equilibrium part is kept. More...
|
| |
| struct | DefineUSeparately |
| | defineRho leads to a new non-equilibrium population, defineU only sets the velocity data. More...
|
| |
| struct | DefineUSeparatelyTrace |
| | defineRho leads to a new non-equilibrium population, defineU only sets the velocity data. More...
|
| |
| struct | FixedDensity |
| | The density is fixed and stored in the external field RHO. More...
|
| |
| struct | FixedPressureMomentum |
| | The velocity is stored in the external field U, except for the component "direction", which is computed by means of the population and the pressure. More...
|
| |
| struct | FixedStress |
| | The stress is fixed and stored in the external field PI. More...
|
| |
| struct | FixedTemperatureMomentum |
| | The conduction is computed from density and population. More...
|
| |
| struct | FixedVelocityMomentum |
| | The velocity is stored in the external field descriptors::VELOCITY. More...
|
| |
| struct | FixedVelocityMomentumAD |
| | The first moment (the heat conduction) is fixed. More...
|
| |
| struct | FixedVelocityMomentumGeneric |
| | The velocity is fixed and stored in the external field U. More...
|
| |
| struct | Forced |
| |
| struct | ForcedIncompressibleStress |
| |
| struct | ForcedMomentum |
| |
| struct | ForcedPSMMomentum |
| |
| struct | ForcedStress |
| |
| struct | ForcedWithIncompressibleStress |
| |
| struct | ForcedWithStress |
| |
| struct | FreeEnergyInletOutletDensity |
| | The density is stored in descriptors::FORCE[0] (TODO: absurd, to be changed) More...
|
| |
| struct | FreeEnergyInletOutletMomentum |
| |
| struct | FreeEnergyMomentum |
| |
| struct | GuoZhaoForced |
| |
| struct | GuoZhaoForcedMomentum |
| |
| struct | GuoZhaoForcedStress |
| |
| struct | GuoZhaoForcedWithStress |
| |
| struct | GuoZhaoMomentum |
| |
| struct | HeatFluxBoundaryDensity |
| | For fixed heat flux, the density is computed from flux, velocity and populations, similar to fixed velocity boundaries. More...
|
| |
| struct | IncompressibleBulkMomentum |
| |
| struct | IncompressibleBulkStress |
| | Standard stress computation as second moment of the population. More...
|
| |
| struct | InnerCornerDensity2D |
| |
| struct | InnerCornerDensity3D |
| |
| struct | InnerCornerStress2D |
| | Computation of the stress tensor in an inner corner (2D case) More...
|
| |
| struct | InnerCornerStress3D |
| | Computation of the stress tensor in an inner corner (3D case) More...
|
| |
| struct | InnerEdgeDensity3D |
| |
| struct | InnerEdgeStress3D |
| | Computation of the stress tensor in an inner edge. More...
|
| |
| struct | MovingPorousMomentum |
| | Momentum of a moving porous medium. More...
|
| |
| struct | MovingPorousMomentumCombination |
| |
| struct | MovingPorousMomentumCombinationNoWM |
| |
| struct | MovingPorousStress |
| |
| struct | NoStress |
| | Access to the stress computation is forbidden and raises an error. More...
|
| |
| struct | OffBoundaryMomentum |
| | For offLattice boundary conditions. More...
|
| |
| struct | OneDensity |
| |
| struct | P1Momentum |
| | Momentum computation for P1 dynamics. More...
|
| |
| struct | PoissonMomentum |
| | Momentum computation for Poisson dynamics. More...
|
| |
| struct | Porous |
| |
| struct | PorousGuoMomentum |
| |
| struct | PorousMomentum |
| |
| struct | PorousParticle |
| |
| struct | PorousParticleMomentum |
| |
| struct | PressureBoundaryMomentum |
| | The velocity is stored in the external field U, except for the component "direction", which is computed by means of the population and the pressure. More...
|
| |
| struct | RegularizedBoundaryStress |
| | Computation of the stress tensor for regularized boundary nodes. More...
|
| |
| struct | SourcedDensity |
| |
| struct | Tuple |
| |
| struct | VelocityBoundaryDensity |
| | Density computation for fixed velocity boundary. More...
|
| |
| struct | VelocityBoundaryPressure |
| | Pressure computation for fixed velocity boundary. More...
|
| |
| struct | ZeroDensity |
| |
| struct | ZeroMomentum |
| | Momentum is zero at solid material. More...
|
| |
| struct | ZeroStress |
| | The stress is always zero. More...
|
| |
|
| template<typename T , typename DESCRIPTOR > |
| using | BulkDynamics |
| |
| template<typename T , typename DESCRIPTOR > |
| using | available_dynamics |
| |
| using | BulkTuple |
| | Standard computation of momenta from the populations in the bulk.
|
| |
| template<typename MOMENTUM > |
| using | IncBulkTuple |
| | Incompressible Allen-Cahn computation of momenta from the populations in the bulk.
|
| |
| using | ExternalVelocityTuple |
| | The Velocity is stored in descriptors::VELOCITY (and computed e.g.
|
| |
| using | ExternalVelocityFixedDensityTuple |
| | The Velocity is stored in descriptors::VELOCITY (and computed e.g.
|
| |
| using | AdvectionDiffusionBulkTuple |
| | Collection of momenta for advection diffusion situations rho describes the temperature/ particle concentration, while j describes the convective transport and u is the transport rate.
|
| |
| template<int direction, int orientation> |
| using | RegularizedTemperatureBoundaryTuple |
| | Momenta collection for advection diffusion boundary with fixed temperature rho describes the temperature, while j describes the (heat) transport (= flux + convective transport) and u is the conduction/ flux.
|
| |
| template<int direction, int orientation> |
| using | RegularizedHeatFluxBoundaryTuple |
| | Momenta collection for advection diffusion boundary with fixed heat flux rho describes the temperature, while j describes the (heat) transport (= conduction + convective transport) and u is the conduction/ flux.
|
| |
| using | EquilibriumBoundaryTuple |
| | Velocity and density are stored in external fields.
|
| |
| template<int direction, int orientation> |
| using | RegularizedVelocityBoundaryTuple |
| | Regularized velocity boundary node.
|
| |
| template<int direction, int orientation> |
| using | RegularizedPressureBoundaryTuple |
| | Regularized pressure boundary node.
|
| |
| template<int direction, int orientation> |
| using | BasicDirichletVelocityBoundaryTuple |
| | Velocity boundary node.
|
| |
| template<int direction, int orientation> |
| using | IncDirichletVelocityBoundaryTuple |
| | Velocity boundary node.
|
| |
| template<int direction, int orientation> |
| using | BasicDirichletPressureBoundaryTuple |
| | Pressure boundary node.
|
| |
| template<int direction, int orientation> |
| using | IncDirichletPressureBoundaryTuple |
| | Pressure boundary node.
|
| |
| using | FixedVelocityBoundaryTuple |
| | In this class, the velocity is fixed As opposed to VelocityBM, the pressure is however not computed from a special trick on the boundary, but the same way it would be in the bulk.
|
| |
| template<int... Normal> |
| using | InnerCornerVelocityTuple2D |
| |
| template<int... PlaneAndNormal> |
| using | InnerEdgeVelocityTuple3D |
| |
| template<int... Normal> |
| using | InnerCornerVelocityTuple3D |
| |
| template<typename DENSITY , typename MOMENTUM > |
| using | GenericSolidMaterialTuple |
| | Wrapper alias for solid and wet nodes.
|
| |
| using | PoissonTuple |
| |
| using | P1Tuple |
| |
| using | None |
| |
| using | FreeEnergyBulkTuple |
| |
| using | ForcedPSMBulkTuple |
| |
| template<typename MOMENTA > |
| using | Identity = MOMENTA |
| |
|
| template<int direction, int orientation, typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t> |
| V | velocityBMRho (CELL &cell, const U &u) any_platform |
| |
| template<int direction, int orientation, typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t> |
| V | velocityBMP (CELL &cell, const U &u) any_platform |
| |
| template<int direction, int orientation, typename CELL , typename U , typename FLUX , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t> |
| V | heatFluxBMRho (CELL &cell, const U &u, FLUX &flux) any_platform |
| |
template<int direction, int orientation>
Initial value: Tuple<
HeatFluxBoundaryDensity<direction,orientation>,
FixedVelocityMomentumAD,
NoStress,
DefineToEq
>
Momenta collection for advection diffusion boundary with fixed heat flux rho describes the temperature, while j describes the (heat) transport (= conduction + convective transport) and u is the conduction/ flux.
stress does not occur in this model and must not be computed.
Definition at line 110 of file aliases.h.
template<int direction, int orientation>
Initial value: Tuple<
FixedDensity,
FixedTemperatureMomentum<direction,orientation>,
NoStress,
DefineSeparately
>
Momenta collection for advection diffusion boundary with fixed temperature rho describes the temperature, while j describes the (heat) transport (= flux + convective transport) and u is the conduction/ flux.
stress does not occur in this model and must not be computed.
Definition at line 95 of file aliases.h.
template<int direction, int orientation, typename CELL , typename U , typename FLUX , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
| V olb::momenta::heatFluxBMRho |
( |
CELL & | cell, |
|
|
const U & | u, |
|
|
FLUX & | flux ) |
Definition at line 97 of file elements.h.
98{
99 V rho = velocityBMRho<direction,orientation>(cell, u);
100 rho -= orientation * flux / (V{1} + orientation * u[direction]);
101 return rho;
102}
References velocityBMRho().
template<int direction, int orientation, typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
| V olb::momenta::velocityBMP |
( |
CELL & | cell, |
|
|
const U & | u ) |
Definition at line 74 of file elements.h.
75{
76 constexpr auto onWallIndices = util::populationsContributingToVelocity<DESCRIPTOR,direction,0>();
77 constexpr auto normalIndices = util::populationsContributingToVelocity<DESCRIPTOR,direction,orientation>();
78
79 auto rho = cell.template getField<descriptors::RHO>();
80
81 V pOnWall{};
82 for (auto e : onWallIndices) {
83 pOnWall += cell[e];
84 }
85 pOnWall -= cell[0];
86
87 V pNormal{};
88 for (auto e : normalIndices) {
89 pNormal += cell[e];
90 }
91
92 return ((V{2}*pNormal+pOnWall-rho*orientation*u[direction])/descriptors::invCs2<V,DESCRIPTOR>()
93 -0.5*rho*descriptors::t<V,DESCRIPTOR>(0)*u[direction]*u[direction]) / (V{1}-descriptors::t<V,DESCRIPTOR>(0));
94}
References olb::descriptors::invCs2(), olb::util::populationsContributingToVelocity(), and olb::descriptors::t().
template<int direction, int orientation, typename CELL , typename U , typename V = typename CELL::value_t, typename DESCRIPTOR = typename CELL::descriptor_t>
| V olb::momenta::velocityBMRho |
( |
CELL & | cell, |
|
|
const U & | u ) |
Definition at line 55 of file elements.h.
56{
57 constexpr auto onWallIndices = util::populationsContributingToVelocity<DESCRIPTOR,direction,0>();
58 constexpr auto normalIndices = util::populationsContributingToVelocity<DESCRIPTOR,direction,orientation>();
59
60 V rhoOnWall{};
61 for (auto e : onWallIndices) {
62 rhoOnWall += cell[e];
63 }
64
65 V rhoNormal{};
66 for (auto e : normalIndices) {
67 rhoNormal += cell[e];
68 }
69
70 return (V{2}*rhoNormal+rhoOnWall+V{1}) / (V{1}+orientation*u[direction]);
71}
References olb::util::populationsContributingToVelocity().