Fluid Properties / Physics Models
The Properties block selects the physics model (ideal gas, multi-species, etc.) and configures the equation of state and transport laws used by the solver. All values use the global unit system and may be expressions resolved against the Dictionary.
Structure
Properties
{
phys_model = "<model-name>" # e.g., ideal_gas
gamma = "<expr>" # ratio of specific heats (ideal_gas)
Rgas = "<expr>" # specific gas constant (ideal_gas)
visc = "<expr>" # reference dynamic viscosity (see viscosity_model)
pran = "<expr>" # Prandtl number for laminar transport
pranT = "<expr>" # (optional) thermal Prandtl, if model/closure uses it
delta = "<expr>" # optional model constant (reserved/advanced)
Cw = "<expr>" # optional model constant (reserved/advanced)
viscosity_model = "<constant | sutherland>"
}
Tip: keep
gamma,Rgas,visc, andpranin yourDictionaryso they can be reused across cases and expressions (e.g., computeviscfrom Reynolds number).
Supported physics models
ideal_gas
air_CO2
air_SF6
N2_dissociation
O2_dissociation
air5
air11
ideal_gas— fully supported (documented below).air_CO2,air_SF6,N2_dissociation,O2_dissociation,air5,air11— under construction (interfaces subject to change).
Under constructionNon-ideal-gas models are still being finalized. Names and primitive sets may change.
Primitive variables by model
This table lists the primitive variable names expected in inputs (e.g., for BCs) and diagnostics. See the IBM Surface BCs and other sections for where these appear.
| Model | Primitive variables |
|---|---|
ideal_gas | P, U, V, W, T |
air_CO2 | WIP |
air_SF6 | WIP |
N2_dissociation | WIP |
O2_dissociation | WIP |
air5 | WIP |
air11 | WIP |
ideal_gas model
When phys_model = "ideal_gas", the solver initializes an ideal-gas equation of state and a viscosity law from the fields in this block.
Gas law (required)
gamma = "<expr>" # e.g., 1.4
Rgas = "<expr>" # e.g., 287.15
- The solver reads
gammaandRgas, evaluates any expressions against theDictionary, and constructs the ideal-gas law. - Logged on startup for traceability.
Viscosity law
viscosity_model = "<constant | sutherland>"
visc = "<expr>" # used if constant
pran = "<expr>" # laminar Prandtl number
-
viscosity_model = "constant"
Uses a temperature-independent Sutherland form by setting internal parameters so thatμ(T) = viscfor allT.viscis the reference dynamic viscosity (e.g., Pa·s).pransets the Prandtl number used for thermal conductivity linkage.
-
viscosity_model = "sutherland"
Activates a temperature-dependent Sutherland law (internal defaults).pranstill sets the laminar Prandtl number.
pranTmay be provided for advanced closures that distinguish thermal transport parameters; whether it is used depends on the active turbulence/closure configuration.
Optional coefficients
delta = "<expr>"
Cw = "<expr>"
These are reserved/advanced coefficients intended for turbulence or model closures. If you’re unsure, leave the provided defaults.
Example (ideal_gas)
Properties
{
phys_model = "ideal_gas"
gamma = "gamma"
Rgas = "Rgas"
visc = "Qinf::rhoinf*umag*Lscale/reynolds"
pran = 0.72
pranT = 0.90
delta = 0.0001
Cw = 0.55
viscosity_model = "constant"
}
- Here
viscis computed from freestream quantities and a target Reynolds number viaDictionaryvariables. - Switch to
viscosity_model = "sutherland"to enable temperature-dependent viscosity.
Best practices
- Keep
phys_model,gamma, andRgasin sync with the rest of your inputs (BCs, initial conditions). - For cases that compare across Reynolds numbers, compute
viscfrom a single dictionary formula to avoid inconsistent updates. - Use the log outputs (
gamma,Rgas, viscosity model parameters) for case reproducibility.