Skip to main content

Supported Domain Boundary Conditions

The DomainBC block assigns domain-level (outer-box) boundary conditions on each Cartesian face:

  • Xmin, Xmax
  • Ymin, Ymax
  • Zmin, Zmax

Each face defines a single specifier and, depending on that specifier, a small set of parameters. All inputs are in the solver’s global unit system and can reference values from the Dictionary using the same syntax as elsewhere (e.g., Qinf::pinf, Qinf::uinf).

Expressions that require primitive variables (e.g., P, U, V, W, T) use the primitive set of the selected physics model. For ideal_gas this is P, U, V, W, T; see Physics Models for other models.

note

Subdomains: For subdomains of the primary domain, boundary conditions are inferred from the parent domain and cannot be set explicitly.

Structure

DomainBC
{
Xmin
{
specifier = "<type>"
... parameters ...
}
Xmax
{
specifier = "<type>"
... parameters ...
}
Ymin { ... }
Ymax { ... }
Zmin { ... }
Zmax { ... }
}
  • You may assign one boundary condition per face.
  • Vector quantities and directions are interpreted in the global frame.
  • Some specifiers require a full set of primitives (one expression per primitive variable).
  • For subsonic outlet/inlet conditions, formulas blend interior and target states using Riemann-invariant logic (as in the code).

Supported specifiers and parameters

All dictionary references use the standard syntax (e.g., Qinf::pinf) and can be numeric expressions.

Inflow / Outflow

  • supersonic_inflow
    Provide all primitives (one expression per primitive variable). This sets the full freestream state at the boundary.

    • Required: P, T, U, V, W.
  • subsonic_inflow
    Provide all primitives. The boundary state is adjusted using interior information (Blazek-style).

    • Required: P, T, U, V, W.
  • stagnation_subsonic_inflow
    Specify total (stagnation) conditions; tangential velocities are driven to zero; normal velocity derived.

    • Required:
      • total_pressure
      • total_temperature
      • (Multispecies): mass fractions per species (as supported by the model).
  • supersonic_outflow
    No parameters. First-order extrapolation of the interior state to the boundary.

  • pressure_outlet
    Set static back pressure for subsonic outflow; supersonic behaves like extrapolation.

    • Required: P.
  • velocity_outflow
    Prescribe normal velocity at the boundary, with pressure/temperature recovered via Riemann invariants (subsonic).

    • Required: normal_velocity (scalar).
  • mach_outlet
    Target a boundary Mach number for subsonic outflow; supersonic uses total-pressure continuation.

    • Required: mach_number.
  • farfield
    Riemann-invariant farfield that blends interior and freestream depending on local Mach and flow direction.
    Provide all primitives to define the farfield state:

    • Required: P, T, U, V, W.

Walls / Symmetry / Periodicity / Misc

  • slipwall
    Tangential velocity is extrapolated; wall-normal velocity is cancelled (inviscid slip).

    • Parameters: none.
  • noslipwall
    No-slip condition with optional fixed wall temperature or radiative treatment.

    • Optional:
      • wall_temperature (number ⇒ isothermal; omitted/negative ⇒ adiabatic)
      • radiative (bool), emissivity (number), reference_temperature (number)
      • wall_dir (int, 0/1/2) and xyz (number) — optional logic for starting a no-slip segment along a coordinate direction (as in code).
    • Notes: Radiative variant is not fully supported yet (experimental).
  • symmetry
    Zero normal velocity and zero normal gradients on other quantities.

    • Parameters: none.
  • periodic
    Periodic boundary (face pairs).

    • Parameters: none. (Configured by pairing faces in the overall setup.)
  • frozen
    Leaves the ghost state unchanged (useful for certain experiments).

    • Parameters: none.

Tips and guidance

  • For external aerodynamics in a sufficiently large box, prefer:
    • Upstream: farfield or subsonic_inflow / stagnation_subsonic_inflow (jets).
    • Downstream: farfield or pressure_outlet for wakes.
    • Lateral/upper faces: farfield or symmetry when justified by problem symmetry.
  • Supersonic conditions: use supersonic_inflow for inlets; supersonic_outflow for exits.
  • Rough rule: pressure_outlet/mach_outlet only “take control” in subsonic outflow; otherwise extrapolation dominates.
  • All expressions/values are in the global frame and global units.

Example

DomainBC
{
Xmin
{
specifier = "supersonic_inflow"
P = "Qinf::pinf"
T = "Qinf::Tinf"
U = "Qinf::uinf"
V = "Qinf::vinf"
W = "Qinf::winf"
}
Xmax
{
specifier = "supersonic_outflow"
}
Ymin
{
specifier = "supersonic_outflow"
}
Ymax
{
specifier = "supersonic_outflow"
}
Zmin
{
specifier = "symmetry"
}
Zmax
{
specifier = "supersonic_outflow"
}
}