Skip to content
Draft. This manual is new and still being checked against the software as it is verified. Some pages will change. If something here does not match what you see, the software is right — tell us and we will fix the page.

Physics

Not a setup-tree node. Embedded in the application.

  • Control: value (ValueField)
  • Default: water
  • Bound to: CaseState.phase1Name
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Unit: kg/m³
  • Default: 998.2
  • Bound to: CaseState.phase1Rho
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 1.0e-6
  • Bound to: CaseState.phase1Nu
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Default: air
  • Bound to: CaseState.phase2Name
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Unit: kg/m³
  • Default: 1.225
  • Bound to: CaseState.phase2Rho
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 1.48e-5
  • Bound to: CaseState.phase2Nu
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: value (ValueField)
  • Unit: N/m
  • Default: 0.07
  • Bound to: CaseState.surfaceTension
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "vof" || root.fam === "marine" || root.fam === "euler")
  • Control: choice (ComboRow)
  • Default: isoAdvector
  • Bound to: CaseState.interfaceScheme
  • Options: isoAdvector, MULES
  • Writes: fvSolution/solvers/alpha
  • Shown when: CaseState.twoPhaseVof

The in-app guidance depends on the case:

  • Geometric reconstruction; the interface stays inside about one cell. Runs interIsoFoam.
  • Algebraic compression. More forgiving on a poor mesh, and the interface smears over several cells. Runs interFoam.
  • Control: value (ValueField)
  • Default: 1.0
  • Bound to: CaseState.cAlpha
  • Value modes: none (plain entry)
  • Shown when: CaseState.twoPhaseVof && CaseState.interfaceScheme === "MULES"

cAlpha. 1 is the usual value; 0 turns compression off entirely.

  • Control: value (ValueField)
  • Default: 2
  • Bound to: CaseState.nAlphaCorr
  • Writes: fvSolution/solvers/alpha
  • Value modes: none (plain entry)
  • Shown when: CaseState.twoPhaseVof

How many times alpha is corrected within a step.

  • Control: value (ValueField)
  • Default: 1
  • Bound to: CaseState.nAlphaSubCycles
  • Value modes: none (plain entry)
  • Shown when: CaseState.twoPhaseVof
  • Control: value (ValueField)
  • Default: 0.5
  • Bound to: CaseState.maxAlphaCourant
  • Value modes: none (plain entry)
  • Shown when: CaseState.twoPhaseVof && !CaseState.steady

maxAlphaCo. Tighter than the flow limit, because the interface is what the time step has to resolve.

  • Control: on/off (ToggleRow)
  • Default: true
  • Bound to: CaseState.fillEnabled
  • Shown when: CaseState.twoPhaseVof

Everything below the level starts as …. A case that starts entirely … has nothing in it to compute.

  • Control: value (ValueField)
  • Unit: m
  • Default: 0.0
  • Bound to: CaseState.fillLevel
  • Writes: setFieldsDict
  • Value modes: none (plain entry)
  • Shown when: CaseState.twoPhaseVof && CaseState.fillEnabled

Height on the up axis, in case coordinates.

  • Control: choice (ComboRow)
  • Default: Stokes2
  • Bound to: CaseState.waveModel
  • Options: Stokes1, Stokes2, Stokes5, cnoidal, solitary, streamFunction (from CaseState.waveModels)
  • Writes: waveProperties
  • Shown when: root.fam === "marine"
  • Control: value (ValueField)
  • Unit: m
  • Default: 1.0
  • Bound to: CaseState.waveHeight
  • Writes: waveProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "marine"
  • Control: value (ValueField)
  • Unit: s
  • Default: 6.0
  • Bound to: CaseState.wavePeriod
  • Writes: waveProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "marine"
  • Control: value (ValueField)
  • Unit: °
  • Default: 0.0
  • Bound to: CaseState.waveAngleDeg
  • Writes: waveProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "marine"
  • Control: value (ValueField)
  • Unit: m
  • Default: 10.0
  • Bound to: CaseState.waterDepth
  • Writes: waveProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "marine"
  • Control: choice (ComboRow)
  • Default: air
  • Bound to: CaseState.dispersedPhase
  • Writes: phaseProperties
  • Shown when: root.fam === "euler"

