MAIA bb96820c
Multiphysics at AIA
|
MB
are set through moving-boundary properties, not a normal BC Id.0
MB
Applies no-slip boundary condition to moving boundaries The bounce back scheme can be chosen via property.
[in] | set | The boundary condition is applied to all cells which belong to this level set. |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc66666(MInt set)
MB
Applies pressure boundary condition to moving boundaries
The quadratic Bouzidi anti bounce back is used.
[in] | set | The boundary condition is applied to all cells which belong to this level set. |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc66668(MInt set)
2000
Lattice Boltzmann enhanced no slip (bounce back) condition for inclined walls. Bouzidi 2001 (aka "BFL rule")
There are "dry" nodes and "wet" nodes (cell is center inside/outside). Dry nodes do not take part in the collision/streaming process. An interpolated distribution is reflected at a certain point between the cell centers. If the wall is located exactly halfway between the nodes this condition reduces to simple halfway bounce-back. Must be performed after propagation.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20000(MInt index)
2001
Lattice Boltzmann no slip (halfway bounce-back) condition
If no neihbor exists in outgoing direction, the outgoing distribution is reflected. -> The wall is located at the outer cell edge. Must be performed after propagation.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20001(MInt index)
2002
Lattice Boltzmann no slip (bounce back) condition
If no neihbor exists in incoming direction, the incoming distribution is reflected. -> The wall is located at the cell center! Must be performed after collision and BEFORE propagation.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20002(MInt index)
2003
Lattice Boltzmann no slip (bounce back) condition
no slip condition for periodic channel pressure is extrapolated velocity is set to zero
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20003(MInt index)
2004
Lattice Boltzmann enhanced no slip (bounce back) condition for inclined walls. Haenel 1998, improved by Mei 1999/2000
There are "dry" nodes and "wet" nodes (cell is center inside/outside). Dry nodes do not take part in the collision/streaming process. An interpolated distribution is reflected at a certain point between the cell centers. If the wall is located exactly halfway between the nodes this condition reduces to simple halfway bounce-back. Must be performed after propagation.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20004(MInt index)
LBBC{secLBBC_bc20005, bc20005, 2005}
Wall bc with extrapolation of non-eq (Guo)
2020
Lattice Boltzmann enhanced no slip (bounce back) condition for inclined walls. Bouzidi 2001 (aka "BFL rule" - see BC20000) including Thermal LBGK.
At the moment only the equilibrium distribution functions are evaluated for all cells having a cut. No BFL-rule is applied to Thermal LBGK.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20020(MInt index)
2023
Lattice Boltzmann no slip (bounce back) condition
If no neihbor exists in incoming direction, the incoming distribution is reflected. -> The wall is located at the cell center! Must be performed after collision and BEFORE propagation. This is an extension of BC 2002 for Thermal LBGK.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20023(MInt index)
2022
Lattice Boltzmann enhanced no slip (bounce back) condition for inclined walls. Bouzidi 2001 (aka "BFL rule" - see BC20000) including Thermal LBGK.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20022(MInt index)
2024
Lattice Boltzmann no slip (bounce back) condition
no slip condition for periodic channel pressure is extrapolated velocity is set to zero Similar to BC2003 including Thermal LBGK
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20024(MInt index)
2025
Wall BC for thermal flows
Sets the equilibrum distribution functions for given macroscopic variables.
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20025(MInt index)
2026
Lattice Boltzmann no slip condition also for Thermal LBGK
If no neihbor exists in outgoing direction, the outgoing distribution is reflected. The wall is located at the outer cell edge. Must be performed after propagation.
The temperture of the wall sided cells is evaluated based on the current temperature and the wall temperature. A ghost layer is initialized holding the inner wall temperatures. The eq-dist functions are calculated and a bounce back is performed for the temperature.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20026(MInt index)
2027
Lattice Boltzmann no slip interpolated bounce-back condition also for Thermal LBGK
This BC applies BC 2000 for the velocity and the density. In contrast to BC 2026 this BC allows the definition of an interpolated temperature dependent on the distance to the wall. The algorithm is divided into two parts:
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20027(MInt index)
205x
Haenel wall bc with non zero velocity planar wall moving at v=Ma*c_s along axis-direction
direction | Wall orientation in Cartesian direction |
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::slidingWall(MInt index)
2220
Lattice Boltzmann enhanced no slip (bounce back) condition for inclined walls. Bouzidi 2001 (aka "BFL rule" - see BC20000) including Thermal LBGK.
At the moment only the equilibrium distribution functions are evaluated for all cells having a cut. No BFL-rule is applied to Thermal LBGK.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20220(MInt index)
Initialize bc20222 and bc20223. To apply the interpolated bounce back scheme with a prescribed thermal flux as a Neumann condition we need to know the number of missing distributions to calculate the factor to split the wall normal flux.
[in] | index | Boundary index |
2220
Haenel wall bc with non zero velocity and thermal treatment
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20230(MInt index)
3000
extrapolation of incoming distributions in arbitrary direction (rhs)
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc30000(MInt index)
performes an interpolated bounce back as proposed by Bouzidi et al. 2001
In contrast to interpolatedBounceBackSingleSpecies, this additionally checks for neighboring cells that lie on the other side of two walls and yields constitency if two neighbors want to modify the same cell.
[in] | cellId | the ID of the current wall-cell |
performes an interpolated bounce back for thermal as proposed by Like Li et al. 2012
This function implement bounce back idea to thermal boundary condition.
[in] | cellId | Cell id of current boundary cell |
[in] | wT | Wall temperature at boundary cell |
performes an interpolated bounce back for transport phenomena as proposed by Like Li et al. 2012
This function implement bounce back idea to transport boundary condition.
[in] | cellId | Cell id of current boundary cell |
[in] | wC | Wall concentration at boundary cell |
Calculates the source term for the zeroth moment with is required for thermal bounce back schemes (Li et al. 2012)
This function calculates the source term for the zeroth moment for bounce back schemes. The template mode switches between the different types of equilibrium functions, e.g., mode = 0 corresponds to the standard Eq. function, mode = 1 corresponds to the inner energy Eq., and mode = 2 corresponds to the total energy Eq.
mode | EQ distribution type: 0=standard, 1=inner energy, 2=total energy |
[in] | pCellId | Cell id of current boundary cell |
[in] | dist | Current direction of the PPDF |
[in] | var | Value of the variable used for the source term |
[in] | uW | wall velocity |
performes an interpolated bounce back for thermal LBGK with a heat flux to the wall normal proposed by Like Li et al. 2012
This function implement bounce back idea to thermal boundary condition with a heat flux.
[in] | cellId | Boundary cell id of current boundary cell |
[in] | qT | Magnitude of the heat flux normal to the boundary wall |
[in] | bcIndex | Index of the boundary condition |
Calculates the distances through a specified sublayer in each distribution direction.
[in] | cellId | Cell id of current boundary cell |
[in] | index | index of the current BC |
Calculates the interface concentration and temperature for the interpolated bounce back in each distribution direction.
[in] | cellId | Cell id of current boundary cell |
[in] | index | index of the current BC |
Applies interpolated anti bounce back to given moving boundary cell
For reference, see Dubois et al., On anti bounce back boundary condition for lattice Boltzmann schemes https://arxiv.org/abs/1812.04305
[in] | cellIndex | Moving boundary cell the BC is applied to |
[in] | set | The boundary condition is applied to all cells which belong to this level set. |
Calculates the equilibrium PPDFs for walls
[in] | pCellId | Current cell id |
Calculates the equilibrium PPDFs for walls for thermal LBGK
[in] | pCellId | Cell id of current boundary cell |
[in] | wT | Wall temperature |
Calculates the equilibrium PPDFs for walls for transport LBGK
[in] | pCellId | Cell id of current boundary cell |
[in] | wC | Wall concentration |
Extrapolates inner variables to a cell
Note that if no neighbors in the extrapolation directions exist, then no value is assigned to p_var.
[in] | index | Index of the BC |
[in] | pCellId | Cell id |
[out] | p_var | Pointer to the density |
Extrapolates inner velocities to a cell
Note that if no neighbors in the extrapolation directions exist, then no value is assigned to the velocities.
[in] | index | The index of the BC |
[in] | pCellId | Cell id |
[out] | l_uu | Pointer to the velocity |
1000
Lattice Boltzmann inflow boundary condition
Diriclet condition with prescribed eq-distributions. Velocity vector is read from properties and prescribed on boundary.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10000(MInt index)
1001
Lattice Boltzmann inflow boundary condition
Diriclet condition with prescribed eq-distributions. Velocity vector is read from properties and prescribed on boundary.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10001(MInt index)
1002
Lattice Boltzmann inflow boundary condition
Velocities are prescribed, rho is extrapolated from inside; only valid for channel with center \(y=0\). Density \(\rho\) is extrapolated from neighbors inside. The prescirbed profile is the parabolic one for channel flows (see script Schroeder).
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10002(MInt index)
1003
Simple Dirichlet boundary condition u=mach number. Macroscopic values are prescribed and a pseudo collision step is performed, which overwrites the distributions computed by the real collision step.
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10003(MInt index)
Lattice Boltzmann inflow boundary condition
Velocities are prescribed, rho is extrapolated from inside; only valid for channel with center \(y=0\). Density \(\rho\) is extrapolated from neighbors inside. The prescirbed profile is the parabolic one for channel flows (see script Schroeder).
Edited from bc1002 to accept non-Newtonian fluid
[in] | index | the index of the BC |
1022
Lattice Boltzmann inflow boundary condition similar to 10002 but with thermal treatment
Velocities are prescribed, rho is extrapolated from inside; only valid for channel with center \(y=0\). Density \(\rho\) is extrapolated from neighbors inside. The prescirbed profile is a combination of Coutte and Poiseuille flow. The temperature is set to ambient temperature.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10022(MInt index)
2030
Haenel wall bc with non zero velocity
LbBndCndDxQy<nDim, nDist, SysEqn>::bc20030(MInt index)
Calculation of the wall forces for walls (single solver)
Based on the momentum exchange of the PPDFs and the wall
[in] | index | the index of the BC |
Calculation of the wall forces for moving walls described by a level set
Based on the momentum exchange of the PPDFs and the wall
[in] | set | Index of the level set |
1050
Lattice Boltzmann inflow boundary condition
Diriclet condition with prescribed eq-distributions. As a velocity vector the reference velocity is used and prescribed on boundary for direction X. Density is set to rho = 1.0.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10050(MInt index)
1060
Inlet boundary condidtion similar to bc10000 including Thermal boundary treatment (also available for inner energy distribution function)
Temperature is prescribed on boundary and eq-PPFDs are evaluated.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10060(MInt index)
1061
Inlet boundary condidtion similar to bc10000 including Thermal boundary treatment. Blasius profile is prescribed.
A Blasius solution is prescribed for the velocity and temperature.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10061(MInt index)
Lattice Boltzmann inflow boundary condition similar to BC1060 but for concentration transport. Inflow concentration is set to 0.
[in] | index | the index of the BC |
1070
Neumann density BC adjusting the local mass flux to be idential to rho_0*Ma*Cs
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10070(MInt index)
1080
Lattice Boltzmann inflow boundary condition for pulsatile flow
Diriclet condition with prescribed eq-distributions, the velocity vector is read from properties and prescribed on boundary. Volume flux varies over time sinusodially.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10080(MInt index)
1111
Boundary cells are set to equilibrium with initialVelocityVecs.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10111(MInt index)
4000
Lattice Boltzmann inflow boundary condition
Diriclet condition for the density rho, which is read from the properties file. This implements the non-reflecting boundary condition from Finck, Haenel, (2007), https://doi.org/10.1016/j.compbiomed.2006.06.013, according to either
\[ \rho = \frac{1}{2} \rho_{old} + \frac{1}{c_{s}} * ||\vec{v}|| - ||\vec{v}_{old}|| + (\rho_{prop}-1) \]
or
\[ \rho = \frac{1}{2} \rho_{old} + \frac{1}{c_{s}} * ||\vec{v}|| - ||\vec{v}_{old}|| + \rho_{prop} \]
depending on the property m_densityFluctuations. Additionally a von Neumann condition is applied for the velcoity. Note that in the rare case that the extrapolation directions have not been found (-1) or the according neighbors in all extrapolation directions are missing, the velocity is set to 0. This was a wrong implemnetation in the previous version of this algorithm, which set the velocity to some arbitrary value still stored in memory from a previous calculation.
[in] | index | the index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40000(MInt index)
4020
Enforce density at boundary (Dirichlet condition)
The mean density at inflow is relaxed against the fixed density value.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40020(MInt index)
Lattice Boltzmann inflow boundary condition TODO labels:LB called nowhere Do nothing condition in axis direction: only for LBGK!!! (rhs)
[in] | index | Boundary index |
[in] | direction | Boundary orientation in Cartesian direction |
4030
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40030(MInt index)
4070
Lattice Boltzmann inflow boundary condition as proposed by Ingold Hoerschler
Using the equation of Saint Vernant and Wanzel, one can obtain the pressure by using
\[p_1 = p_0\left(1 - \frac{\gamma - 1}{2\gamma}\cdot\frac{\rho_0}{p_0}\cdot v_0^2\right)^{\frac{\gamma}{\gamma -1}}\]
A non-dimensionalization with
\[\rho^\ast = \frac{\rho}{\rho_0},\quad c_{s}^{\ast} = \frac{c_s}{\xi_0},\quad v^{\ast} = \frac{v}{\xi_0}\]
and using
\[p=\rho c_s^2\]
,
\[c_s=\frac{1}{\sqrt{3}}\xi_0\]
and extending with
\[\frac{\rho^{\ast^2}}{\rho^{\ast^2}}\]
leads to
\[\rho_{i+1}=\left(1 - \frac{\gamma - 1}{2\gamma}\cdot \frac{3}{\rho^{\ast^2}_{i}}\left(\rho^{\ast} v^\ast\right)^2\right)^{\frac{\gamma}{\gamma -1}}\]
So, first all the velocities are extrapolated to the boundary cells and the new density ratio is calculated
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40070(MInt index)
4071
Lattice Boltzmann outflow boundary condition with prescribed pressure at outlet
This BC holds the density ratio at a level provided by m_rho1 and extrapolates the velocities.
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40071(MInt index)
4072
Lattice Boltzmann outflow boundary condition with adjusting pressure at outlet
This BC adjusts the density ratio to obtain a volumeflux given by the Reynolds number.
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40072(MInt index)
recalculates the local density for BC 4073
This function is only executed onece per timestep in case the interval for adaption is met or a report has to be written to disk.
[in] | index | Boundary index |
4073
Lattice Boltzmann outflow boundary condition with adjusting pressure at outlet.
This BC adjusts the density ratio to obtain a volumeflux given by the Reynolds number. In contrast the local Reynolds number is not measured at the BC location but somewhere else in the flow field, i.e., at a location defined in the geometry file.
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40073(MInt index)
4080
This is the same as bc40070, except that it additionally prescribes an inflow temperature
For more details refer to bc40070. The temperture is set to the reference temperature. In general, the wall gets the different temperature.
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40080(MInt index)
4081
Lattice Boltzmann outflow boundary condition with prescribed pressure at outlet
This BC holds the density ratio at a level provided by m_rho1 and extrapolates the velocities and the temperature.
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40081(MInt index)
4082
Lattice Boltzmann outflow boundary condition with adjusting pressure and extrapolating temperature at the outlet
Similar to BC 40072, but with additional extrapolation of the temperature
[in] | index | the index of the segment of this BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40082(MInt index)
Initialization of BC 4072 or 4082 after restart to determine deltaRho, ReLast and rhoLast
[in] | index | the index of the segment of this BC |
4100
Outlet boundary condidtion similar to bc40000 including Thermal boundary treatment.
[in] | index | index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40100(MInt index)
4110
Outlet boundary condition similar to bc40110 including Thermal boundary treatment.
This BC is similar to BC40100, except that the temperature is extrapolated from the inside.
[in] | index | index of the BC |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40110(MInt index)
Outlet boundary condition similar to bc40110 including Transport boundary treatment.
This BC is similar to BC40100, except that the concentration is extrapolated from the inside.
[in] | index | index of the BC |
1010
extrapolation Chen, Martinez 1996, prescribed velocity for arbitrary directions (lhs)
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10010(MInt index)
1020
4130
Guo, Extrapolation of velocity and non-eq parts
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40130(MInt index)
301x
Simple condition which sets the incoming distributions to the last inner value (rhs) in a given axis direction
direction | Boundary orientation in Cartesian direction |
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::outflow(MInt index)
3020
Lattice Boltzmann slip wall boundary condition for Cartesian planes
Slip wall condition for Cartesian walls
TODO labels:LB,totest THERMAL: Untested for thermal.
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::slipFlow(MInt index)
303x
direction | Boundary orientation in Cartesian direction |
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::outflowLinear(MInt index)
4060
Pressure anti bounce back method (I. Ginzburg et al. 2008) see also: Izquierdo et al. 2008
constant pressure is prescribed for a boundary located at q=1/2 velocity is extrapolated
[in] | index | Boundary index |
LbBndCndDxQy<nDim, nDist, SysEqn>::pab(MInt index)
calculates the averaged flow values at a certain outlet/inlet
Attention: This function is assuming the compressible LBM formulation, i.e. a_variable storing rho*u
[in] | index | Boundary index (as specified in the geometry file) for wich is output is written |
calls refill-function corresponding to the refillMethodOrder, defined by property "refillMethodOrder"
[in] | pCellId | Cell id of the newly emerged cell |
Initialize emerged cell by performing linear extrapolation in boundary normal direction
[in] | pCellId | Cell id of the newly emerged cell |
Initialize emerged cell by performing quadratic extrapolation in boundary normal direction
[in] | pCellId | Cell id of the newly emerged cell |
Extrapolates velocity to all moving boundary surfaces
Calculate characetristic values based on LODI-equations at (x_b, t+1)
[in] | cellId | cellId of the boundary cell |
[out] | rho_b | Characteristic density at boundary cell |
[out] | u_b | Charecteristic velocity at boundary cell |
Calculate characetristic values based on LODI-equations at (x_b+1/2, t-1/2)
[in] | index | Index of the boundary condition |
[in] | direction | Direction the boundary outward normal is pointing to |
[in] | bndCellId | cellId of the cell in boundary context |
[out] | rho_b | Characteristic density at boundary cell + dx/2 for t-1/2 |
[out] | u_b | Charecteristic velocity at boundary cell + dx/2 for t-1/2 |
104x
Non-reflecting characteristic BC Izquierdo et al. 2008: https://doi.org/10.1103/PhysRevE.78.046707 The velocity is set to Ma*c_s, in opposite boundary normal direction
LbBndCndDxQy<nDim, nDist, SysEqn>::charVelocity(MInt index)
1046
Non-reflecting BC based on LODI - setting equilibrium
Izquierdo et al. 2008: https://doi.org/10.1103/PhysRevE.78.046707
LbBndCndDxQy<nDim, nDist, SysEqn>::bc10046(MInt index)
404x
Non-reflecting characteristic BC Izquierdo et al. 2008: https://doi.org/10.1103/PhysRevE.78.046707 The density is relaxed to 1.0 at the in- or outflow. The characteristics are solved at x_b = x+dq/2 and the solution is saved in m_formerVariables for the next timestep.
LbBndCndDxQy<nDim, nDist, SysEqn>::charPressure(MInt index)
4046
Non-reflecting BC based on LODI - setting equilibrium
LbBndCndDxQy<nDim, nDist, SysEqn>::bc40046(MInt index)
405x
Non-reflecting characteristic bc according to Izquerdo et al. 2008 - combined with bc40030 The density is set to 1.0 at the in- or outflow.
LbBndCndDxQy<nDim, nDist, SysEqn>::charPressure2(MInt index, MInt direction)