# A comparison of nondimensionalization choices for the compressible Navier–

Stokes equations
Consider the dimensional, coordinate-independent form of the compressible Navier–Stokes equations
(1) o
t
Ρ = ÷V Ρ u
(2) o
t
Ρ u = ÷V u ? Ρ u ÷Vp +V Τ
(3)
o
t
Ρ e

= ÷V Ρ e

u +V
Κ
0
Μ
0
Μ VT ÷V p u +V Τ u
where
(4) p = Γ ÷1 Ρ e

÷ Ρ
u u
2

(5)
T =
p
Ρ R
(6)
Μ = Μ
0
T
T
0
Β
(7) Λ = ÷
2
3
Μ
(8) Τ = Μ Vu +Vu +Λ V u I
with e

denoting the specific total energy. Introducing nondimensionalized variables like t
-
=
t
t
0
density[1] ]
Ρ
0
t
0
,
Ρ
0
u
0
l
0
¦;
momentum[1] ]
Ρ
0
u
0
t
0
,
Ρ
0
u
0
2
l
0
,
p
0
l
0
,
Τ
0
l
0
¦;
energy[1] ]
Ρ
0
e

0
t
0
,
Ρ
0
e

0
u
0
l
0
,
Κ
0
T
0
l
0
2
,
p
0
u
0
l
0
,
Τ
0
u
0
l
0
¦;
pressure[1] ]p
0
, (Γ 1) Ρ
0
e

0
,
(Γ 1)
2
Ρ
0
u
0
2
¦;
temperature[1] ]T
0
,
p
0
Ρ
0
R
¦;
mu[1] {1, 1};
lambda[1] ]Λ
0
,
2
3
Μ
0
¦;
stress[1] ]Τ
0
,
Μ
0
u
0
l
0
,
Λ
0
u
0
l
0
¦;
Altogether, we have a coefficient collection like
base[i_] : {
density[i], momentum[i], energy[i],
pressure[i], temperature[i], mu[i], lambda[i], stress[i]
};
MatrixForm[base[1], TableAlignments Left]
¦
Ρ
0
t
0
,
u
0
Ρ
0
l
0
¦
¦
u
0
Ρ
0
t
0
,
u
0
2
Ρ
0
l
0
,
p
0
l
0
,
Τ
0
l
0
¦
¦
Ρ
0
e

0
t
0
,
u
0
Ρ
0
e

0
l
0
,
T
0
Κ
0
l
0
2
,
p
0
u
0
l
0
,
u
0
Τ
0
l
0
¦
¦p
0
, 1 Γ) Ρ
0
e

