Skip to main content

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_bc value is ignored).
    • "ode" — ODE-based wall model (integrated profile).
      • Temperature BC: supports both adiabatic (temperature_bc = "adiabatic") and isothermal (temperature_bc = <number>).
    • "none" — disables wall modeling; wall BC behavior is determined solely by the chosen surface BC.
  • wall_spacingnondimensional 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 approximately 1.0.

Settings

  • solve_skip — apply the wall-model every N steps (simple substepping throttle).
    solve_skip = 1 means 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
}
}