Coupled Flow Solver

With the coupled solver, the conservation equations for continuity, momentum, energy, and species are solved in a coupled manner, that is, they are solved simultaneously as a vector of equations. The velocity field is obtained from the momentum equations. From the continuity equation, the pressure is calculated and the density is evaluated from the equation of state.

The coupled system of equations is solved by either the implicit or the explicit time-integration scheme.

Governing Equations in Vector Form

The system of governing equations in Cartesian integral form for an arbitrary control volume V with differential surface area d a can be written as:

1. EQUATION_DISPLAY
tV WdV+ [F-G]da=VHdV
(946)

The vectors are defined as:

2. EQUATION_DISPLAY
W = [ ρ ρ v ρ E ]   ,   F = [ ρ v ρ vv + p I ρ v H + p v ] , G = [ 0 T T v+ q ˙ ] , H = [ S u f r + f g + f p + f u + f ω + f L S u ]
(947)

where:

  • ρ is the density of the fluid.
  • v is the velocity of the fluid.
  • p is the pressure.
  • E is the total energy per unit mass.
  • T is the viscous stress tensor.
  • q ˙ is the heat flux vector.
  • H is the vector of body forces.

Total energy is related to the total enthalpy H by:

3. EQUATION_DISPLAY
E = H - p / ρ
(948)

where:

4. EQUATION_DISPLAY
H = h + | v | 2 / 2
(949)

and h = C p T

where Cp is the specific heat capacity and T is the temperature.

For low Mach number and generally incompressible flows, the system of equations can become numerically stiff, which in turn can lead to convergence problems. To remedy this problem, preconditioning is introduced.

Preconditioned Equations

To provide efficient solution of both compressible and incompressible flows at all speeds, a preconditioning matrix Γ is incorporated into Eqn. (946) by multiplication with the transient term [294]:

5. EQUATION_DISPLAY
Γ   t   V Q d V + ( F - G ) d a = V H d V
(950)

where:

6. EQUATION_DISPLAY
Γ = [ θ 0 ρ T θ v ρ I ρ T v θ H - δ ρ v ρ T H + ρ C p ]
(951)
7. EQUATION_DISPLAY
Q = [ p v T ]
(952)

and ρ T = ρ T | p is the derivative of density with respect to temperature at constant pressure.

For ideal gases: δ = 1 ρ T = p R T For incompressible fluids: δ = 0 ρ T = 0

For δ = 1, this matrix becomes a member of Turkel’s family of preconditioners [290].

The parameter θ is defined as:

8. EQUATION_DISPLAY
θ = 1 U r 2 - ρ T ρ C p
(953)

The reference velocity U r appearing in Eqn. (953) is chosen such that the eigenvalues of the system remain well-conditioned with respect to the convective and diffusive time scales [294]. This is accomplished by limiting U r such that it does not go below either the local convection velocity or the diffusion velocity. An additional limitation on U r considers local pressure differences and is designed to increase numerical stability in stagnation regions by prohibiting amplification of pressure perturbations there. Thus, the restriction on U r becomes:

9. EQUATION_DISPLAY
U r = min  [ max  ( | v | , ν Δ x , ε δ p ρ , U r , min ) , U r , max ]
(954)

where Δ x is the inter-cell length scale over which the diffusion occurs and δ p is the pressure difference between adjacent cells. For compressible flows, the maximum reference velocity is limited to the local speed of sound, c . In this case, the parameter U r , max in Eqn. (954) is replaced by c , and the value prescribed for U r , max is not considered. The scaling parameter ε appearing in Eqn. (954) is set to 2.

The non-preconditioned Navier-Stokes equations are recovered exactly from Eqn. (946) by setting:

1 / U r 2 = ρ p = ρ p | T

In this case, Γ reduces to the Jacobian W / Q .

Although Eqn. (950) is conservative for steady-state flows, it is not strictly conservative for time-dependent flows [290]. A dual time-stepping method is used to recover a time-accurate solution of the preconditioned equations for unsteady flows with implicit time stepping.

Applying Eqn. (950) to a cell-centered control volume for cell-0, the following discretized system is obtained:

