|
MAIA bb96820c
Multiphysics at AIA
|
This page gives an overview over the most important settings for the LB solver.
If you are new to m-AIA make sure to first read the Getting Started (Quickstart) section.
For the general configuration of m-AIA please refer to General application control.
Minimum properties_run.toml file from testcase LB/3D_sphere_Re100_parallel
Minimum geometry.toml file from testcase LB/3D_sphere_Re100_parallel
string none, requiredThe property solverMethod determines which collision step is used in the LB solver.
A List of the available collision steps and their respective values of the property solverMethod is generated here: List of collision steps.
string perpOpThe property interpolationDistMethod controls how the distance of cells to walls (defined by STLs) is calculated. Possible values are:
STD Should probably the standard method for 3D. Most accurate, but slow for STLs with a large number of triangles. Not available for 2D.perpOp Uses the perpendicular operator.sphere Analytical solution for a sphere of radius 0.5 around the origin.pipe Analytical solution for a cylinder through the origin.The different versions are implemented in the function LbBndCndDxQy::calculateWallDistances().
perpOp remains as the default value, but it is recommended to the more accurate STD option for 3D simulations.string FILIPPOVASelects interface method for locally refined meshes.
FILIPPOVA Spatial and temporal interpolation of variables, rescaling of non-eq componentsROHDE Volumetric formulation (no interpolation, no rescaling) float none, requiredThe Reynolds number for the LB solver.
float none, requiredThe Mach number for the LB solver.
There are three different (but exclusive) properties that can be used to specify the reference length for the LB solver. The reference length is the length in the Reynolds number.
float noneThis property sets the reference length in stl units, whereas internally the reference length is converted to LB units.
float noneThis property sets the reference length in multiples of the cell length at the finest refinement level. This corresponds to the reference length that is internally used for nondimensionalization in the LB solver.
int noneWith this property a segment Id (as used in the geometry file) can be specified that is used for the calculation of the reference lenght. For this segment the hydraulic diameter is calculated. The method is described in more detail in the documentation for the inline function LbSolver::calcCharLenAll(MInt segmentId).
boolean falseDetermines if the variables are updated at the end of the time step (after propagation) or at the beginning of the next time step (before the collision). For the default value false the variables that are written to solution files are actually from the previous time step, since they have not been updated. This can also cause problems for coupling purposes
The LB solver provides several initialization conditions. Some of these are quite specific. Others are more general. In the following, only the general ICs are presented. A full list of ICs can be found here: List of initial conditions
string none, requiredThis property determines the initialization procedure during which the initial state (variables and distributions) is set for all cells. The following list documents only the most common methods. For a complete list refer to the documentation of initMethod.
LB_FROM_ZERO_INIT All velocities set to zero, all other variables set to their infinity state. Distributions in equilibrium state.LB_LAMINAR_INIT_PX All initMethods starting with LB_LAMINAR_INIT_ set the velocity in one Cartesian direction to the infinity state, while all other velocities remain zero. The last charachter X, Y, or Z determines the Carteisan direction. The preceding P (plus) or M (minus) determines the sign of the velocity.LB_LAMINAR_INIT_MX see aboveLB_LAMINAR_INIT_PY see aboveLB_LAMINAR_INIT_MY see aboveLB_LAMINAR_INIT_PZ see aboveLB_LAMINAR_INIT_MZ see aboveTo prevent large shocks or instabilities due to initialization with a high Reynolds number, ramping of the Reynolds number periodicCartesianDir = 1, 0, 0is supported. If ramped initialization is enabled by the tanhInit property, the simulation starts at a lower Reynolds number defined by initRe. After a number of timesteps that is defined by initStartTime the Reynolds number is increased following a tanh function. The final Reynolds number (defined by the property Re) is reached after additional initTime time steps.
The boundary conditions have to be specified for all boundary segments in the geometry.toml file.
A complete list of all boundary conditions is generated here: List of LB boundary conditions
There are no strict rules about the naming scheme of the boundary conditions. But as a rule of thumb you can expect the following types of boundary conditions for these Ids:
1xxx Velocity BCs (e.g. inflow)2xxx Bounce back BCs (e.g. walls)4xxx Pressure BCs (e.g. outflow)A segment ID is assigned to each boundary segment in the geometry.toml file.
In the geometry.toml file it has to be defined, what segment ID is assigned to either an inflow or outflow boundary. For such a segment, an extrapolation direction is required, since some of the inflow and outflow boundary conditions require extrapolation from the inner cells to calculate flow quantities at the boundary cells.
The extrapolation directions are defined with the property initVelocityMethod in the properties_run.toml file. If the property is set to read, the normal direction of the boundary segment needs to be specified with an array defined by the property initialVelocityVectors. With the option calcNormal the normal direction is calculated from vertices of the boundary segment, The option fromSTL reads the normal direction from an STL file.
With the property lbControlInflow in the properties_run.toml file, the velocity profile at inflow boundaries can be prescribed. Per default (lbControlInflow=0) a profile with a uniform inflow velocity is used. If an inflow boundary shall have a parabolic velocity profile (lbControlInflow=1), its segment ID needs to be added to the property inflowSegmentIds in the properties_run.toml file.
For imposing periodic boundary conditions the corresponding segment IDs need to be specified in the geometry.toml file with the property periodicSegmentsIds. Additionally, the property periodicCartesianDir needs to be determined in the properties_run.toml file, in form of a vector that points into the direction in which the grid should be periodic.
If you want to learn how to enable AMR for you simulation, read here. The list of all available sensors for the LB solver can be found here.