SpectraSim Documentation
Parameter · 06 Solver Settings

Local Courant number (pseudo-transient)

numerics.pseudo_transient_max_courant Step 06 · Solver Settings Experimental

The Courant number that sets each cell's own pseudo-time step in the pseudo-transient compressible solver (the transient compressible solver with local time stepping). A larger value advances faster per iteration and is less stable.

Last updated

Theory

With local time stepping every cell advances with the largest time step its own Courant number allows, equation (1). The time step follows the mass flux through the cell's faces, so small boundary-layer cells take tiny steps and large core cells large ones. The steady state does not depend on the time steps; only the path to it does. The local step is smoothed so that neighbouring cells differ by at most about 10 % (rDeltaTSmoothingCoeff 0.1) and is limited to at most 1 s (maxDeltaT 1) (OpenFOAM user guide, 2026).

The run has the same two phases as the steady solvers (Upwind iterations before the switch):

  • The start-up phase marches with min⁡(Comax,0.2)\min(Co_{max}, 0.2) and first-order convection.
  • The final phase marches with ComaxCo_{max} and the configured schemes.
  • If the start-up phase diverges, it restarts once from the initial fields at half its Courant number (never below 0.05); the final phase then keeps that reduced value.

Equations

1ΔtP=max⁡ ⁣(1Δtmax, ∑f∣m˙f∣2 Comax ρPVP)\frac{1}{\Delta t_P} = \max\!\left(\frac{1}{\Delta t_{max}},\ \frac{\sum_f \lvert \dot m_f\rvert}{2\,Co_{max}\,\rho_P V_P}\right)
(1)
wheremeaningunit
ΔtP\Delta t_PLocal pseudo-time step of cell Ps
Δtmax\Delta t_{max}Largest allowed step, 1s
m˙f\dot m_fMass flux through face f of the cellkg/s
ρP,VP\rho_P, V_PDensity and volume of the cellkg/m³, m³
ComaxCo_{max}Local Courant number (this setting)-

Default and rule

Default
0.5 (start-up phase: the smaller of this and 0.2)
Rule

0.5 for the final phase; the start-up phase uses min⁡(Comax,0.2)\min(Co_{max}, 0.2).

Source

The start-up value 0.2 and the smoothing coefficient 0.1 are those of the local-time-step tutorial of the installed OpenFOAM build (the transient compressible solver angledDuctLTS). Equation (1) is OpenFOAM's local-time-step rule as used by the transient compressible solver. The final-phase default 0.5 is a conservative choice: a run at 1.0 showed a local blow-up on case V1 (a 2.0 m multi-chamber muffler with a perforated pipe and three absorptive packings).

Valid range 0 < Co ≤ 10; typical 0.2 to 1

Experimental

The pseudo-transient solver has not produced a converged, verified result on a real muffler. On V1 it was stable but needed of the order of 10410^4 iterations, because the boundary-layer cells limit the pseudo-time steps.

Values

0<Comax≤100 < Co_{max} \le 10. Used only when the compressible solver is pseudo-transient (Solver Settings step).

References 1

  1. OpenCFD Ltd. (2026). OpenFOAM user guide. openfoam.com. Web page