10. EQUATION_DISPLAY
V 0 Γ 0 Q 0 t + f ( f f g f ) a = h V 0
(955)
where the summation is over the total number of faces defining cell-0. f f is the inviscid (convective) flux and g f is the viscous (diffusive) flux through face f. V 0 is the volume of cell-0 and Γ 0 is the preconditioning matrix that is evaluated in cell-0.

Inviscid Fluxes

Based on upwind-differencing, there are two schemes available for discretizing the inviscid fluxes in Eqn. (955)

Weiss-Smith Preconditioned Roe’s Scheme

By default, the inviscid fluxes appearing in Eqn. (955) are evaluated by using the Weiss-Smith preconditioned Roe’s flux-difference splitting scheme as described in [293] and [294]. This scheme acknowledges that f f contains characteristic information propagating through the domain with speed and direction according to the eigenvalues of the system. By splitting f f into parts, where each part contains information traveling in a particular direction (that is, characteristic information), and upwind differencing the split fluxes in a manner consistent with their corresponding eigenvalues, the following expression for the value of the flux at each face is obtained:

11. EQUATION_DISPLAY
ff=12(f0+f1)-12Γ|A|ΔQ
(956)

where the subscripts “0” and “1” refer to the cells on either side of face-f, Γ is preconditioning matrix, and Δ Q is:

12. EQUATION_DISPLAY
Δ Q = ( Q 1 r Q 0 r )
(957)

where Q 0 r and Q 1 r are the solution vectors from cell-0 and cell-1 interpolated to the face using reconstruction gradients.

The matrix |A| is defined as:

13. EQUATION_DISPLAY
|A|=|Λ| M-1
(958)

where Λ is the diagonal matrix of eigenvalues and M is the modal matrix that diagonalizes Γ-1(f/Q) .

By using these reconstructed solution vectors, the discretization scheme becomes formally second-order accurate. In this form, Eqn. (956) can be viewed as a second-order central-difference plus an added matrix dissipation, combining the pressure and velocity differential dissipations. This added matrix dissipation term is not only responsible for producing an upwinding of the convected variables, and of pressure and flux velocity in supersonic flow. It also provides the pressure-velocity coupling that is required for stability and efficient convergence of low-speed and incompressible flows.

The mass-flux pressure dissipation term is modified to provide improved numerical dissipation for the entire range of Strouhal numbers, from Strouhal number zero (steady state) to high Strouhal numbers.

This modification affects the pressure differences term of the mass-flux dissipation. It is inspired by the method proposed by Hosangadi et al. [248], but with the following differences:

  • It improves the accuracy of simulation for unsteady flows that require both sound and advected quantities (like total enthalpy and entropy).
  • It allows you to specify a limit to the allowed amount of dissipation correction, for more robust simulation. The Unsteady Preconditioning Max Factor sets this limit. This factor has a range from 0 (no correction) to 1 (full correction).
  • It bases the mass-flux dissipation corrections on local mesh and flow conditions.
  • It does not require you to provide a reference length scale.
Liou’s AUSM+ Scheme

Inviscid fluxes can be evaluated using Liou’s AUSM+ flux-vector splitting scheme, as described in [230], [259] and other references. This scheme is also based on the upwind concept, which is applied consistently on the two physically distinct parts of the inviscid flux: convective and pressure. Thus, the numerical flux is written as:

14. EQUATION_DISPLAY
ff=f(c)+P=mi+(1,u,v,,H)0T+mi-(1,u,v,,H)1T+Pi
(959)

Here m i is the mass flux, m i + is defined as 0.5(mi+|mi|) , m i - is defined as 0.5(mi-|mi|) , and P i is the pressure flux. The mass flux and pressure flux are computed based on local flow characteristics, emphasizing on correct information propagation inside the fluid for convective and acoustic processes.

The mass-flux pressure dissipation term is modified to provide improved numerical dissipation for the entire range of Strouhal numbers, from Strouhal number zero (steady state) to high Strouhal numbers.

This modification follows the method proposed by Hosangadi et al. [248], but with the following differences:

  • It bases the mass-flux dissipation corrections on local mesh and flow conditions.
  • It does not require you to provide a reference length scale.

Steady Solution Algorithms

