CMPSTheory & User Reference Manual
Time Integration, CFL Control and Initialization
LIKUA HomeManual Home

Time Integration, CFL Control and Initialization

Steady pseudo-time iteration

Steady problems are advanced to a fixed point with a local implicit pseudo-time term. The cell pseudo-time step is constructed from a finite-volume spectral-radius estimate,

\[\boxed{\Delta\tau_P=\frac{\mathrm{CFL}\,V_P}{\Lambda_P}}.\]

For the compressible branch, \(\Lambda_P\) accumulates face-normal convection, acoustic, pressure-jump and diffusive contributions. The diffusive speed used by the current local estimate is

\[v_d=\frac{4\lambda_v}{L_c},\qquad \lambda_v=\max\left(\frac{\mu}{\rho},\ D_{eff}^{*},\ \frac{k_{eff}}{\rho C_v},\ \frac{\mu+\mu_t}{\rho}\right),\]

with terms activated according to the selected physics. Pseudo time is a convergence device and is not substituted for a physical time scale in models that explicitly require physical time.

Stretched-grid pseudo-time acceleration

Strongly stretched cells create very different geometric scales in different directions. The fine-grid CMPS local-time-step path therefore provides a stretched-grid acceleration that changes only the pseudo-time spectral estimate; it does not modify the spatial residual or the converged steady conservation equations.

The stored implicit stretch coefficient is constructed directly from cell-center-to-face-midpoint radii. For face \(f\) of cell \(P\),

\[r_f=\left\lVert\mathbf x_f-\mathbf x_P\right\rVert,\qquad r_{\min,P}=\min_f r_f,\qquad r_{\max,P}=\max_f r_f,\]
\[\chi_{AR,P}=\mathrm{AR}_{\mathrm{Imp},P}=\frac{r_{\min,P}}{r_{\max,P}}=\frac{1}{\mathrm{AR}_{\mathrm{geom},P}},\qquad 0<\chi_{AR,P}\le 1.\]

Thus a nearly isotropic cell has \(\chi_{AR}\approx1\), whereas a strongly elongated cell has \(\chi_{AR}\ll1\). When the option is disabled, CMPS uses \(\chi_{AR}=1\).

The diffusive speed in the fine-grid pseudo-time estimate is

\[v_{d,P}=\frac{4\lambda_{v,P}}{L_{c,P}},\qquad \lambda_{v,P}=\max\!\left(\frac{\mu}{\rho},\ D_{\mathrm{eff}}^{*},\ \frac{k_{\mathrm{eff}}}{\rho C_v},\ \frac{\mu+\mu_t}{\rho}\right),\]

where only terms associated with the active physics are retained. For compressible flow, CMPS also forms the pressure-jump velocity scale

\[V_{\Delta p,f}=2\sqrt{\frac{\left|p_P-p_F+\Delta p_{t,f}\right|}{\rho_P}},\qquad \Delta p_{t,f}=\frac{2}{3}\left(\rho_P k_P-\rho_F k_F\right)\]

when the turbulent-pressure correction is active, with \(\Delta p_{t,f}=0\) otherwise. The acoustic quantity in the time-step estimator is

\[a_P^{\star}=\begin{cases}a_P,&\text{compressible without low-Mach preconditioning},\\[1mm]\sqrt{\alpha_P^2\lVert\mathbf u_P\rVert^2+u_{\mathrm{ref},P}^2},&\text{compressible with preconditioning},\\[1mm]u_{\mathrm{ref},P},&\text{constant-density artificial-compressibility flow}.\end{cases}\]

For the compressible branch, with \(A_f=\lVert\mathbf A_f\rVert\) and with \(\widetilde{\mathbf u}=(1-\alpha)\mathbf u\) when low-Mach preconditioning is active, the current face contribution has the structure

\[\Lambda_{P,f}=\max\!\left(\left|\widetilde{\mathbf u}_P\!\cdot\!\mathbf A_f\right|,\left|\widetilde{\mathbf u}_F\!\cdot\!\mathbf A_f\right|\right)+\left(V_{\Delta p,f}+\chi_{AR,f}v_{d,P}+\chi_{AR,f}a_P^{\star}\right)A_f,\]
\[\Lambda_P=\sum_{f\in\partial P}\Lambda_{P,f},\qquad \boxed{\Delta\tau_P=\frac{\mathrm{CFL}\,V_P}{\Lambda_P}}.\]

