Dissipation Terms HNS17 HNS17G

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

On Dissipation Terms of Upwind Fluxes for Hyperbolic

Navier-Stokes Systems: HNS17 and HNS17G


Hiroaki Nishikawa
January 24, 2022

Abstract
In this note, I compare the dissipation terms of the viscous upwind fluxes for the hyperbolic Navier-Stokes systems: HNS17
and HNS17G, which are subsystems of HNS20 and HNS20G, respectively. In the hyperbolic Navier-Stoke method, the viscous
terms are written as a hyperbolic system and discretized with an upwind flux, resulting in a solver that converges faster
and produces one-order-higher accurate derivative quantities (e.g., viscous stresses and heat fluxes) on irregular grids than
conventional solvers. The upwind fluxes for HNS17 and HNS17G can be found in the literature, and they look slightly different.
The objective of this note is to present detailed derivations and clarify the differences. The discussion directly applies to HNS20
and HNS20G.

1 Navier-Stokes Equations
Consider the compressible Navier-Stokes (NS) equations:

div(ρv) = 0, (1)

div(ρv⊗v) = −grad p + div τ , (2)

div(ρvH) = div (τ v) − div q, (3)

where ⊗ denotes the dyadic product, ρ is the density, v is the velocity vector, p is the pressure, E is the specific total energy, and
H = E + p/ρ is the specific total enthalpy. The viscous stress tensor τ and the heat flux q are given, under Stokes’ hypothesis,
by
2 ( ) µ
τ = − µ(div v)I + µ grad v + (grad v)t , q=− grad T, (4)
3 P r(γ − 1)

where I is the identity matrix, T is the temperature, γ is the ratio of specific heats, P r is the Prandtl number, µ is the viscosity
defined by Sutherland’s law, and the superscript t denotes the transpose. In this note, all vectors are defined as column vectors,
and therefore, if a vector has the superscript t, it is understood as a row vector. All the quantities are assumed to have been
nondimensionalized by their free-stream values except that the velocity and the pressure are scaled by the free-stream speed
of sound and the free-stream dynamic pressure, respectively (see Ref.[1]). Thus, the viscosity is given by the following form of
Sutherland’s law:

M∞ 1 + C/T̃∞ 3
µ= T 2, (5)
Re∞ T + C/T̃∞

where T̃∞ is the dimensional free stream temperature, and C = 110.5 [K] is the Sutherland constant. The ratio of the free
stream Mach number, M∞ , to the free stream Reynolds number, Re∞ , arise from the nondimensionalization. The system is
closed by the nondimensionalized equation of state for ideal gases:

γp = ρT. (6)

For unsteady problems, physical time derivatives would have to be added, but for our purpose, it suffices to consider the steady
NS system,

1
2 HNS17: Hyperbolic Navier-Stokes System with Scaled Gradients
2.1 HNS17
A hyperbolic system is constructed by adding the equations for the scaled velocity gradients and the heat fluxes:
∂τ ρ + div(ρv) = 0, (7)

∂τ (ρv) + div(ρv⊗v) = −grad p + div τ , (8)

∂τ (ρE) + div(ρvH) = div (τ v) − div q, (9)


Tv g
∂τ g = grad v − , (10)
µv µv
Th 1 q
∂τ q = − grad T − , (11)
µh γ(γ − 1) µh
where τ is a pseudo time, µv and µh are scaled viscosities,
4 γµ
µv = µ, µh = , (12)
3 Pr
and Tv and Th are relaxation times associated with the velocity gradients and the heat flux [2, 3, 4] defined as
L2v L2h µv µh
Tv = , Th = , νv = , νh = , (13)
νv νh ρ ρ
where Lv and Lh are length scales defined as described in Refs.[5, 6].
The above system of 17 equations for 17 unknown variables was first introduced in Ref.[7], and is called HNS17. See Ref.[7]
for further details, e.g., its motivation and a relationship with HNS14 (which uses viscous stresses instead of the scaled velocity
gradients). The variables related to the derivative quantities such as g and q are referred to as the gradient variables. In the
pseudo steady state or as soon as the pseudo time derivatives are dropped, they become equivalent to the heat flux and the
scaled velocity gradients:
µh
q=− grad T, g = µv grad v, (14)
γ(γ − 1)
and thus the viscous stress tensor is given by
1 3( )
τ = − tr(g)I + g + gt , (15)
2 4
where tr(g) denotes the trace of g. The physical time derivatives have been ignored here, but can be added and discretized by
an implicit time-stepping scheme for solving unsteady problems [8, 9]. HNS17 is a subset of HNS20; the latter has additional
gradient variables corresponding to the density gradient and thus has the ability to produce accurate gradients for all the
primitive variables. HNS17 can be extended to HNS20 simply by adding an independent artificial hyperbolic diffusion system
for the density and the density gradient, and therefore the discussion on HNS17 is directly applicable to HNS20. For this reason,
we will focus on HNS17 in this note; see Ref.[7] for further details on the relationship between HNS17 and HNS20.
In the vector form, HNS17 can be written as
P−1 ∂τ U + divF = S, (16)
where, with the notation [gu , gv , gw ] = gt ,
 
  ρvt  
ρ   0
   ρv⊗v + pI − τ   
 ρv     0 
     
   ρvt H − (τ v)t + qt   
 ρE     
     0 
     
   −uI   
U= gu  , F = , S =  −gu /µv , (17)
     
   −vI   
 gv     −gv /µv 
     
   −wI   
 gw     −gw /µv 
     
 T 
q I −q/µh
γ(γ − 1)

2
( )
−1 Tv Tv Tv Tv Tv Tv Tv Tv Tv Th Th Th
P = diag 1, 1, 1, 1, 1, , , , , , , , , , , , . (18)
µv µv µv µv µv µv µv µv µv µh µh µh
The projected flux Fn = Fn in the direction of an arbitrary unit vector n is written as a sum of the inviscid flux Fin and the
viscous flux Fvn :

Fn = Fin + Fvn , (19)

where
 
  0
ρun  
   −τn 
 ρun v + pn   
   
   −τ + q 
   nv n 
 ρun H   
   
   −un 