For steady-state simulations, the coupled system of equations Eqn. (955) is discretized in time and time-stepping is performed until a quasi steady-state solution obtained. Simcenter STAR-CCM+ provides an explicit and an implicit procedure to perform the time-integration.

Explicit Time-Stepping

An explicit multi-stage time-stepping scheme [255] is used to discretize the time-derivative in Eqn. (950). The solution is advanced from time t to time t+Δt with an m-stage Runge-Kutta scheme:

15. EQUATION_DISPLAY
Q(0)=QtQ(i)=Q(0)-αiΔtΓ1R(i-1)Qt+Δt=Q(m)
(960)

where i = 1 , 2 , , m is the stage counter for the m-stage scheme and α i is the multi-stage coefficient for the ith stage.

For explicit time-stepping, the value of the time-step Δ t is not specified manually. The user inputs CFL (Courant number) and Δ t is determined by Eqn. (968).

The residual R ( i ) is computed from the intermediate solution Q ( i ) and, for Eqn. (955), is:

16. EQUATION_DISPLAY
R(i)=1Vf{f (Q(i))-g(Q(i))}
(961)
Residual Smoothing

Residual smoothing is a mechanism for increasing the explicit time-step size by removing the high-wave number oscillations from the residuals. The residuals for cell i are filtered through a Laplacian smoothing operator:

17. EQUATION_DISPLAY
r_i=ri+εneighbors(r_j-r_i)
(962)

where the subscript j refers to the neighboring cells.

This equation is implemented using a Jacobi iteration as follows:

18. EQUATION_DISPLAY
r_im=ri0+εneighbors r_jm-11+εneighbors1
(963)

where ri0 represents the original (unsmoothed) residuals and r_im represents the smoothed residuals after iteration m. The default number of smoothing operations is 2 with the under-relaxation factor ε = 0.5. This is typically sufficient to allow the Courant number to be doubled.

Implicit Time-Stepping

The coupled system of equations Eqn. (946) is discretized in time by use of an Euler implicit scheme in conjunction with a Newton-type linearization of the fluxes .

19. EQUATION_DISPLAY
[Di+jNfacesSj,k]ΔQ=-Rin
(964)

where ΔQQn+1-Qn. The center and off-diagonal coefficient matrices, Di and Sj,k, and the residual vector rin are:

20. EQUATION_DISPLAY
Di=VΔtΓ+jNfacesSj,k
(965)
21. EQUATION_DISPLAY
Sj,k=FjQk-GjQk
(966)
22. EQUATION_DISPLAY
Rin=jNfaces(Fj-Gj)n
(967)

Transient Solution Algorithms

For transient simulations, Simcenter STAR-CCM+ provides explicit and implicit time-stepping schemes. The implicit time-stepping procedure is also known as dual-time formulation.

Explicit Time-Stepping
In Simcenter STAR-CCM+, explicit time-stepping for transient simulations corresponds to the explicit time-stepping scheme that is described in Explicit Time-Stepping for steady-state simulations.

The physical time-step Δ t for unsteady simulations is applied uniformly to all cells in the domain.

The time-step Δ t , appearing in Eqn. (960) for explicit, unsteady calculations, is computed by consideration of the Courant number and Von Neumann stability conditions:

23. EQUATION_DISPLAY
Δ t = min  x ( CFL  V ( x ) λ max ( x ) , V N N Δ x 2 ( x ) ν ( x ) )
(968)

The chosen time-step is the minimum local time-step over all the fluid cells in the model, and is equal to the minimum value of the pseudo-time step Δ τ (Eqn. (971)) in the domain.

Implicit Time-Stepping (Dual Time-Stepping)

Since time-derivative preconditioning destroys the time accuracy of the governing equations, solving for unsteady flows requires a dual time-stepping, with inner iterations in pseudo-time. A preconditioned pseudo-time derivative term is introduced into conservation Eqn. (946) as follows:

24. EQUATION_DISPLAY
t V W d V + Γ τ V Q d V + [ F - G ] d a = V H d V
(969)

where t denotes the physical time-step which is applied uniformly to all cells in the domain. τ is a locally varying pseudo-time used in the time-marching procedure. As inner iterations progress to convergence, the second term of Eqn. (969) vanishes and Eqn. (946) is recovered.