Because \(\chi_{AR}\le1\), stretched cells reduce the acoustic and diffusive contributions to \(\Lambda_P\). The resulting pseudo-time step is larger than the unaccelerated estimate, which is the intended convergence acceleration on anisotropic meshes.

Boundary safeguard. On mass-flow-inlet and velocity-inlet faces CMPS explicitly overrides the stretch factor with \(\chi_{AR,f}=1\). The acceleration therefore does not weaken the inlet-face acoustic/diffusive spectral contribution.

For constant-density artificial-compressibility flow, define \(u_n^{\max}\) as the maximum absolute carrier normal velocity on the face and \(u_{g,n}\) as the absolute grid-normal velocity. The artificial-compressibility spectral bound is

\[u_c=u_n^{\max}+u_{g,n},\qquad t=u_n^{\max}+u_c,\]
\[\lambda_{ac,f}=\max\!\left[u_c,\ \frac12\left(t+\sqrt{t^2+4u_{\mathrm{ref}}^2}\right)\right],\]
\[\Lambda_{P,f}=\left(\lambda_{ac,f}+\chi_{AR,f}v_{d,P}\right)A_f.\]

Multigrid interaction. This aspect-ratio acceleration belongs to the standard fine-grid CalculateTimeStep path. The dedicated agglomeration-multigrid level time-step estimator intentionally excludes aspect-ratio, pressure-jump, viscous and time-step-smoothing accelerations; when low-Mach preconditioning is active it instead reuses the preconditioning state already computed by the main preconditioning routine.

Implicit transient / dual time

Transient calculations add a physical BDF term while the nonlinear equations are converged through subiterations. The current solver supports first- and second-order implicit physical-time discretization. The physical histories remain fixed throughout the pseudo-time subiterations associated with one physical step.

BDF residual form

Using coefficients \((E_0,E_1,E_2)\), the cell physical-time residual has the CMPS sign convention

\[\mathbf B_t=\frac{V}{\Delta t}\left[-E_0\mathbf W^{m}+E_1\mathbf W^n-E_2\mathbf W^{n-1}\right].\]

First-order physical time uses

\[(E_0,E_1,E_2)=(1,1,0),\qquad \frac{\partial\mathbf W}{\partial t}\approx\frac{\mathbf W^{n+1}-\mathbf W^n}{\Delta t}.\]

Second-order physical time uses

\[(E_0,E_1,E_2)=\left(\frac32,2,\frac12\right),\qquad \frac{\partial\mathbf W}{\partial t}\approx\frac{3\mathbf W^{n+1}-4\mathbf W^n+\mathbf W^{n-1}}{2\Delta t}.\]

The physical-time Jacobian therefore contains

\[\mathbf A_t=\frac{E_0V}{\Delta t}\frac{\partial\mathbf W}{\partial\mathbf V},\]

with the complete VOF primitive-to-conservative Jacobian when VOF is active. Restart logic can deliberately use one first-order startup step when an exact second history is unavailable.

CFL control

CMPS provides constant CFL, scheduled ramping and automatic PID-style CFL control. The controller limits the requested CFL to configured minimum and maximum values and uses nonlinear residual behavior to adjust the pseudo-time aggressiveness.

Local time-step smoothing

Local pseudo-time steps may be smoothed across neighboring cells to reduce abrupt cell-to-cell stiffness variation. This changes convergence conditioning but not the target steady equations.

Physical time-step control

The physical time step can be fixed or supplied by the configured runtime callback at the start of each new physical step. Once selected, it remains fixed during that step's nonlinear subiterations.

Automatic initialization

Automatic initialization sets pressure, velocity, temperature and transported scalars together with model-specific turbulence, species, dispersed-phase and VOF states. Homogeneous VOF defaults to a pure reference-phase state when no other valid composition has been supplied.

Restart state

Restart compatibility is part of model validity. A restart must match the active equation layout and preserve the physical-time histories required by the selected transient formulation. Homogeneous VOF additionally checks phase identity, reference-phase interpretation and material-state compatibility before accepting stored data.