Wall Model
The WallModel block configures the near-wall closure used by IBM wall boundaries. It controls the type of wall model, the nondimensional sampling used internally, optional transition sensing, and a lightweight solver cadence knob.
All values are interpreted in the global unit system.
Structure
WallModel
{
variant = "<algebraic | ode | none>"
wall_spacing = <number> # nondimensional (scaled by IBM.sample_dist_wm)
temperature_bc = "<adiabatic | number>" # "adiabatic" or an isothermal wall temperature (e.g., 300)
Transition
{
enable_sensor = <true|false>
threshold = <number>
}
Settings
{
solve_skip = <integer>
}
}
Fields
-
variant— selects the wall-model implementation:"algebraic"— algebraic (one-point) wall model.- Temperature BC: forced to adiabatic (any
temperature_bcvalue is ignored).
- Temperature BC: forced to adiabatic (any
"ode"— ODE-based wall model (integrated profile).- Temperature BC: supports both adiabatic (
temperature_bc = "adiabatic") and isothermal (temperature_bc = <number>).
- Temperature BC: supports both adiabatic (
"none"— disables wall modeling; wall BC behavior is determined solely by the chosen surface BC.
-
wall_spacing— nondimensional wall distance used by the model and extrapolation logic.
It is nondimensionalized by the IBM wall-model sampling distance (IBM.sample_dist_wm).
Wall Spacing in the Wall Model
It's recommended to set this to 0.001 and forget about it.
temperature_bc— thermal boundary condition for the wall model:"adiabatic"— adiabatic wall (no heat flux through the wall).<number>— isothermal wall temperature (e.g.,300).- Note: If
variant = "algebraic", the wall model is automatically adiabatic regardless of this setting.
Transition
The Transition sub-block controls a simple transition sensor gate for activating wall-model behavior:
enable_sensor— when true, the wall model uses a sensor to decide whether to apply turbulent wall flux.threshold— sensor threshold for activation. Lower values trigger earlier. Value should be approximately1.0.
Settings
solve_skip— apply the wall-model every N steps (simple substepping throttle).
solve_skip = 1means run the wall-model every step; larger values reduce cost at the risk of lag.
Example
WallModel
{
variant = "algebraic"
wall_spacing = 0.001
temperature_bc = "adiabatic"
Transition
{
enable_sensor = false
threshold = 0.1
}
Settings
{
solve_skip = 1
}
}