The pseudo-time derivative is driven to zero with the following iterative algorithm:

25. EQUATION_DISPLAY
Q ( 0 ) = Q n [ Γ + 3 2 Δ τ Δ t W Q ] Δ Q = Δ τ { R ( i - 1 ) + 1 2 Δ t ( 3 W ( i - 1 ) - 4 W ( n ) + W ( n - 1 ) ) } Q n + 1 = Q ( m )
(970)

where i is the inner iteration counter, n represents any given physical time level, Δ Q Q ( i ) - Q ( 0 ) , and Δ t is the time-step.

Throughout the pseudo-time iterations, W ( n ) and W ( n - 1 ) are held constant and W ( i - 1 ) is computed from Q ( i - 1 ) . When inner iterations converge, the solution at the next physical time level W ( i + 1 ) is given by W ( Q τ + Δ τ ) . For each inner iteration, the linear system (block coupled for the explicit scheme or fully coupled for the implicit scheme) is solved to compute Δ Q .

The local pseudo time-step Δ τ associated with the iterations of all steady simulations, or within a time-step of a transient simulation, is computed considering the Courant number and Von Neumann stability conditions.
26. EQUATION_DISPLAY
Δ τ = min ( CFL  V ( x ) λ max ( x ) , V N N Δ x 2 ( x ) ν ( x ) )
(971)

where CFL is the user-specified Courant number (dimensionless), V is the cell volume ( m 3 ), V N N is the Von Neumann number ( V N N 1 ), Δ x is a characteristic cell length scale (m) and ν is kinematic viscosity ( m 2 /s ). λ max is the maximum eigenvalue of the system as follows:

27. EQUATION_DISPLAY
λ max = | u a | + c | a |
(972)

where u is velocity and c the speed of sound.

The maximum eigenvalue is determined from the pre-conditioned system, Eqn. (950). The field function Convective Courant Number provides the local convective Courant number for a given time-step.

For implicit unsteady computations, Eqn. (965), you specify the time-step.

Continuity Convergence Accelerator Algorithm

The Continuity Convergence Accelerator pressure-correction discretization uses the Coupled Flow numerical dissipation, not the Rhie-Chow dissipation of the Segregated solver. Choosing the Coupled Flow numerical dissipation formulation over the Rhie-Chow formulation prevents some of the known issues of the Segregated solver, especially in high-speed regimes, such as wiggles at flow discontinuities due to improper numerical dissipation.

When activated, the Continuity Convergence Accelerator algorithm adds a post-update conditioning step to help satisfy better the continuity equation.

The Coupled Implicit solver algorithm with Continuity Convergence Accelerator is:

  1. As part of the normal Coupled Implicit iteration update, solve the discretized coupled flow equations, and perform the normal update to obtain an intermediate flow field state p*, v*...
  2. Compute the new cell mass fluxes and mass imbalances for this intermediate state, mf*.
  3. Discretize and solve the Continuity Convergence Accelerator pressure-correction equation with the new mass imbalances in the right-hand side:
    28. EQUATION_DISPLAY
    appp+nanpn=-nmf*
    (973)

    to produce cell values of the pressure correction p′. The subscript n denotes all neighbors of cell p with faces f.

  4. Update cell pressures using the under-relaxation factor ω:
    29. EQUATION_DISPLAY
    pn+1=p*+ωp
    (974)
  5. Update the boundary pressure corrections p′b, and then pressure pb.
  6. Correct the face mass fluxes:
    30. EQUATION_DISPLAY
    mfn+1=mf*+m
    (975)

    where m is computed using Eqn. (936).

    If the Enhanced Mass-Imbalance Calculations expert property is activated, the mass imbalances are recomputed using either Eqn. (956) or Eqn. (959).

  7. Correct the cell velocities
    31. EQUATION_DISPLAY
    vn+1=v*-f(ω)VΔpApv
    (976)

    where:

    • f(ω) is a non-linear function of ω
    • Δp is the gradient of the pressure corrections
    • Ap is the vector of central coefficients for the original coupled equations discretized system representing the velocity equations
    • V is the cell volume
  8. Update density, total enthalpy, and other variables with the pressure and velocity changes.