Fin =  0 , Fvn =  , (20)
   
   −vn 
 0   
   
   −wn 
 0   
   
 T 
0 n
γ(γ − 1)

un = v · n, qn = q · n, τn = τ n, τnv = τn · v. (21)

In the three-dimensional Cartesian coordinate system, we write


     
nx u gux guy guz
    [ ]t  
n=   
 ny  , v =  v  , g = gu gv gw =
 gvx gvy gvz 
, (22)
nz w gwx gwy gwz

       
τxx τxy τxz qx 0 1 0 0
       
τ =
 τyx τyy τyz 
, q= 
 qy  , 0= 
 0 , I=
 0 1 0 
, (23)
τzx τzy τzz qz 0 0 0 1

un = v · n = unx + vny + wnz , qn = q · n = qx nx + qy ny + qz nz , (24)

   
τnx τxx nx + τxy ny + τxz nz
   
τn =    
 τny  = τ n =  τyx nx + τyy ny + τyz nz  , τnv = τn · v = τnx u + τny v + τnz w. (25)
τnz τzx nx + τzy ny + τzz nz

2.2 Dissipation Term


The viscous part of HNS17 is hyperbolic and therefore we discretize the viscous system by an upwind method with the
numerical flux defined by
1 v 1 ∂Fvn
[Fn (UL ) + Fvn (UR )] − P−1 |PAvn | (UR − UL ) , Avn = , (26)
2 2 ∂U
where UL and UR are solutions reconstructed at a face. See Refs.[7, 10, 11] for further details of the discretization. Here, we
focus on the dissipation term:

|PAvn | ∆U, ∆U = UR − UL , (27)

and present its derivation from the eigenvalues and eigenvectors. It is constructed as

8
( )
|PAvn | ∆U = |λk | ℓtk ∆U rk , (28)
k=1

3
where ℓtk and rk denote the left and right eigenvectors, respectively, corresponding to the k-th eigenvalue λk of PAvn . We present
the eigenvalues and vectors, and construct the dissipation term; as one can expect, there are only eight non-trivial contributions.
Note that the flux Fvn does not involve the viscosity and therefore there is no need to differentiate the viscosity in the Jacobian
v
An . As discussed in Ref.[4], this simplicity was the main motivation of the locally-preconditioned formulation (16) with P and
the use of the viscous stresses (or the scaled gradients) and the heat fluxes as additional variables.
The eigenvalues of PAvn are given by

λ1 = −anv , λ2 = anv , λ3 = −amv , λ4 = amv , (29)


λ5 = −alv , λ6 = alv , λ7 = −ah , λ8 = ah , (30)

and λ9,...,17 = 0, where


√ √ √
νv 3νv νh
anv = , amv = alv = , ah = . (31)
Tv 4Tv Th
Right eigenvectors associated with the eight non-zero eigenvalues, which are relevant to the construction of a numerical flux, are
given by
 
    0
0 0  
     
     m 
 n   n   
     
     τnm P rm 
     
 un + τnn P rn   un − τnn P rn   um + ρah (P rm 2 − 1) 
 
ρah (P rn − 1) 
2  
ρah (P rn − 1) 
2  
   
     4 
r1 = 
 a n
nv x n 
 , r2 = 
 −a n
nv x n 
 , r3 = 
 3
amv m x n ,
 (32)
     
     4 
 anv ny n   −anv ny n   amv my n 
     3 
     
 anv nz n   −anv nz n   4 
     
     amv mz n 
 τnn   τnn   3 