0
,
1
2
1 Γ) u
0
2
Ρ
0
¦
¦T
0
,
p
0
R Ρ
0
¦
{1, 1¦
¦Λ
0
,
2 Μ
0
3
¦
¦Τ
0
,
u
0
Μ
0
l
0
,
u
0
Λ
0
l
0
¦
We inform Mathematica that all of these reference quantities are real-valued:
reference Select[
Flatten[base[1] //. {Times List, Power List, Plus List}],
Not[NumericQ[]] &] // DeleteDuplicates // Sort
{R, Γ, l
0
, p
0
, t
0
, T
0
, u
0
, Κ
0
, Λ
0
, Μ
0
, Ρ
0
, Τ
0
, e

0
¦
\$Assumptions Prepend[
Element[reference, Reals]]
{R Γ l
0
p
0
t
0
T
0
u
0
Κ
0
Λ
0
Μ
0
Ρ
0
Τ
0
e

0
) Reals, R 0, Γ 0,
l
0
0, p
0
0, t
0
0, T
0
0, u
0
0, Κ
0
0, Λ
0
0, Μ
0
0, Ρ
0
0, Τ
0
0, e

0

We divide through by the first coefficient in each equation
density[2] density[1] / density[1][[1]];
momentum[2] momentum[1] / momentum[1][[1]];
energy[2] energy[1] / energy[1][[1]];
pressure[2] pressure[1] / pressure[1][[1]];
temperature[2] temperature[1] / temperature[1]#1];
mu[2] mu[1] / mu[1]#1];
lambda[2] lambda[1] / lambda[1][[1]];
stress[2] stress[1] / stress[1][[1]];
to get a collection like
2 NSNondimensionalization.nb
MatrixForm[base[2], TableAlignments Left]
¦1,
t
0
u
0
l
0
¦
¦1,
t
0
u
0
l
0
,
p
0
t
0
l
0
u
0
Ρ
0
,
t
0
Τ
0
l
0
u
0
Ρ
0
¦
¦1,
t
0
u
0
l
0
,
t
0
T
0
Κ
0
l
0
2
Ρ
0
e

0
,
p
0
t
0
u
0
l
0
Ρ
0
e

0
,
t
0
u
0
Τ
0
l
0
Ρ
0
e

0
¦
¦1,
1Γ) Ρ
0
e

0
p
0
,
1Γ) u
0
2
Ρ
0
2 p
0
¦
¦1,
p
0
R T
0
Ρ
0
¦
{1, 1¦
¦1,
2 Μ
0
3 Λ
0
¦
¦1,
u
0
Μ
0
l
0
Τ
0
,
u
0
Λ
0
l
0
Τ
0
¦
We expect these derived quantities to appear
constants ]
Re
Ρ
0
u
0
l
0
Μ
0
,
Pr
Μ
0
C
p
Κ
0
,
C
p

Γ R
Γ 1
,
Ma
u
0
a
0
¦;
We now choose different reference quantities and investigate their impact on the nondimensional equations.
Case A: Reference l
0
, T
0
, and Ρ
0
Here we set a simulation lengthscale l
0
and reference thermodynamics state T
0
, Ρ
0
. We fix reference quantities as follows:
NSNondimensionalization.nb 3
rulesA ¦
Λ
0
Μ
0
,
a
0
Γ R T
0
,
u
0
a
0
,
e

0
a
0
2
,
t
0

l
0
a
0
,
p
0
Ρ
0
R T
0
,
Τ
0

Μ
0
a
0
l
0
¦;
caseA[1] base[2] //. rulesA // PowerExpand;
MatrixForm[caseA[1], TableAlignments Left]
{1, 1¦
¦1, 1,
1
Γ
,
Μ
0
R Γ l
0
T
0
Ρ
0
¦
¦1, 1,
Κ
0
R
3/2
Γ
3/2
l
0
T
0
Ρ
0
,
1
Γ
,
Μ
0
R Γ l
0
T
0
Ρ
0
¦
¦1, 1 Γ) Γ,
1
2
1 Γ) Γ¦
{1, 1¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
The more complicated terms appearing in the momentum and energy equations are merely combinations of nondimensional
quantities:
ConstantRules[rules_, expr_] : Map[
(PowerExpand[1 //. constants //. rules] 1) &, expr]
caseA[2] caseA[1] //. ConstantRules]rulesA, ¦
1
Re Pr (Γ 1)
,
1
Re
¦|;
Our final nondimensional coefficients, which can be matched term-by-term against the original equations, look as follows :
4 NSNondimensionalization.nb
MatrixForm[caseA[2], TableAlignments Left]
{1, 1¦
¦1, 1,
1
Γ
,
1
Re
¦
¦1, 1,
1
Pr Re 1Γ)
,
1
Γ
,
1
Re
¦
¦1, 1 Γ) Γ,
1
2
1 Γ) Γ¦
{1, 1¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
Because the thermodynamic state supplies the reference velocity u
0
, this form is quite simple. However, Γ appears in many
locations within the nondimensional equations.
Case B: Reference l
0
, T
0
, and Ρ
0
with p
0
= Ρ
0
a
0
2
Here we set a simulation lengthscale l
0
and reference thermodynamics state T
0
, Ρ
0
. The choice p
0
= Ρ
0
a
0
2
causes the gas
constant Γ to appear as a scaling factor in nondimensional pressure, but this cancels many Γ-related factors that appear in case A
where p
0
= Ρ
0
R T
0
. We fix reference quantities as follows:
NSNondimensionalization.nb 5
rulesB ¦
Λ
0
Μ
0
,
a
0
Γ R T
0
,
u
0
a
0
,
e

0
a
0
2
,
t
0

l
0
a
0
,
p
0
Ρ
0
a
0
2
,
Τ
0

Μ
0
a
0
l
0
¦;
caseB[1] base[2] //. rulesB // PowerExpand;
MatrixForm[caseB[1], TableAlignments Left]
{1, 1¦
¦1, 1, 1,
Μ
0
R Γ l
0
T
0
Ρ
0
¦
¦1, 1,
Κ
0
R
3/2
Γ
3/2
l
0
T
0
Ρ
0
, 1,
Μ
0
R Γ l
0
T
0
Ρ
0
¦
¦1, 1 Γ,

2
¦
{1, Γ¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
Again we see combinations of several nondimensional quantities:
caseB[2] caseB[1] //. ConstantRules]rulesB, ¦
1
Re Pr (Γ 1)
,
1
Re
¦|;
Our final nondimensional coefficients, which can be matched term-by-term against the original equations, look as follows :
6 NSNondimensionalization.nb
MatrixForm[caseB[2], TableAlignments Left]
{1, 1¦
¦1, 1, 1,
1
Re
¦
¦1, 1,
1
Pr Re 1Γ)
, 1,
1
Re
¦
¦1, 1 Γ,

2
¦
{1, Γ¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
This form is even simpler than case A. It is not, however, suitable for cases where low Mach number asymptotics are of interest.
Case C: Reference l
0
, u
0
, T
0
, and Ρ
0
with p
0
= Ρ
0
a
0
2
Here we set a simulation lengthscale l
0
, velocity scale u
0
, and reference thermodynamics state T
0
, Ρ
0
. Separating the velocity
scale u
0
from the reference speed of sound a
0
will conjure the Mach number. We again choose p
0
= Ρ
0
a
0
2
to reduce the occur-
rence of Γ in the equations.
NSNondimensionalization.nb 7
rulesC ¦
Λ
0
Μ
0
,
a
0
Γ R T
0
,
e

0
a
0
2
,
t
0

l
0
u
0
,
p
0
Ρ
0
a
0
2
,
Τ
0

Μ
0
u
0
l
0
¦;
caseC[1] base[2] //. rulesC // PowerExpand;
MatrixForm[caseC[1], TableAlignments Left]
{1, 1¦
¦1, 1,
R Γ T
0
u
0
2
,
Μ
0
l
0
u
0
Ρ
0
¦
¦1, 1,
Κ
0
R Γ l
0
u
0
Ρ
0
, 1,
u
0
Μ
0
R Γ l
0
T
0
Ρ
0
¦
¦1, 1 Γ,
1Γ) u
0
2
2 R Γ T
0
¦
{1, Γ¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
caseC[2] caseC[1] //. ConstantRules]rulesC, ¦
1
Re Pr (Γ 1)
,
(1 Γ) Ma
2
2
, Ma
2
Re
1
, Ma
2
, Ma
1
, Ma
2
, Re
1
¦|;
MatrixForm[caseC[2], TableAlignments Left]
{1, 1¦
¦1, 1,
1
Ma
2
,
1
Re
¦
¦1, 1,
1
Pr Re 1Γ)
, 1,
Ma
2
Re
¦
¦1, 1 Γ,
1
2
Ma
2
1 Γ)¦
{1, Γ¦
{1, 1¦
¦1,
2
3
¦
{1, 1, 1¦
This form has an explicit Mach number dependence to in the nondimensional equations.
8 NSNondimensionalization.nb
This form has an explicit Mach number dependence to in the nondimensional equations.
NSNondimensionalization.nb 9