The one that exists as bubbles, drops or particles inside the other.

  • Control: value (ValueField)
  • Unit: m
  • Default: 0.003
  • Bound to: CaseState.dispersedDiameter
  • Writes: phaseProperties/diameterModel
  • Value modes: none (plain entry)
  • Shown when: root.fam === "euler"
  • Control: choice (ComboRow)
  • Default: SchillerNaumann
  • Bound to: CaseState.dragModel
  • Options: SchillerNaumann, WenYu, GidaspowErgunWenYu, Ergun, Lain (from CaseState.dragModels)
  • Writes: phaseProperties/drag
  • Shown when: root.fam === "euler"

Not optional. Without drag the phases pass through each other.

  • Control: choice (ComboRow)
  • Default: none
  • Bound to: CaseState.liftModel
  • Options: none, constantCoefficient, Tomiyama, Moraga, LegendreMagnaudet (from CaseState.liftModels)
  • Writes: phaseProperties/lift
  • Shown when: root.fam === "euler"

Sideways force on a bubble in a shear layer. Decides whether bubbles migrate to the wall or the core.

  • Control: value (ValueField)
  • Default: 0.5
  • Bound to: CaseState.virtualMassCoeff
  • Value modes: none (plain entry)
  • Shown when: root.fam === "euler"

Cvm. 0.5 for a sphere.

  • Control: value (ValueField)
  • Default: 0.0
  • Bound to: CaseState.dispersedAlpha
  • Value modes: none (plain entry)
  • Shown when: root.fam === "euler"
  • Control: on/off (ToggleRow)
  • Default: false
  • Bound to: CaseState.twoWayCoupled
  • Writes: kinematicCloudProperties/solution/coupled
  • Shown when: root.fam === "lagrangian"

Off, the particles are carried by the flow and do not affect it - far cheaper, and right whenever the loading is light. On runs DPMFoam, which feeds the particle momentum back into the fluid.

  • Control: value (ValueField)
  • Default: air
  • Bound to: CaseState.continuousPhaseName
  • Writes: kinematicCloudProperties/solution/continuousPhaseName
  • Value modes: none (plain entry)
  • Shown when: root.fam === "lagrangian" && CaseState.twoWayCoupled

DPMFoam names the carrier fields after it, so the velocity is U.… rather than U.

  • Control: choice (ComboRow)
  • Default: patchInjection
  • Bound to: CaseState.injectionModel
  • Options: patchInjection, coneInjection, manualInjection (from CaseState.injectionModels)
  • Writes: kinematicCloudProperties/injectionModels
  • Shown when: root.fam === "lagrangian"
  • Control: choice (ComboRow)
  • Bound to: CaseState.effectiveInjectionPatch
  • Shown when: root.fam === "lagrangian" && CaseState.injectionModel === "patchInjection"
  • Control: choice (ComboRow)
  • Default: fixedValue
  • Bound to: CaseState.sizeDistribution
  • Options: fixedValue, uniform, RosinRammler (from CaseState.sizeDistributions)
  • Shown when: root.fam === "lagrangian"

