Finite Volume Discretization

Generally, numerical methods, and this includes the finite-volume method, transform the mathematical model into a system of algebraic equations. This transformation involves discretizing the governing equations in space and time. The resulting linear equations are then solved with an algebraic multigrid solver.

For unsteady problems, the physical time interval to be analyzed is subdivided into an arbitrary number of sub-intervals that are called time-steps.

General Transport Equation

When the appropriate constitutive relations are introduced into the conservation equations a closed set of equations is obtained. All conservation equations can be written in terms of a generic transport equation. By integrating the generic transport equation over a control volume V and applying Gauss's divergence theorem, the following integral form of the transport equation is obtained:

Figure 1. EQUATION_DISPLAY
ddtV ρϕdVTransient Term+A ρvϕdaConvective Flux=AΓϕdaDiffusive Flux+VSϕdVSource Term
(879)

where ϕ represents the transport of a scalar property, A is the surface area of the control volume and da denotes the surface vector. By setting ϕ, for example, equal to 1,u,v,w,E,orH,Yi and selecting appropriate values for the diffusion coefficient Γ and source terms, special forms of the partial differential equations for mass, momentum, energy, and species conservation are obtained.

Eqn. (879) has four distinct terms:
  • The transient term, which signifies the time rate of change of fluid property ϕ inside the control volume.
  • The convective flux, which expresses the net rate of decrease of fluid property ϕ across the control volume boundaries due to convection.
  • The diffusive flux, which corresponds to the net rate of increase of fluid property ϕ across the control volume boundaries due to diffusion.
  • The source term, which expresses the generation/destruction of fluid property ϕ inside the control volume.
The following diagram shows two polyhedral computational cells that illustrate the discretization of the generic transport equation:

Surface Integrals
The surface integrals in Eqn. (879) are evaluated on two levels using quadrature approximations:
  • The integral is expressed in terms of variable values at one location on the cell face.

    Simcenter STAR-CCM+ employs the second-order midpoint rule, that is, the integral is evaluated as the product of the value at the cell face center and the cell face area:

    AJϕdafJfϕaf

    where Jϕ is either the convective or the diffusive flux of fluid property ϕ, af is the surface area vector of face f of the cell, and f is the sum over all cell faces of the cell.

  • The values at the cell face center are not known and are approximated through interpolation in terms of the values at the cell centers. These interpolation schemes, that is, discretization schemes are described under Convective Flux and Diffusive Flux.
Volume Integrals
The source term in Eqn. (879) requires integration over the volume of the cell. Simcenter STAR-CCM+ approximates the volume integral by the product of the mean value of the source term at the cell center and the volume of the cell. This approximation is second-order accurate.
Figure 2. EQUATION_DISPLAY
VSϕVSϕ0V0
(880)

To achieve second-order accuracy of these approximations, the cell face center is the area weight center and the cell center is the volume center.

Applying the integration approximations to Eqn. (879) yields the following semi-discrete transport equation:

Figure 3. EQUATION_DISPLAY
ddt(ρϕV)0+f [ρϕ(va )]f=f (Γϕa)f+(SϕV)0
(881)

Convective Flux

The discretized convective term at a face can be rearranged as follows:

Figure 4. EQUATION_DISPLAY
(ϕρva )f=(m˙ϕ)f=m˙fϕf
(882)

where m˙f is the mass flow rate at the face.

Eqn. (882) requires the values of fluid property ϕf at the face. The manner in which the fluid property face value ϕf is computed from the cell values has a profound effect on the stability and accuracy of the numerical scheme.

The Normalized Variable Diagram
The normalized variable diagram (NVD) is useful for analyzing boundedness properties of convective discretization schemes.

Part (a) of the figure below shows three cells in the vicinity of a cell face f, across which the velocity vf is known. The nodal variable values are labeled αD, αC and αU, representing the downwind, central, and upwind positions relative to each other.

The convection boundedness criterion is shown in the NVD diagram as Part (b) of the diagram:



The normalized variable ξ(r,t) in the vicinity of face f is defined as:

Figure 5. EQUATION_DISPLAY
ξ(r,t)=α(r,t)-αUαD-αU
(883)

The normalized face value:

Figure 6. EQUATION_DISPLAY
ξf=αf-αUαD-αU
(884)

calculated by any differencing scheme that uses only nodal values of α at points U, C, and D, can be written in the form:

ξf=ξf(ξC)

where:

Figure 7. EQUATION_DISPLAY
ξC=αC-αUαD-αU
(885)

To avoid non-physical oscillations in the solution, αC (and consequently αf) has to be locally bounded between αU and αD, meaning:

Figure 8. EQUATION_DISPLAY
αUαCαD
(886)
or
Figure 9. EQUATION_DISPLAY
αDαCαU
(887)

If this criterion is satisfied at every point in the domain, the entire solution is free of non-physical oscillations.

The boundedness criterion for convection differencing schemes can be presented in the NVD diagram, showing ξf as a function of ξC, as the hatched region in part (b) of the above Figure (including the line ξf=ξC). It can also be expressed through the following conditions:

  • For 0ξC1 the bounded region lies above the line ξf=ξC and below ξf=1.
  • For ξC<0 and ξC>1, ξf is equal to ξC.

NVD is concerned with convective transport alone. If sources or sinks are present, the conditions that are given in Eqn. (886) and Eqn. (887) can be violated. The importance of the boundedness criterion is especially clear in the case of variables which have physical bounds; for example, the phase volume fraction cannot become negative, or larger than unity.

First-Order Upwind

The first-order upwind differencing scheme (FOU) approximates the cell face value ϕf in the form of a step function. The approximation is of first-order accuracy. Depending on the flow direction, the convective flux is computed as:

Figure 10. EQUATION_DISPLAY
(m˙ϕ)f={m˙fϕ0       for m˙f0m˙fϕ1        for m˙f<0
(888)

where a positive mass flux is leaving the cell and a negative mass flux is entering the cell. This discretization scheme is based on transport properties of the flow: due to convection, ϕ is transported only downstream. If the streamlines of the flow are aligned with the mesh lines, the resulting approximations are good. However, if the streamlines form an angle with the mesh lines, the UDS is inaccurate. These errors are called artificial or numerical diffusion. The advantage of UDS is that it is unconditionally bounded, which is stabilizing and helps the solver achieve robust convergence. It is fairly common practice to obtain an initial solution using the first-order convection and then switch to the second-order one to obtain a more accurate, final converged solution.

Second-Order Upwind

For a second-order upwind (SOU) scheme, the convective flux is computed as:

Figure 11. EQUATION_DISPLAY
(m˙ϕ)f={m˙fϕf,0       for m˙f0m˙fϕf,1        for m˙f<0
(889)

where the face values ϕf,0 and ϕf,1 , are linearly interpolated from the cell center values on either side of the face:

ϕf,0=ϕ0+s0(ϕ)r,0ϕf,1=ϕ1+s1(ϕ)r,1

where:

s0=xf-x0s1=xf-x1

The gradients (ϕ)r,0 and (ϕ)r,1 of cells 0 and 1 are calculated according to Eqn. (911) as limited reconstruction gradients.

Central-Differencing

The central-differencing scheme (CDS) approximates the cell face center value by linear interpolation between the two nearest neighbouring cell center values.

For a central-differencing scheme, the convective flux is computed as:

Figure 12. EQUATION_DISPLAY
(m˙ϕ)f=m˙f[fϕ0+(1-f)ϕ1]
(890)

where the linear interpolation factor is defined as:

f = V 1 V 0 + V 1

f is related to the mesh stretching. For a uniform mesh, f has a value of 0.5.

Central-differencing is formally second-order accurate. However it is prone to dispersive error and is beset with stability problems for most steady-state situations. The dispersive errors make it problematic for discretizing positive-definite quantities (such as temperature or turbulent kinetic energy) where overshoots cannot be tolerated.

A significant advantage of central-differencing over second-order upwind is that, when used to discretize velocity (not a positive definite quantity) it preserves turbulent kinetic energy. Therefore, it is a useful scheme in large eddy simulation (LES), where upwind schemes cause turbulent kinetic energy to decay unnaturally fast.

Bounded Central-Differencing

For a bounded central-differencing scheme as described in [232] and [258], the convective flux is computed as:

Figure 13. EQUATION_DISPLAY
(m˙ϕ)f={m˙ϕFOUfor ξ<0  or  1<ξm˙(σϕCD+(1-σ)ϕSOU)for 0ξ1
(891)
where:
ϕFOU Cell-face center value obtained through first-order upwind interpolation
ϕSOU Cell-face center value obtained through second-order upwind interpolation
ϕCD Cell-face center value obtained through central-differencing interpolation
ξ Normalized-Variable Diagram (NVD) value that is computed based on local conditions

A smooth and monotone function of ξ is:

Figure 14. EQUATION_DISPLAY
σ=σ(ξ)
(892)

which satisfies σ(0)=0 and σ(ξ)=1 for ξubfξ . ξubf is called the upwind blending factor whose value ensures a proper balance between the accuracy and robustness of the scheme. Thus, smaller values of ξubf provide more accuracy, while larger values increase the robustness of the scheme.

To maintain boundedness, the bounded central-differencing scheme turns into a first-order upwind scheme when the convection boundedness criterion is not satisfied, for example when ξ<0  or  1<ξ . The central-differencing scheme on the contrary, which is formally a second-order accurate scheme, does not do that. Thus, the bounded central-differencing scheme can be more dissipative than the central-differencing scheme—especially on coarser meshes.

Overall, the bounded central-differencing scheme provides a good compromise between accuracy (much improved, when compared with the second-order upwind scheme) and robustness (due to its warranted boundedness). It is the recommended scheme for LES of complex turbulent flows.
Hybrid MUSCL 3rd-Order/Central-Differencing

The scheme is valid for both steady and unsteady simulations, and has one model parameter σMUSCL3, which is used to control the numerical dissipation in the scheme. As with the bounded central-differencing scheme, this scheme uses a Normalized-Variable Diagram (NVD) value ξ to ensure the boundedness of the scheme by switching to the first-order scheme in regions of non-smooth flows.

When smooth local flow conditions are detected, the scheme is constructed as a blend between a MUSCL 3rd-order upwind and a 3rd-order central-differencing reconstruction scheme.

The convective flux is computed as:

Figure 15. EQUATION_DISPLAY
(m˙ϕ)f={m˙ϕFOUforξ<0orξ>1m˙(σMUSCL3ϕMUSCL3+(1σMUSCL3)ϕCD3)for0ξ1
(893)

The blending factor σMUSCL3 is user-controlled and must be decided based on the physical problem or model.

The MUSCL 3rd-order upwind reconstructed value ϕMUSCL3 is carefully limited at high speeds so as to not affect the formal order of accuracy while preventing spurious oscillations. The high speed limiting is based on WENO (Weighted Essentially Non-Oscillatory) principles and is only applied to the quadratic part of the face-value reconstruction. WENO-based averaging is computed based on three different stencils.

Note The ϕMUSCL3 accuracy is reduced to second order in the regions next to the strong shocks.

The switch between the unlimited and the WENO-limited ϕMUSCL3 is done based on a Mach-number-based flux-limiter. For incompressible simulations, ϕMUSCL3 is unlimited (the flux limiter is 1), thus only relying on the use of the NVD value to ensure the boundedness of the scheme. Overall, the Hybrid MUSCL 3rd-order/CD scheme provides improved (reduced) dissipation when compared with both second-order and Bounded Central-Differencing (BCD) schemes. At the same time, it is robust (due to its boundedness) and capable of simulating steady and unsteady flows from incompressible to high-speed compressible regimes.

Hybrid Second-Order Upwind/Central-Differencing

The second-order upwind is the most accurate scheme for steady-state calculations, while the kinetic energy-preserving properties of the central-differencing scheme make it appropriate for large eddy simulation (LES). In this scheme, both approaches are blended as follows:

Figure 16. EQUATION_DISPLAY
(m˙ϕ)f={m˙f{σHUϕf,0+(1-σHU)[fϕf,0+(1-f)ϕf,1]}    for m˙f0m˙f{σHUϕf,1+(1-σHU)[fϕf,0+(1-f)ϕf,1]}      for m˙f<0
(894)

where σ H U is a blending factor that is chosen as appropriate for the flow regime (see Eqn. (1450) and Eqn. (1306)). The face values ϕ f , 0 and ϕ f , 1 , are linearly interpolated from the cell values on either side of the face using the reconstruction gradients, as with the second-order upwind scheme.

Hybrid Second-Order Upwind/Bounded-Central

The following hybrid second-order upwind/bounded central scheme is the default for detached eddy simulations (DES) and Scale-Resolving Hybrid (SRH) simulations of complex turbulent flows:

Figure 17. EQUATION_DISPLAY
(m˙ϕ)f=m˙(σHUϕSOU+(1-σHU)ϕBCD)
(895)

where at face f , the values of ϕ are ϕ S O U for the second-order upwind scheme and ϕ B C D for the bounded central-differencing scheme. σ H U is a blending factor that is chosen as appropriate for the flow regime (see Eqn. (1450) for DES and Eqn. (1306) for SRH).

Diffusive Flux

The diffusive flux in Eqn. (879) through internal cell faces of a cell is discretized as:

Figure 18. EQUATION_DISPLAY
Df=(Γϕa)f
(896)

where Γ is the face diffusivity, ϕ is the gradient of fluid property ϕ, and a is the surface area vector.

To obtain an accurate second-order expression for an interior face gradient that implicitly involves the cell values ϕ0 and ϕ 1 , the following decomposition is used:

Figure 19. EQUATION_DISPLAY
ϕf=(ϕ1-ϕ0)α+ϕ¯(ϕ¯ds)α
(897)

where:

α=aadsds=x1-x0ϕ¯=(ϕ0+ϕ1)2

The diffusion flux at an interior face can then be written as:

Figure 20. EQUATION_DISPLAY
Df=Γfϕfa=Γf[(ϕ1-ϕ0)αa+ϕ¯a-(ϕ¯ds)αa]
(898)

where Γ f is a harmonic average of the cell values.

A similar decomposition is used at a boundary face:

Figure 21. EQUATION_DISPLAY
Df=Γfϕfa=Γf[(ϕf-ϕ0)αa+ϕ0a-(ϕ0ds)αa]
(899)

where:

Figure 22. EQUATION_DISPLAY
α=aads
(900)
Figure 23. EQUATION_DISPLAY
ds = x f - x 0
(901)

The second and third terms in Eqn. (898) represent the secondary gradient (or cross-diffusion) contribution. They are essential for maintaining accuracy on non-orthogonal meshes.

The formulation that is presented above assumes that the centroids of cells 0 and 1 lie on opposing sides of the face. It is further assumed that their location is consistent with the convention that the face area vector points out of cell 0. To prevent non-physical solutions, take care to use meshes for which the angle between a and ds is not greater than 90 degrees.

To ensure that a valid mesh is being used, a diagnostic tool that is provided in Simcenter STAR-CCM+ allows this angle (termed skewness angle) to be computed in degrees and stored in adjacent cells. The value that is stored in each cell represents the largest skewness angle for each face of the cell.

As a further diagnostic tool that can be employed to check whether the secondary gradient contribution is destabilizing, these terms can be optionally omitted, in which case Eqn. (898) reduces to:

Figure 24. EQUATION_DISPLAY
DfΓf[(ϕ1-ϕ0)αa]
(902)

Similar to interior faces, the second and third terms in Eqn. (899) represent the boundary secondary gradient (or cross-diffusion) contribution.

As with the interior, these boundary secondary gradients can be optionally neglected as a further diagnostic tool, in which case Eqn. (899) reduces to:

Figure 25. EQUATION_DISPLAY
DfΓ[(ϕf-ϕ0)αa]
(903)

Transient Term

For transient simulations, time is an additional coordinate. Generally, numerical procedures require that this coordinate is discretized in addition to a spatial discretization, that is, the total time interval is subdivided into time-steps. The solution of the governing equations is obtained at different time-levels whereby the solution at time t requires the solutions from previous time-levels. Time integration schemes are distinguished between the number of time-levels they use for integration and on which time-level the fluxes and sources are integrated.

Implicit Time Integration
The Euler implicit scheme, a first-order temporal scheme, approximates the transient term in Eqn. (879) using the solution at the current time level, n + 1 and the one from the previous time level, n :
Figure 26. EQUATION_DISPLAY
ddt(ρϕV)0=(ρϕV)0n+1-(ρϕV)0nΔt
(904)

A basic second-order temporal discretization of the unsteady term uses the solution at the current time level, n + 1 , as well as the solutions from the previous two time levels, n and n - 1 , in a Backward Differentiation Formula, BDF2.

BDF2 is:

Figure 27. EQUATION_DISPLAY
t(ρχϕV)=(32(ρχϕV)n+12(ρχϕV)n+12(ρχϕV)n1)1Δt
(905)

On the first time-step of a second-order temporal simulation, a first-order discretization is used since only two time levels are available.

Second-order schemes using more time levels are linear combinations of BDFs.

The scheme for four time levels, BDF2Opt(4), is:

Figure 28. EQUATION_DISPLAY
BDF2Opt(4)=12(BDF3+BDF2)
(906)

where BDF3 is:

t(ρχϕV)=(116(ρχϕV)n+13(ρχϕV)n+32(ρχϕV)n113(ρχϕV)n2)1Δt

The scheme uses the previous three time levels as well as the current one. It uses a first-order discretization on the first step and second-order and the second step, as time levels become available.

The scheme for five time levels, BDF2Opt(5), is:

Figure 29. EQUATION_DISPLAY
BDF2Opt(5)=(112)BDF4(5222)BDF3+(12+5222)BDF2
(907)

where BDF4 is:

t(ρχϕV)=(2512(ρχϕV)n+14(ρχϕV)n+3(ρχϕV)n143(ρχϕV)n2+14(ρχϕV)n3)1Δt

The scheme uses the previous four time levels and employs the first three discretizations on the first three steps, as time levels become available.

The formulas above use a constant time-step Δt throughout. But Simcenter STAR-CCM+ actually uses variable time-steps, to accommodate unevenly spaced time levels.

Gradients

In addition to variable values, variable gradients are required at cell centers and at cell-face centers for:

  • construction of variable values at the cell faces
  • secondary gradients calculation for diffusion terms
  • pressure gradients calculation for pressure-velocity coupling
  • strain-rate and rotation-rate calculations for turbulence models
Least Squares Method

The gradients in cell-0 are computed as:

Figure 30. EQUATION_DISPLAY
ϕ = ( β ) LSQ_grad ( ϕ )
(908)

where:

Figure 31. EQUATION_DISPLAY
LSQ_grad ( ϕ ) = f M 1 ( w f ds f ) δ ϕ f = f q f δ ϕ f
(909)

where:

  • ds f = x c 1 x c 0 is the vector between the cell centers.
  • δ ϕ f = ϕ c 1 ϕ c 0 is the difference between the cell center values of the scalar ϕ .
  • The least squares tensor M is defined as:
    M = f w f d s f d s f
    with the weight:
    w f = | A f | | d s f | V
    where:
    • | A f | is the magnitude of the face area vector.
    • | d s f | is the length between the cell centers.
    • V is the cell volume.

The scalar β is computed as:

Figure 32. EQUATION_DISPLAY
β = min ( 1 , C max user max f , g ( x f 0 q g ) )
(910)

where:

  • C max user is the user-specified Maximum Reconstruction Coefficient (default value 1).
  • max f , g is over all pairings f , g of cell faces in the range of 1 to N faces .
  • x f 0 = x f x c 0 is the face-to-cell vector.
  • q f is defined in Eqn. (909).

Gradient Limiters

If unlimited gradients are used for reconstruction, the reconstructed face values can fall outside the range of cell values found in neighboring cells (connected through faces). For this reason, Simcenter STAR-CCM+ finds the minimum and maximum bounds of the neighboring cell values and uses these to limit the reconstruction gradients.

The following gradient limiters are available:

  • Venkatakrishnan
  • Min-Mod
  • Modified Venkatakrishnan

The face value ( ϕf,0 ) reconstructed from the cell-0 value at any face centroid is given by:

Figure 33. EQUATION_DISPLAY
ϕ f , 0 = ϕ 0 + s 0 ( ϕ ) 0
(911)

where s 0 = x f - x 0 , x f and x 0 are the face and cell centroids, respectively, and ϕ r , 0 is the reconstruction gradient.

For each cell-0, a limited reconstruction gradient is required, such that the reconstructed face value does not exceed the maximum and minimum of the neighboring cell centroid values, including the value in cell-0. A scale factor α is defined that expresses the ratio of the limited and unlimited values, that is:

Figure 34. EQUATION_DISPLAY
( ϕ ) r , 0 = α ϕ
(912)

For each cell-0, the quantities are defined:

ϕ0max=max (ϕ0,ϕneighbors)ϕ0min=min (ϕ0,ϕneighbors)

where ϕneighbors represents the cell value in each neighbor that has a common face with cell-0.

These quantities can also be defined:

Δmax=ϕ0max-ϕ0Δmin=ϕ0min-ϕ0

For each face f of cell-0, Δf is defined as:

Figure 35. EQUATION_DISPLAY
Δf=ϕf,0-ϕ0=s0(ϕ)r,0u
(913)

Now defining:

Figure 36. EQUATION_DISPLAY
rf={ΔfΔmax   for Δf>0ΔfΔmin   for Δf0
(914)
Venkatakrishnan

The Venkatakrishnan [292] limiter gives for the face:

Figure 37. EQUATION_DISPLAY
αf=2rf+1rf(2rf+1)+1
(915)
Min-Mod

The Min-Mod limiter gives for the face:

Figure 38. EQUATION_DISPLAY
αf=min(1,1/rf)
(916)
Modified Venkatakrishnan

The Modified Venkatakrishnan limiter gives for the face:

Figure 39. EQUATION_DISPLAY
αf=rf(2rf+1)+1rf(rf(2rf+1)+1)+1
(917)

The Venkatakrishnan limiter is the default option. In certain cases, the Min-Mod and the modified Venkatakrishnan limiter can be less dissipative than the default option, particular in unsteady simulations for aeroacoustics or when using LES/DES for turbulence modeling.

The cell value of α is given by:

Figure 40. EQUATION_DISPLAY
α=min (αf)
(918)
Total Variation Bounded Gradient

If gradients are excessively limited, convergence can slow or stall. This problem arises most often with the gradients of near-constant fields, or when the limiter cycles between 0 and 1 without settling on a convergence value.

To avoid this problem, Total Variation Bounded gradient limiting can be applied. Reconstructed values vary by an additional difference of

Figure 41. EQUATION_DISPLAY
δ=ψmax(Δmax-Δmin)
(919)

where ψ is a fraction between 0 and 1, and max(Δmax-Δmin) is the largest difference between local maximum and local minimum anywhere in the simulation.

The default value of ψ is 0.05. Larger values of ψ mean that gradients are limited less. This can improve accuracy, especially for smooth flow field gradient reconstruction. However, excessively large values can lead to loss of solver robustness and lower accuracy, by producing large over- or under-shoots at flow field discontinuities.

TVB Gradient Limiting is useful for high-fidelity simulations, such as aeroacoustics and turbulence simulations using Large Eddy Simulation (LES) or Detached Eddy Simulation (DES).

Boundary Conditions

The foregoing expressions for the evaluation of the convective and the diffusive fluxes above are valid for all interior cell faces. On faces that coincide with boundaries of the computational domain, boundary conditions are applied. The integrals over the boundary surface are expressed as a function of the known boundary data and cell values from the interior.

In the case of Dirichlet boundary conditions:
  • the convective fluxes are calculated by replacing ϕf in Eqn. (882) by the boundary value ϕb
  • the diffusive fluxes are calculated by replacing ϕ1 by the boundary value ϕb and by replacing ϕ¯ by ϕ0 in Eqn. (898)

In the case of Neumann boundary conditions, the diffusive fluxes are calculated directly with the variable values at the boundary being obtained from the discretized gradient approximations.

Algebraic System of Equations

With Δϕp=ϕpk+1-ϕpk, the algebraic system for the transported variable ϕ is written in delta form:

Figure 42. EQUATION_DISPLAY
apωΔϕp+n anΔϕn=r
(920)

where ϕ is the transported variable at iteration k+1 (current iteration) or k (previous iteration), respectively. The summation is over all the neighbors n of cell p . The right-hand side r is the residual. The coefficients a p and a n are obtained directly from the discretized terms. ω is an under-relaxation factor.

The right-hand side:

Figure 43. EQUATION_DISPLAY
r=[ddt(ρϕV)+f(ρϕva)ff(Γϕa)fSϕV]=0
(921)

is termed the residual, and represents the discretized form of the original equation (Eqn. (881)) at iteration k. By definition, then, the residual becomes zero when the discretized equation is satisfied exactly.

Due to the non-linear nature of the problem, an iterative solution is required. There are two levels of iteration; an outer iteration loop controlling the solution update and an inner loop governing the iterative solution of the linear system. Since the outer iterations are repeated multiple times, it is sufficient to solve the linear system only approximately at each outer iteration. The iterative solution of the linear system is accomplished using Algebraic Multigrid (AMG).