− n − n  τnm 
ρ(P rn − 1)
2 ρ(P rn − 1)
2 − 2 − 1)
n
ρ(P rm

     
0 0 0
     
     
 m   l   l 
     
     
 τnm P rm   τnl P rl   τnl P rl 
 um −   ul +   ul − 
 ρa h (P rm − 1)
2   ρa (P rl2 − 1)   ρa (P rl2 − 1) 
   h   h 
     
 4   4   4 
r4 =  − amv mx n , r5 =  alv lx n , r6 =  − alv lx n , (33)
 3   3   3 
     
 4   4   4 
 − amv my n   alv ly n   − alv ly n 
 3   3   3 
     
 4   4   4 
 − amv mz n     − alv lz n 
   alv lz n   
 3   3   3 
 τnm   τnl   τnl 
− n − n − n
2 − 1)
ρ(P rm ρ(P rl2 − 1) ρ(P rl2 − 1)

   
0 0
   
 0   0 
   
   
 −1   
   1 
   
   
r7 =  0  , r8 =  0 , (34)
   
   
 0   0 
   
   
 0   0 
   
ah n ah n

4
where m = [mx , my , mz ]t and l = [lx , ly , lz ]t are unit vectors satisfying m · l = 0, m · n = 0, l · n = 0 (i.e., n, m, and l are
mutually orthogonal unit vectors [1]), and

τnl = τnx lx + τny ly + τnz lz , τnm = τnx mx + τny my + τnz mz , τnn = τnx nx + τny ny + τnz nz , (35)

ul = ulx + vly + wlz , um = umx + vmy + wmz , (36)

anv amv alv amv


P rn = , P rm = , P rl = = = P rm . (37)
ah ah ah ah
Note that the eigenvectors for the zero eigenvalues can be derived and shown to be linearly independent (see Ref.[10]) and
therefore the system is hyperbolic; they just do not contribute to the dissipation and thus are not considered here. There is,
however, an approach to turning them into nonzero eigenvalues. See Refs.[2, 3, 12], where I discuss a way of reformulating source
terms as hyperbolic systems (called the fully hyperbolic formulation), thus generating nonzero eigenvalues. See also Ref.[13] for
its generalization: the general form of the hyperbolization of a curl-free source term vector (see Eqs.(4.18)-(4.21) in Ref.[13]).
The corresponding left eigenvectors, ℓtk , k = 1, 2, 3, 4, 5, 6, 7, 8, can be found as
     
−un −un −um
     
     m 
 n   n   
     
     
 0   0   0 
     
     
 3nx n − δ 1   −3nx n + δ 1   3(mx n + nx m) 
1  1   1  
ℓ1 =  2anv  , ℓ2 = 
  2anv  , ℓ3 = 
  4amv ,
 (38)
2  2  2 
 3ny n − δ 2   −3ny n + δ 2   3(my n + ny m) 
     
 2anv   2anv   4amv 
     
 3nz n − δ 3   −3nz n + δ 3   3(mz n + nz m) 
     
     
 2anv   2a nv   4a mv 
0 0 0

     
−um −ul −ul
     
 m   l   l 
     
     
     
 0   0   0 
     
     
 −3(mx n + nx m)   3(lx n + nx l)   −3(lx n + nx l) 
1   1   1  
ℓ4 =  4amv ,
 ℓ5 =  4alv ,
 ℓ6 =  4alv ,
 (39)
2  2  2 
 −3(my n + ny m)   3(ly n + ny l)   −3(ly n + ny l) 
     
 4amv   4alv   4alv 
     
 −3(mz n + nz m)   3(lz n + nz l)   −3(lz n + nz l) 
     
     
 4amv   4alv   4alv 
0 0 0

5
 ( ) 
a2 v2 1 un τnn um τnm ul τnl
 − − + + 
 γ(γ − 1) 2 ρah P rn2 −1 P rm 2 −1 P rl2 −1 
 ( ) 
 1 τnn τnm τnl 
 v+ n+ m+ l 
 ρah P rn2 −1 2 −1 P rl2 −1 
 P rm 
 
 −1 
 
 ( ) 
 
2nx n − 2δ 1 /3
1 
3 mx n + nx m lx n + n x l
 τnn + τnm + τ 
ℓ7 =  4ρa2h P rn2 −1 P rm2 −1 P rl2 −1
nl
, (40)
2 
 ( ) 
 3 2ny n − 2δ 2 /3 m y n + ny m ly n + n y l 
 τnn + τnm + τnl 
 4ρa2 P r 2 −1 P rm2 −1 P rl −1
2 
 h n 
 ( ) 
 2nz n − 2δ 3 /3 
 3 mz n + nz m lz n + n z l
τnl 
 τnn + τnm + 
 4ρa2h P rn2 −1 P rm2 −1 P rl −1
2

 
 n 
ah

 ( ) 
a2 v2 1 un τnn um τnm ul τnl
 − + − + + 
 γ(γ − 1) 2 ρah P rn2 −1 P rm 2 −1 P rl2 −1 
 ( ) 
 1 τnn τnm τnl 
 −v + n + m + l 
 ρah P rn2 −1 2 −1 P rl2 −1 
 P rm 
 
 1 
 
 ( ) 
 
2nx n − 2δ 1 /3
1 
3 mx n + nx m lx n + n x l
 − τnn + τnm + τ 
ℓ8 =  4ρa2h P rn2 −1 P rm2 −1 P rl2 −1
nl
, (41)
2 
 ( ) 
 2ny n − 2δ 2 /3 
 − 3 τnn +
my n + ny m
τnm +
ly n + ny l
τnl 
 4ρa2 P rn −1
2 P rm2 −1 P rl −1
2 
 h 
 ( ) 
 2nz n − 2δ 3 /3 
 − 3 m z n + nz m lz n + nz l 
 τnn + τnm + τnl 
 2
4ρah P rn −1
2 P rm2 −1 P rl2 −1 
 
 n 
ah

where δ 1 = [1, 0, 0]t , δ 2 = [0, 1, 0]t , δ 3 = [0, 0, 1]t , and a2 = γp/ρ. It is remarked that the 4th, 5th, and 6th elements of the left
eigenvectors expressed as above are the column vectors of the following matrices:
1
± (3n⊗n − I) , for ℓ1/2 , (42)
4anv
3
±
(m⊗n + n⊗m) , for ℓ3/4 , (43)
8amv
3
± (l⊗n + n⊗l) , for ℓ5/6 , (44)
8alv
( )
3 2n⊗n − 23 I m⊗n + n⊗m l⊗n + n⊗l
± τnn + τ nm + τ nl , for ℓ7/8 . (45)
8ρa2h P rn2 −1 2 −1
P rm P rl2 −1

Then, the amplitudes of the contributing waves are obtained as follows:


ρ ∆un ∆τnn ρ ∆un ∆τnn
ℓt1 ∆U = + , ℓt2 ∆U = − , (46)
2 2anv 2 2anv

ρ ∆um ∆τnm ρ ∆um ∆τnm


ℓt3 ∆U = + , ℓt4 ∆U = − , (47)
2 2amv 2 2amv

ρ ∆ul ∆τnl ρ ∆ul ∆τnl


ℓt5 ∆U = + , ℓt6 ∆U = − , (48)
2 2alv 2 2alv

6
[ ( ) ( ) ( )]
1 ρah ∆T τnn ∆τnn τnm ∆τnm τnl ∆τnl
ℓt7 ∆U = ∆qn − + ∆un + + 2 ∆um + + 2 ∆ul + , (49)
2ah γ(γ −1) P rn2 −1 ρah P rm −1 ρah P rl −1 ρah
[ ( ) ( ) ( )]
1 ρah ∆T τnn ∆τnn τnm ∆τnm τnl ∆τnl
ℓt8 ∆U = ∆qn + + 2 ∆un − + 2 ∆um − + 2 ∆ul − , (50)
2ah γ(γ −1) P rn −1 ρah P rm −1 ρah P rl −1 ρah
where
γ∆p − a2 ∆ρ
∆T = . (51)
ρ
Finally, the dissipation term is given by

8
( )
|PAvn | ∆U = |λk | ℓtk ∆U rk
k=1

{( ) ( ) }
ρ ∆un ∆τnn ρ ∆un dτnn
= anv + r1 + − r2
2 2anv 2 2anv
{( ) ( ) }
ρ ∆um ∆τnm ρ ∆um ∆τnm
+ amv + r3 + − r4
2 2amv 2 2amv
{( ) ( ) }
ρ ∆ul ∆τnl ρ ∆ul ∆τnl
+ alv + r5 + − r6
2 2alv 2 2alv
{ }
+ ah (ℓt7 ∆U)r7 + (ℓt8 ∆U)r8 , (52)
where
 
0  
  0
   
 ρ ∆un n   
   ρ anv ∆un n 
   
 τnn P rn ∆τnn   
 ρu ∆u +   
 n n
ρah (P rn2 − 1) anv   P rn τnn ∆τnn 
   anv ρun ∆un + 
   ρah (P rn2 − 1) 
{( ) ( ) }  ∆τnn   
   
ρ ∆un ∆τnn ρ ∆un ∆τnn  anv nx n   anv ∆τnn nx n 
anv + r1 + − r2 = anv  anv =  , (53)
2 2anv 2 2anv    
 ∆τnn   
   anv ∆τnn ny n 
 anv ny n   
 anv   
   
 ∆τnn   anv ∆τnn nz n 
   
 anv nz n   
 anv   
   anv τnn ∆un 
 τnn ρ ∆un  − n
− n P rn2 − 1
ρ(P rn2 − 1)
   
0 0
   
   
 ρ ∆um m   ρ amv ∆um m 
   
   
   
 ρu ∆u + τnm P rm ∆τnm   a ρu du + P rm τnm ∆τnm 
 m m ρa (P r2 − 1) a   mv m m 2 − 1) 
 h m mv   ρah (P rm 
   
{( ) ( ) }  ∆τnm 4   4 
   
ρ ∆um ∆τnm ρ ∆um ∆τnm  amv mx n   amv ∆τnm mx n 
amv + r3 + − r4 = amv amv 3 = 3  , (54)
2 2amv 2 2amv    
 ∆τnm 4   4 
   
 amv my n   amv ∆τnm my n 
 amv 3   3 
   
 ∆τnm 4   4 
   amv ∆τnm mz n 
 amv mz n   
 amv 3   3 
   
 τnm ρ ∆um   amv τnm ∆um 
− 2 − 1)
n − 2 −1
n
ρ(P rm P rm

7
   
0 0
   
 ρ ∆ul l   
   ρ amv ∆ul l 
   
   
 τnl P rl ∆τnl   
 ρul ∆ul +   a ρu ∆u + P rl τnl ∆τnl 
 ρah (P rl − 1) alv
2   mv l l ρa (P r2 − 1) 
   h 
   l

{( ) ( ) }  ∆τnl 4   4 
   
ρ ∆ul ∆τnl ρ ∆ul ∆τnl  alv lx n   amv ∆τnl lx n 
alv + r3 + − r4 = alv  alv 3 = 3  , (55)
2 2alv 2 2alv    
 ∆τnl 4   4 
   
 alv ly n   amv ∆τnl ly n 
 alv 3   3 
   
 ∆τnl 4   4 
   amv ∆τnl lz n 
 alv lz n   
 alv 3   3 
   
 τnl ρ ∆ul   amv τnl ∆ul 
− n − n
ρ(P rl2 − 1) P rl2 − 1

where we have used the fact alv = amv , and


 
0
 
 
 0 
 
 
 
 (ℓt8 ∆U) − (ℓt7 ∆U) 
{ }  
ah (ℓt7 ∆U)r7 + (ℓt8 ∆U)r8 = ah 



 0 
 
 
 
 0 
 
 
{ }
ah (ℓt8 ∆U) + (ℓt7 ∆U) n
 
0
 
 
 0 
 
 
 1 [ ρa ∆T ( ) ( ) ( )] 
 h τnn ∆τnn τnm ∆τnm τnl ∆τnl 
 + − + − + − 
 ah γ(γ −1) P rn2 −1 ρah 2 −1
P rm ρah P rl2 −1 ρah 
 
= ah  
 0 
 
 
 
 0 
 
 
 [ ] 
 τnn τnm τnl 
∆qn + 2 (∆un)+ 2 (∆um)+ 2 (∆ul) n
P rn −1 P rm −1 P rl −1
 
0
 
 
 0 
 
 { } 
 ρa ∆T 
 h 1 τnn ∆τnn τnm ∆τnm τnl ∆τnl 
 − + + 
 γ(γ −1) ρah P rn2 −1 2 −1
P rm P rl2 −1 
 
=  . (56)
 0 
 
 
 
 0 
 
 
 [ ] 
 τnn ∆un τnm ∆um τnl ∆ul 
ah dqn + + + n
P rn2 −1 P rm 2 −1 P rl2 −1

8
Therefore,


8
( )
|PAnv | ∆U = |λk | ℓtk ∆U rk
k=1

 
0
 
 
 ρ anv ∆un n + ρ amv ∆um m + ρ aml ∆ul l 
 
 
 
 D5 
 
 ( ) 
 
 4 
 anv ∆τnn nx + amv {∆τnm mx + ∆τnl lx } n 
 3 
=  ( ) 
 
 4 
 anv ∆τnn ny + amv {∆τnm my + ∆τnl ly } n 
 3 
 
 ( ) 
 4 
 anv ∆τnn nz + amv {∆τnm mz + ∆τnl lz } n 
 3 
 
 [ ] 
 anv τnn ∆un amv τnm ∆um alv τnl ∆ul τnn ∆un τnm ∆um τnl ∆ul 
− n − n − n + ah ∆q n + + + n
P rn2 − 1 2 −1
P rm P rl2 − 1 P rn2 −1 P rm
2 −1 P rl2 −1
 
0
 
 ρ (anv ∆un n + amv {∆um m + ∆ul l}) 
 
 
 
 
 D5 
 
 ( ) 
 
 4 
 anv ∆τnn nx + amv {∆τnm mx + ∆τnl lx } n 
 3 
=  , (57)
 ( ) 
 4 
 anv ∆τnn ny + amv {∆τnm my + d∆τnl ly } n 
 3 
 
 ( ) 
 4 
 a ∆τ n + a {∆τ m + ∆τ l } n 
 nv nn z
3
mv nm z nl z 
 
 { [ ]} 
 anv τnn ∆un amv (τnm ∆um + τnl ∆ul ) τnn ∆un τnm ∆um + τnl ∆ul 
− − + a h ∆q n + + n
P rn2 − 1 P rm2 −1 P rn2 −1 2 −1
P rm

where we have used the fact P rl = P rm , and


P rn τnn ∆τnn P rm τnm ∆τnm P rm τnl ∆τnl
D5 = anv ρun ∆un + + amv ρum ∆um + + amv ρul ∆ul +
ρah (P rn2 − 1) 2 − 1)
ρah (P rm ρah (P rl2 − 1)
{ }
ρah ∆T 1 τnn ∆τnn τnm ∆τnm τnl ∆τnl
+ − + +
γ(γ −1) ρah P rn2 −1 2 −1
P rm P rl2 −1

P rn τnn ∆τnn P rm τnm ∆τnm P rm τnl ∆τnl


= ρ (anv un ∆un + amv um ∆um + alv ul ∆ul ) + + +
ρah (P rn − 1)
2 ρah (P rm − 1)
2 ρah (P rl2 − 1)
{ }
ρah ∆T 1 τnn ∆τnn τnm ∆τnm + τnl ∆τnl
+ − +
γ(γ −1) ρah P rn2 −1 2 −1
P rm

P rn τnn ∆τnn P rm (τnm ∆τnm + τnl ∆τnl )


= ρ (anv un ∆un + amv {um ∆um + ul ∆ul }) + +
ρah (P rn − 1)
2 2 − 1)
ρah (P rm
{ }
ρah ∆T 1 τnn ∆τnn τnm ∆τnm + τnl ∆τnl
+ − + . (58)
γ(γ −1) ρah P rn2 −1 2 −1
P rm

9
Then, using the following identities (see Ref.[1]),

∆un n + ∆um m + ∆ul l = ∆v, (59)

un ∆un + um ∆um + ul ∆ul = v · ∆v, (60)

∆τnn nx + ∆τnm mx + ∆τnl lx = ∆τnx (61)

∆τnn ny + ∆τnm my + ∆τnl ly = ∆τny (62)

∆τnn nz + ∆τnm mz + ∆τnl lz = ∆τnz (63)

τnn ∆τnn + τnm ∆τnm + τnl ∆τnl = τn ·∆τn , (64)

τnn ∆un + τnm ∆um + τnl d∆ul = τnx ∆u + τny ∆v + τnz ∆w = τn ·dv, (65)

we eliminate all terms related to the tangent vectors m and l as follows:

P rn τnn ∆τnn P rm (τnm ∆τnm + τnl ∆τnl )


D5 = ρ (anv un ∆un + amv {um ∆um + ul ∆ul }) + +
ρah (P rn − 1)
2 2 − 1)
ρah (P rm
{ }
ρah ∆T 1 τnn ∆τnn τnm ∆τnm + τnl dτnl
+ − +
γ(γ −1) ρah P rn2 −1 2 −1
P rm

P rn τnn ∆τnn P rm (τn ·∆τn − τnn ∆τnn )


= ρ (anv un ∆un + amv {v · ∆v − un ∆un }) + +
ρah (P rn − 1)
2 2 − 1)
ρah (P rm
{ }
ρah ∆T 1 τnn ∆τnn τn ·∆v − τnn ∆un
+ − +
γ(γ −1) ρah P rn2 −1 2 −1
P rm

P rn τnn dτnn P rm (τn ·dτn − τnn ∆τnn )


= ρv · (anv ∆un n + amv {∆v − ∆un n}) + +
ρah (P rn − 1)
2 2 − 1)
ρah (P rm
{ }
ρah ∆T 1 τnn ∆τnn τn ·∆v − τnn ∆un
+ − +
γ(γ −1) ρah P rn2 −1 2 −1
P rm

ρah ∆T
= ρv · (anv ∆un n + amv {∆v − ∆un n}) +
γ(γ −1)
{ }
P rn τnn ∆τnn P rm (τn ·∆τn − τnn ∆τnn ) 1 τnn ∆τnn τn ·∆v − τnn ∆un
+ + − +
ρah (P rn − 1)
2 ρah (P rm − 1)
2 ρah P rn2 −1 2 −1
P rm

ρah ∆T
= ρv · (anv ∆un n + amv {∆v − ∆un n}) +
γ(γ −1)
[ ]
1 P rn τnn ∆τnn P rm (τn ·∆τn − τnn ∆τnn ) τnn ∆τnn τn ·∆v − τnn ∆un
+ + − −
ρah P rn2 − 1 2 −1
P rm P rn2 −1 2 −1
P rm

ρah ∆T
= ρv · (anv ∆un n + amv {∆v − ∆un n}) +
γ(γ −1)
[( ) ( ) ]
1 P rn − 1 P rm − 1
+ τnn ∆τnn + (τn ·∆τn − τnn ∆τnn )
ρah P rn2 − 1 2 −1
P rm

ρah ∆T
= ρv · (anv ∆un n + amv {∆v − ∆un n}) +
γ(γ −1)
[ ]
1 τnn ∆τnn τn ·∆τn − τnn ∆τnn
+ + , (66)
ρah P rn + 1 P rm + 1

10
and obtain

8
( )
|PAvn | ∆U = |λk | ℓtk ∆U rk
k=1

 
0
 
 ρ (anv ∆un n + amv {∆v − ∆un n}) 
 
 
 [ ] 
 τn ·∆τn − τnn ∆τnn 
 ρah ∆T 1 τnn ∆τnn 
 ρv · (anv ∆un n + amv {∆v − ∆u n n}) + + + 
 γ(γ −1) ρah P rn + 1 P rm + 1 
 [ ] 
 
 4 
 anv ∆τnn nx + amv {∆τnx − ∆τnn nx } n 
= 
 3 ,
 (67)
 [ ] 
 4 
 anv ∆τnn ny + amv {∆τny − ∆τnn ny } n 
 3 
 
 [ ] 
 4 
 anv ∆τnn nz + amv {∆τnz − ∆τnn nz } n 
 3 
 
 { [ ]} 
 anv τnn ∆un amv (τn ·∆v − τnn ∆un ) τnn ∆un τn ·∆∆v − τnn ∆un 
− − + ah ∆q n + + n
P rn2 − 1 2 −1
P rm P rn2 −1 2 −1
P rm

but the last component can be simplified as

{ [ ]}
anv τnn ∆un amv (τn ·∆v − τnn ∆un ) τnn ∆un τn ·∆v − τnn ∆un
− − + a h ∆qn + + n
P rn2 − 1 2 −1
P rm P rn2 −1 2 −1
P rm
{ [( ) ( ) ]}
anv τnn ∆un amv τn ·∆v − τnn ∆un
= ah ∆qn + ah 1− + 1− n
ah P rn2 −1 ah 2 −1
P rm
{ [ ]}
τnn ∆un τn ·∆v − τnn ∆un
= ah ∆qn + ah (1 − P rn ) +(1 − P rm ) n
P rn2 −1 2 −1
P rm
{ [ ]}
P rn − 1 P rm − 1
= ah ∆qn − ah τnn ∆un + (τn ·∆v − τnn ∆un ) n
(P rn + 1)(P rn − 1) (P rm + 1)(P rm − 1)
{ [ ]}
(τnn ∆un τn ·∆v − τnn ∆un
= ah ∆qn − ah + n, (68)
P rn + 1 P rm + 1

11
and therefore, we finally obtain


8
( )
|PAvn | ∆U = |λk | ℓtk ∆U rk
k=1

 
0
 
 ρ (anv ∆un n + amv {∆v − ∆un n}) 
 
 
 [ ] 
 
 ρv · (a ∆u n + a {∆v − ∆u n}) + ρah ∆T + 1 τnn ∆τnn + τn ·∆τn − τnn ∆τnn 
 nv n mv n 
 γ(γ −1) ρah P rn + 1 P rm + 1 
 {( ) } 
 
 4 4 
 anv − amv ∆τnn nx + amv ∆τnx n 

=  3 3 , (69)
{( ) } 
 
 4 4 
 anv − amv ∆τnn ny + amv ∆τny n 
 3 3 
 
 {( ) } 
 4 4 
 a − a ∆τ n + a ∆τ n 
 nv
3
mv nn z
3
mv nz 
 
 { [ ]} 
 (τnn ∆un τn ·∆v − τnn ∆un 
ah ∆qn − ah + n,
P rn + 1 P rm + 1

which agrees with the expression given in Equation (IV.10) in Ref.[10],

 
0
 
 ρ{(anv − amv )∆un n + amv ∆v} 
 
 { }
 
 ρah ∆T 1 τnn ∆τnn τn ·∆τn − τnn ∆τnn 
ρv·{(anv −amv )∆un n+amv ∆v} + + + 
 γ(γ −1) ρah P rn+1 P rm+1 
 
 {( ) } 
 
 4 4 
 anv − amv ∆τ nn n x + amv ∆τnx n 
v 
|PAn |∆U =  3 3 , (70)
{( ) } 
 
 4 4 
 anv − amv ∆τnn ny + amv ∆τny n 
 3 3 
 
 {( ) } 
 4 4 
 a − a ∆τ n + a ∆τ n 
 nv
3
mv nn z
3
mv nz 
 
 ( ) 
 τnn ∆un τn ·∆v − τnn ∆un 
ah ∆qn − − n
P rn + 1 P rm + 1

and also Equation (VI.8) in Ref.[7].

3 HNS17G: Hyperbolic Navier-Stokes System with Gradients


A new formulation of HNS17 was proposed in Ref.[14] (a new formulation of HNS20, to be exact, which includes HNS17)
in order to simplify the construction of high-order recosntructed discontinuous Galerkin discretizations for HNS formulations,
where the gradient variables are defined such that they are equivalent to the gradients of the primitive variables in the pseudo
steady state or as soon as the pseudo time derivatives are dropped. In this way, it is made straightforward to obtain second- and
higher-order derivatives for the primitive variables as described in Ref.[14]. This type of formulation was first introduced for a
nonlinear diffusion equation in Ref.[15] and later extended to the NS equations in Ref.[14]. In this approach, the physical flux
involves the viscosity and therefore the flux Jacobian contains the derivatives of the viscosity, in principle (avoiding this led to
the original HNS14/17/20 formulations [4, 7, 12]). To simplify the construction of the upwind flux, we proposed an approximate
derivation where the viscosity is frozen in computing the flux Jacobian. In Refs.[14, 15], it was shown that this approximate
treatment is similar, in its mechanism, to the construction of the upwind flux for advection diffusion equations with independent
dissipation coefficients and that it did not cause serious problems for the cases presented.

12
3.1 HNS17G
The HNS17G is given by

∂τ ρ + div(ρv) = 0, (71)

∂τ (ρv) + div(ρv⊗v) = −grad p + div (µv τ ) , (72)


( )
µh
∂τ (ρE) + div(ρvH) = div (µv τ v) + div q , (73)
γ(γ − 1)

Tv ∂τ g = grad v − g, (74)

Th ∂τ q = grad T − q, (75)

where µv , µh , Tv , and Th are defined as before, and we also have τ = − 12 tr(g)I + 3


4 (g + gt ). In this formulation, the gradient
variables q and g correspond to the temperature and velocity gradients:

q = grad T, g = grad v, (76)

in the pseudo steady state (or as soon as the pseudo time derivatives are dropped). In the vector form, the HNS17G system is
given by

P−1 ∂τ U + divF = S, (77)

where
     
ρ ρvt 0
     
 ρv   ρv⊗v + pI − µv τ   0 
     
     
 ρE   µh   0 
   ρvt H − (µv τ v)t − qt   
   γ(γ − 1)   
     
U= gu  , F = −uI , S =  −gu , (78)
     
     
 gv   −vI   −gv 
     
     
 gw   −wI   −gw 
     
q −T I −q

P−1 = diag (1, 1, 1, 1, 1, Tv , Tv , Tv , Tv , Tv , Tv , Tv , Tv , Tv , Th , Th , Th ) . (79)

The projected flux Fn = Fn in the direction of an arbitrary unit vector n is given by

Fn = Fin + Fvn , (80)

where
   
ρun 0
   
 ρun v + pn   −µv τn 
   
   
   µh 
 ρun H   −µv τnv − qn 
   γ(γ − 1) 
   
Fin =  0 , Fvn =  −un . (81)
   
   
 0   −vn 
   
   
 0   −wn 
   
0 −T n

We use the same notations as before, but the gradient variables are now equivalent to the gradients of the primitive variables.
Note in particular that the vector q corresponds to the temperature gradient, not the heat flux and thus not with a minus sign
as in the original formulation. Note that that the flux involves the viscosity in contrast to the original HNS17 system; compare
∂Fv
with the viscous flux in Equation (20). We freeze the viscosity in deriving the flux Jacobian Avn = ∂Un .

13
3.2 Dissipation Term
To construct the dissipation term, we need to derive the eigenvalues and eigenvectors. As one can easily derive, the eigenvalues
are the same as those for HNS17:

λ1 = −anv , λ2 = anv , λ3 = −amv , λ4 = amv , (82)


λ5 = −alv , λ6 = alv , λ7 = −ah , λ8 = ah , (83)

and λ9,...,17 = 0, where


√ √ √
νv 3νv νh
anv = , amv = alv = , ah = . (84)
Tv 4Tv Th

But the eigenvectors are slightly different. The right eigenvectors are given by
     
0 0 0
     
     
 n   n   m 
     
     
     
 un + µv τnn P rn   un − µv τnn P rn   um + µv τnm P rm 
 ρa (P r 2 − 1)   ρa (P r 2 − 1)   2 − 1)
ρah (P rm 
 h n   h n   
     
 1   1   1 4 
 anv nx n   − anv nx n   amv mx n 
r1 =  µ  , r2 =  µ  , r3 =  µ v 3 , (85)
 v   v   
 1   1   1 4 
 anv ny n   − anv ny n   amv my n 
     
 µv   µv   µv 3 
     
 1   1   1 4 
 anv nz n   − anv nz n   amv mz n 
 µv   µv   µv 3 
     
 γ(γ − 1)µv τnn   γ(γ − 1)µv τnn   γ(γ − 1)µv τnm 
n n n
ρµh (P rn2 − 1) ρµh (P rn2 − 1) 2 − 1)
ρµh (P rm

     
0 0 0
     
     
 m   l   l 
     
     
     
 um − µv τnm P rm   ul + µv τnl P rl   ul − µv τnl P rl 
 2 − 1)
ρah (P rm   ρah (P rl2 − 1)   ρah (P rl2 − 1) 
     
     
 1 4   1 4   1 4 
 − amv mx n   alv lx n   − alv lx n 
r4 =  µ v 3 , r5 =  µ v 3 , r6 =  µ v 3 , (86)
     
 1 4   1 4   1 4 
 − amv my n   alv ly n   − alv ly n 
     
 µv 3   µv 3   µv 3 
     
 1 4   1 4   1 4 
 − amv mz n   alv lz n   − alv lz n 
 µv 3   µv 3   µv 3 
     
 γ(γ − 1)µv τnm   γ(γ − 1)µv τnl   γ(γ − 1)µv τnl 
n n n
ρµh (P rm2 − 1) ρµh (P rl2 − 1) ρµh (P rl2 − 1)

   
0 0
   
 0   0 
   
   
 −1   
   1 
   
   
 0   0 
r7 =  , r8 =  . (87)
   
 0   0 
   
   
 0   0 
   
   
 γ(γ − 1)   γ(γ − 1) 
− ah n − ah n
µh µh

14
The amplitudes of the contributing waves are obtained as follows:
ρ ∆un µv ∆τnn ρ ∆un µv ∆τnn
ℓt1 ∆U = + , ℓt2 ∆U = − , (88)
2 2anv 2 2anv

ρ ∆um µv ∆τnm ρ ∆um µv ∆τnm


ℓt3 ∆U = + , ℓt4 ∆U = − , (89)
2 2amv 2 2amv

ρ ∆ul µv ∆τnl ρ ∆ul µv ∆τnl


ℓt5 ∆U = + , ℓt6 ∆U = − , (90)
2 2alv 2 2alv
[ ( ) ( ) ( )]
1 µh ρah ∆T µv τnn µv ∆τnn µv τnm µv ∆τnm µv τnl µv ∆τnl
ℓt7 ∆U = − ∆qn − + 2 ∆un + + 2 ∆um + + 2 ∆ul + , (91)
2ah γ(γ −1) γ(γ −1) P rn −1 ρah P rm −1 ρah P rl −1 ρah
[ ( ) ( ) ( )]
1 µh ρah ∆T µv τnn µv ∆τnn µv τnm µv ∆τnm µv τnl µv ∆τnl
ℓt8 ∆U = − ∆qn + + 2 ∆un − + 2 ∆um − + 2 ∆ul − . (92)
2ah γ(γ −1) γ(γ −1) P rn −1 ρah P rm −1 ρah P rl −1 ρah
As one can see, these expressions differ from those for HNS17 in the scalings of τnn , τnm , τnl , qn , etc., and there is a sign change
associated with the grad variable vector q, which corresponds here to the temperature gradient (not with a minus sign as in
Eq.(14)). Then, the dissipation term is obtained as
 
0
 
 ρ{(anv − amv )∆un n + amv ∆v} 
 
 { }
 
 ρah ∆T µ τnn ∆τnn τn ·∆τn − τnn ∆τnn 
2
ρv·{(anv −amv )∆un n+amv ∆v} + + v + 
 γ(γ −1) ρah P rn+1 P rm+1 
 
 {( ) } 
 
 4 4 
 anv − amv ∆τ nn n x + amv ∆τnx n 
|PAn |∆U = 
v  3 3 , (93)
{( ) } 
 
 4 4 
 anv − amv ∆τnn ny + amv ∆τny n 
 3 3 
 
 {( ) } 
 4 4 
 a − a ∆τ n + a ∆τ n 
 nv
3
mv nn z
3
mv nz 
 
 [ ( )] 
 γ(γ − 1)µv τnn ∆un τn ·∆v − τnn ∆un 
ah ∆qn + + n
µh P rn + 1 P rm + 1
which agrees with Equation (46) in Ref.[14]. Compare it with Eq.(70).

4 Remarks
The upwind dissipation term is very important for HNS solvers not only for providing stability but also for achieving superior
one-order-higher accuracy in the gradients. As mentioned in Ref.[2] (and also can be seen easily from the discretization), if the
dissipation term is ignored, a hyperbolic diffusion/viscous discretization will reduce to a conventional discretization, and all
the benefits of the hyperbolic method (e.g., accelerated iterative convergence and the same order of accuracy in the solutions
and gradients on irregular grids) will be lost. In both formulations HNS17 and HNS17G, we can have sufficient dissipation, as
shown in this note, to avoid the problem. Although the dissipation term for HNS17G is based on an approximate Jacobian with
the frozen viscosity, the resulting solver has been shown to work quite well and thus it is not clear whether the approximate
Jacobian has any disadvantage. From the fact that the frozen viscosity approach with HNS17G is similar, in terms of the nature
of approximation, to the separate construction of upwind fluxes for the advection and hyperbolic-diffusion terms [15], it seems
like a reasonable and practical approach and it does not seem to cause serious troubles. In perhaps all computational fluid
dynamics codes, the inviscid and viscous terms are discretized separately and added together to form a discretization for the NS
equations; and it has been demonstrated to work successfully for many applications over the past several decades.
Finally, as discussed in Ref.[16], these dissipation terms can be useful also for constructing conventional viscous schemes:
construct a viscous scheme by adding the first five components of the dissipation term, Eq.(70) or Eq.(93), to the arithmetic
average of the viscous fluxes across a face, which results in a robust conventional viscous scheme with a high-frequency damping
property. See Ref.[17] for the core idea of constructing a robust conventional scheme from an upwind hyperbolic diffusion scheme,
and Ref.[16] for its extensions to the NS equations.

15
References
[1] K. Masatsuka. I do like CFD, VOL.1, Second Edition. http://www.cfdbooks.com, 2013.
[2] H. Nishikawa. First-, second-, and third-order finite-volume schemes for diffusion. J. Comput. Phys., 256:791–805, 2014.

[3] H. Nishikawa. First, second, and third order finite-volume schemes for advection-diffusion. J. Comput. Phys., 273:287–309,
2014.
[4] H. Nishikawa. New-generation hyperbolic Navier-Stokes schemes: O(1/h) speed-up and accurate viscous/heat fluxes. In
Proc. of 20th AIAA Computational Fluid Dynamics Conference, AIAA Paper 2011-3043, Honolulu, Hawaii, 2011.

[5] H. Nishikawa and Y. Liu. Hyperbolic Navier-Stokes method for high-Reynolds-number boundary-layer flows. In 55th AIAA
Aerospace Sciences Meeting, AIAA Paper 2017-0081, Grapevine, Texas, 2017.
[6] H. Nishikawa and Y. Liu. Hyperbolic advection-diffusion schemes for high-Reynolds-number boundary-layer problems. J.
Comput. Phys., 352:23–51, 2018.
[7] H. Nishikawa. Alternative formulations for first-, second-, and third-order hyperbolic Navier-Stokes schemes. In Proc. of
22nd AIAA Computational Fluid Dynamics Conference, AIAA Paper 2015-2451, Dallas, TX, 2015.
[8] H. Nishikawa and P. L. Roe. Third-order active-flux scheme for advection diffusion: Hyperbolic diffusion, boundary condi-
tion, and Newton solver. Computers and Fluids, 125:71–81, 2016.
[9] Y. Liu and H. Nishikawa. Third-order inviscid and second-order hyperbolic Navier-Stokes solvers for three-dimensional
unsteady inviscid and viscous flows. In 55th AIAA Aerospace Sciences Meeting, AIAA Paper 2017-0738, Grapevine, Texas,
2017.
[10] Y. Nakashima, N. Watanabe, and H. Nishikawa. Hyperbolic Navier-Stokes solver for three-dimensional flows. In 54th AIAA
Aerospace Sciences Meeting, AIAA Paper 2016-1101, San Diego, CA, 2016.
[11] Y. Liu and H. Nishikawa. Third-order inviscid and second-order hyperbolic Navier-Stokes solvers for three-dimensional
inviscid and viscous flows. In 46th AIAA Fluid Dynamics Conference, AIAA Paper 2016-3969, Washington, D.C., 2016.
[12] H. Nishikawa. First, second, and third order finite-volume schemes for Navier-Stokes equations. In Proc. of 7th AIAA
Theoretical Fluid Mechanics Conference, AIAA Aviation and Aeronautics Forum and Exposition 2014, AIAA Paper 2014-
2091, Atlanta, GA, 2014.

[13] H. Nishikawa and Y. Liu. Accuracy-preserving source term quadrature for third-order edge-based discretization. J. Comput.
Phys., 344:595–622, 2017.
[14] L. Li, J. Lou., H. Nishikawa, and H. Luo. Reconstructed discontinuous Galerkin methods for compressible flows based on
a new hyperbolic Navier-Stokes system. J. Comput. Phys., 427:110058, 2021.
[15] J. Lou, L. Li, H. Luo, and H. Nishikawa. First-order hyperbolic system based reconstructed discontinuous Galerkin methods
for nonlinear diffusion equations on unstructured grids. In 56th AIAA Aerospace Sciences Meeting, AIAA Paper 2018-2094,
Kissimmee, Florida, 2018.
[16] H. Nishikawa. Two ways to extend diffusion schemes to Navier-Stokes schemes: Gradient formula or upwinding. In 20th
AIAA Computational Fluid Dynamics Conference, AIAA Paper 2011-3044, Honolulu, Hawaii, 2011.
[17] H. Nishikawa. Beyond interface gradient: A general principle for constructing diffusion schemes. In Proc. of 40th AIAA
Fluid Dynamics Conference and Exhibit, AIAA Paper 2010-5093, Chicago, IL, 2010.

16

You might also like