The usual description of a spray or a milled powder.

  • Control: value (ValueField)
  • Unit: kg/m³
  • Default: 1000
  • Bound to: CaseState.particleRho
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: m
  • Default: 1.0e-4
  • Bound to: CaseState.particleDiameter
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: K
  • Default: 320
  • Bound to: CaseState.parcelTemperature
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: m
  • Default: 1.0e-5
  • Bound to: CaseState.particleDMin
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: m
  • Default: 5.0e-4
  • Bound to: CaseState.particleDMax
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Default: 2.0
  • Bound to: CaseState.rosinRammlerN
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: kg/s
  • Default: 0.01
  • Bound to: CaseState.injectionMassFlow
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: s
  • Default: 1.0
  • Bound to: CaseState.injectionDuration
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Unit: m/s
  • Default: 10.0
  • Bound to: CaseState.injectionSpeed
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: value (ValueField)
  • Default: 1000
  • Bound to: CaseState.parcelsPerSecond
  • Writes: kinematicCloudProperties
  • Value modes: none (plain entry)
  • Shown when: (root.fam === "lagrangian" || root.fam === "spray" || root.fam === "reacting")
  • Control: choice (ComboRow)
  • Default: sphereDrag
  • Bound to: CaseState.parcelDrag
  • Options: sphereDrag, nonSphereDrag, distortedSphereDrag
  • Shown when: root.fam === "lagrangian"
  • Control: choice (ComboRow)
  • Default: PaSR
  • Bound to: CaseState.combustionModel
  • Options: laminar, PaSR, EDC, infinitelyFastChemistry, diffusion (from CaseState.combustionModels)
  • Writes: combustionProperties
  • Shown when: root.fam === "reacting"
  • Control: on/off (ToggleRow)
  • Default: true
  • Bound to: CaseState.chemistryActive
  • Writes: chemistryProperties/chemistry
  • Shown when: root.fam === "reacting"
  • Control: choice (ComboRow)
  • Default: EulerImplicit
  • Bound to: CaseState.chemistrySolver
  • Options: EulerImplicit, ode, none (from CaseState.chemistrySolvers)
  • Shown when: root.fam === "reacting" && CaseState.chemistryActive

The in-app guidance depends on the case:

  • Stiff ODE integration. Slower and far more robust on a real mechanism.
  • Cheap and adequate for a few reactions.
  • Control: value (ValueField)
  • Default: CH4 O2 CO2 H2O N2
  • Bound to: CaseState.speciesList
  • Writes: constant/reactions
  • Value modes: none (plain entry)
  • Shown when: root.fam === "reacting"

Space separated. Each becomes a mass fraction field in 0/.

  • Control: choice (ComboRow)
  • Default: CH4
  • Bound to: CaseState.fuelSpecies
  • Shown when: root.fam === "reacting"
  • Control: choice (ComboRow)
  • Default: O2
  • Bound to: CaseState.oxidiserSpecies
  • Shown when: root.fam === "reacting"
  • Control: choice (ComboRow)
  • Default: N2
  • Bound to: CaseState.inertSpecies
  • Shown when: root.fam === "reacting"
  • Control: value (ValueField)
  • Unit: K
  • Default: 1000
  • Bound to: CaseState.ignitionTemperature
  • Writes: 0/T
  • Value modes: none (plain entry)
  • Shown when: root.fam === "reacting"

The whole domain starts here. Below the ignition temperature the chemistry integrates to no reaction and the run is an expensive way to mix two cold gases.

  • Control: on/off (ToggleRow)
  • Default: false
  • Bound to: CaseState.radiationEnabled
  • Writes: constant/radiationProperties
  • Shown when: root.fam === "reacting"

P1 with a grey absorption coefficient. In a flame radiation carries a serious fraction of the heat away; outside one it is cost for nothing.

  • Control: choice (ComboRow)
  • Bound to: CaseState.terrainCategories
  • Options: Sea or coastal, Open flat country, Farmland with hedges, Suburban or industrial, Urban (from CaseState.terrainCategories)
  • Writes: 0/U/inlet/z0
  • Shown when: root.fam === "atmospheric"
  • Control: value (ValueField)
  • Unit: m
  • Default: 0.03
  • Bound to: CaseState.aerodynamicRoughness
  • Writes: 0/U
  • Value modes: none (plain entry)
  • Shown when: root.fam === "atmospheric"
  • Control: value (ValueField)
  • Unit: m/s
  • Default: 10.0
  • Bound to: CaseState.ablReferenceSpeed
  • Writes: 0/U
  • Value modes: none (plain entry)
  • Shown when: root.fam === "atmospheric"
  • Control: value (ValueField)
  • Unit: m
  • Default: 10.0
  • Bound to: CaseState.ablReferenceHeight
  • Writes: 0/U
  • Value modes: none (plain entry)
  • Shown when: root.fam === "atmospheric"
  • Control: value (ValueField)
  • Unit: m
  • Default: 0.0
  • Bound to: CaseState.groundHeight
  • Writes: 0/U
  • Value modes: none (plain entry)
  • Shown when: root.fam === "atmospheric"
  • Control: on/off (ToggleRow)
  • Default: false
  • Bound to: CaseState.coriolisEnabled
  • Writes: constant/fvOptions
  • Shown when: root.fam === "atmospheric"

