These guidelines are based on the working folder located here.

Numerics


1) Time schemes

1.1 Euler time scheme

The implicit first-order Euler time scheme can be selected in system/fvSchemes as follows

ddtSchemes
{
    default           Euler;
}

For more information, please check the official documentation.

 

1.2 Local time stepping scheme

To select the first-order local time stepping (LTS) scheme, open the system/fvSchemes dictionary and set

ddtSchemes
{
    default           localEuler rDeltaT;
}

The Lorrain scramjet tutorial is a suitable case to use LTS and the aforementioned time discretisation scheme is the only modification to be made.

Local time stepping is currently inappropriate for axisymmetric and chemically-reacting simulations.

For more information, please check the official documentation.

 

1.3 Other time schemes

For other time schemes, please refer to the official documention.



2) Flux schemes

2.1 Kurganov and Tadmor

Kurganov-Noelle-Petrova (KNP) and Kurganov-Tadmor (KT) flux schemes do not have any model coefficients. In system/fvSchemes, they can be selected as follows

fluxScheme            Kurganov;

and

fluxScheme            Tadmor;

  A. Kurganov, S. Noelle, and G. Petrova, "Semi-Discrete Central-Upwind Scheme for Hyperbolic Conservation Laws and Hamilton-Jacobi Equations," SIAM Journal on Scientific Computing, Vol. 23, No. 3, pp. 707-740, 2001   [SIAM Portal→]

 

2.2 AUSM+up

The final AUSM+-up algorithm given by Liou (2006) is recalled hereafter. The left and right Mach number states are equal to

`M_{L∕R} = \frac{u_{L∕R}}{a_{1∕2}}`,

where a1∕2 is the interface speed of sound defined as

`a_{1∕2} = min \left(â_L, â_R\right)`,

with

`â_L = \frac{(a^∗)^2}{max(a^∗, u_L)}`,

`â_R = \frac{(a^∗)^2}{max(a^∗, -u_R)}`,

and

`(a^∗)^2 = \frac{2 (γ - 1)}{γ + 1} h`.

The scaling factor, fa, can either be set to a value between 0 and 1 or according to the following formula:

`f_a = M_o \left(2 - M_o\right)`.

where

`M_o^2 = min(1, max(\bar{M}^2, M_∞^2))`.

The interface Mach number, Ma1∕2, is expressed as

`Ma_{1∕2} = \mathcal{M}_{(4)}^{+}(Ma_L) + \mathcal{M}_{(4)}^{-}(Ma_R) - \frac{K_p}{f_a} max (1 - σ \bar{M}^2)\mathcal{M}_{(4)}^{+} \frac{p_R - p_L}{ρ_{1∕2}a_{1∕2}^2}`,

where

`\mathcal{M}_{(1)}^±(M) = \frac{1}{2} (M ± |M|)`,

`\mathcal{M}_{(2)}^±(M) = ±\frac{1}{4}(M ± 1)^2`,

`\mathcal{M}_{(4)}^±(M) = \mathcal{M}_{(2)}^± (1 ∓ 16 β \mathcal{M}_{(2)}^∓)^2`,

and

`σ ≤ 1`.

The interface mass flux is given by

  • `\dot{m}_{1∕2} = a_{1∕2} M_{1∕2} ρ_L`   if `M_{1∕2} > 0`
  • `\dot{m}_{1∕2} = a_{1∕2} M_{1∕2} ρ_R`   otherwise

The pressure flux at the interface, p1∕2, can be written as

`p_{1∕2} = \mathcal{P}_{(5)}^{+} p_L + \mathcal{P}_{(5)}^{-} p_R - K_u \mathcal{P}_{(5)}^{+} \mathcal{P}_{(5)}^{-} (ρ_L + ρ_R) (f_a \times a_{1∕2}) (u_R - u_L)`,

where

`\mathcal{P}_{(5)}^±(M) = \mathcal{M}_{(2)}^± [ (± 2 - M) ∓ 16 α M \mathcal{M}_{(2)}^∓ ].`

  M.-S. Liou, "A Sequel to AUSM, Part II: AUSM+-up for All Speeds," Journal of Computational Physics, Vol. 214, No. 1, pp. 137-170, 2006   [ScienceDirect Portal→]

A flux scheme dictionary is created in system/fvSchemes to store the AUSM+-up scheme coefficients, whose default values are shown in the following listing

fluxScheme            AUSM+up;

fluxSchemeCoefficients
{
    AUSM+upCoefficients
    {
        MachInf       1.0e-6;
        
        alpha         0.1875;
        beta           0.125;
        sigma            1.0;
        Kp              0.25;
        Ku              0.75;
    }
}


This flux scheme is used in Sod’s subsonic and supersonic shock tube tutorials.



3) Other spatial schemes

For other spatial schemes, please refer to the official documention.