The Earth turning under the flow. Negligible over a building, not over a wind farm.

  • Control: value (ValueField)
  • Unit: °
  • Default: 52.0
  • Bound to: CaseState.siteLatitude
  • Writes: constant/fvOptions
  • Value modes: none (plain entry)
  • Shown when: root.fam === "atmospheric" && CaseState.coriolisEnabled

Positive north. The Coriolis parameter goes to zero at the equator.

  • Control: value (ValueField)
  • Default: s
  • Bound to: CaseState.scalarName
  • Writes: 0/…
  • Value modes: none (plain entry)
  • Shown when: root.fam === "scalar"
  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 1.0e-5
  • Bound to: CaseState.scalarDiffusivity
  • Writes: controlDict/functions
  • Value modes: none (plain entry)
  • Shown when: root.fam === "scalar"
  • Control: value (ValueField)
  • Default: 0.0
  • Bound to: CaseState.scalarInitial
  • Writes: controlDict/functions
  • Value modes: none (plain entry)
  • Shown when: root.fam === "scalar"
  • Control: value (ValueField)
  • Default: 1.0
  • Bound to: CaseState.scalarInlet
  • Writes: controlDict/functions
  • Value modes: none (plain entry)
  • Shown when: root.fam === "scalar"
  • Control: on/off (ToggleRow)
  • Default: true
  • Bound to: CaseState.scalarTurbulentSchmidt
  • Shown when: root.fam === "scalar"

Adds nu_t/Sc_t to the molecular diffusivity. In a turbulent flow this is the term that actually spreads the scalar.

  • Control: value (ValueField)
  • Default: 0.7
  • Bound to: CaseState.turbulentSchmidt
  • Value modes: none (plain entry)
  • Shown when: root.fam === "scalar" && CaseState.scalarTurbulentSchmidt
  • Control: choice (ComboRow)
  • Default: Newtonian
  • Bound to: CaseState.viscosityModel
  • Options: Newtonian, CrossPowerLaw, BirdCarreau, powerLaw, HerschelBulkley (from CaseState.viscosityModels)
  • Writes: transportProperties/transportModel
  • Shown when: ["incompressible", "vof", "marine", "cavitation", "miscible", "atmospheric", "scalar", "lagrangian", "srf"] .indexOf(root.fam) >= 0
  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 1.0e-03
  • Bound to: CaseState.nuMax
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: CaseState.viscosityModel === "Newtonian"
  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 1.0e-06
  • Bound to: CaseState.nuMin
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: CaseState.viscosityModel === "Newtonian"
  • Control: choice (ComboRow)
  • Default: SchnerrSauer
  • Bound to: CaseState.cavitationModel
  • Options: SchnerrSauer, Kunz, Merkle (from CaseState.cavitationModels)
  • Writes: transportProperties/phaseChangeTwoPhaseMixture
  • Shown when: root.fam === "cavitation"

The in-app guidance depends on the case:

  • Rate set by a population of nuclei. The usual first choice.
  • Rate scaled on a free-stream speed and a flow time.
  • Control: value (ValueField)
  • Unit: Pa
  • Default: 2300
  • Bound to: CaseState.saturationPressure
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "cavitation"
  • Control: value (ValueField)
  • Default: 1.0
  • Bound to: CaseState.cavitationCoeffC
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "cavitation"
  • Control: value (ValueField)
  • Default: 1.0
  • Bound to: CaseState.cavitationCoeffV
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "cavitation"
  • Control: value (ValueField)
  • Unit: m
  • Default: 2.0e-06
  • Bound to: CaseState.nucleationDiameter
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "cavitation"
  • Control: value (ValueField)
  • Default: 1.6e13
  • Bound to: CaseState.nucleiPerCubicMetre
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "cavitation"
  • Control: choice (ComboRow)
  • Default: Kurganov
  • Bound to: CaseState.fluxScheme
  • Options: Kurganov, Tadmor (from CaseState.fluxSchemes)
  • Writes: fvSchemes/fluxScheme
  • Shown when: root.fam === "supersonic"

Kurganov is the more diffusive and the more forgiving of the two.

  • Control: value (ValueField)
  • Unit: m²/s
  • Default: 4.0e-05
  • Bound to: CaseState.thermalDiffusivity
  • Writes: transportProperties/DT
  • Value modes: none (plain entry)
  • Shown when: root.fam === "conduction"

DT. About 4e-5 for mild steel, 1.4e-7 for water.

  • Control: value (ValueField)
  • Unit: m/s
  • Default: 0.002
  • Bound to: CaseState.settlingVelocity
  • Writes: transportProperties/relativeVelocityModel
  • Value modes: none (plain entry)
  • Shown when: root.fam === "driftFlux"

How fast the solids fall through still liquid.

  • Control: value (ValueField)
  • Unit: m/s
  • Default: 0.434
  • Bound to: CaseState.laminarFlameSpeed
  • Writes: combustionProperties/Su
  • Value modes: none (plain entry)
  • Shown when: root.fam === "premixed"

How fast the front eats into unburnt gas. 0.43 for stoichiometric methane in air.

  • Control: choice (ComboRow)
  • Default: transport
  • Bound to: CaseState.flameWrinklingModel
  • Options: transport, algebraic, fixed (from CaseState.flameWrinklingModels)
  • Writes: combustionProperties/XiModel
  • Shown when: root.fam === "premixed"

How much the turbulence folds the front, and so how much faster it burns than the laminar speed above.

  • Control: choice (ComboRow)
  • Default: C7H16
  • Bound to: CaseState.sprayLiquid
  • Options: C7H16, H2O (from CaseState.sprayLiquids)
  • Writes: sprayCloudProperties
  • Shown when: root.fam === "spray"

Has to be a liquid OpenFOAM has property tables for, and it becomes a carrier species so the vapour has somewhere to go.

  • Control: value (ValueField)
  • Unit: rpm
  • Default: 1000
  • Bound to: CaseState.frameRpm
  • Writes: SRFProperties/rpmCoeffs/rpm
  • Value modes: none (plain entry)
  • Shown when: root.fam === "srf"

The whole mesh turns at this rate; the velocity solved for is relative to the frame.

  • Control: value (ValueField)
  • Unit: Pa
  • Default: 2.0e11
  • Bound to: CaseState.youngsModulus
  • Writes: mechanicalProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "solidStress"
  • Control: value (ValueField)
  • Default: 0.3
  • Bound to: CaseState.poissonRatio
  • Writes: mechanicalProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "solidStress"
  • Control: value (ValueField)
  • Unit: kg/m³
  • Default: 7854
  • Bound to: CaseState.solidDensity
  • Writes: mechanicalProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "solidStress"
  • Control: value (ValueField)
  • Unit: m²/V·s
  • Default: 1.0e-07
  • Bound to: CaseState.chargeMobility
  • Writes: physicalProperties/k
  • Value modes: none (plain entry)
  • Shown when: root.fam === "electrostatic"
  • Control: value (ValueField)
  • Unit: H/m
  • Default: 1.0
  • Bound to: CaseState.magneticPermeability
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "mhd"
  • Control: value (ValueField)
  • Unit: S/m
  • Default: 1.0
  • Bound to: CaseState.electricalConductivity
  • Writes: transportProperties
  • Value modes: none (plain entry)
  • Shown when: root.fam === "mhd"

The application reports no problems against this step.


marks a value the application computes at run time, so the source carries no fixed text for it.