3.4.2. Flow Solver
The core flow solver is based on a segregated, projection method approach. The projection method is used to compute the pressure field which is consistent with a velocity field that satisfies continuity. A pressure-smoothing approach similar to the Rhie/Chow scheme [171] is used to prevent pressure decoupling on the collocated mesh. An upwind method is used to interpolate convected values to control volume faces. Detailed descriptions of these methods are discussed in the following sections.
Another prevalent CVFEM method in the literature is the FIELDS method [150, 151]. The continuity and momentum equations are fully coupled in this approach. We experimented with this approach and found that the three-dimensional discrete equations were difficult to solve and open boundary conditions difficult to implement.
3.4.2.1. Projection Method
The role of pressure smoothing, or explicit stabilization, was first developed in the context of collocated finite volume schemes by [171]. Although this original paper did not explore the formal error introduced by this explicit stabilization, [214] later displayed the sensitivity of steady results on relaxation parameters and provided a methodology to circumvent this issue. In general, such early papers (cf. [215]) as well as other more recent papers, (cf. [216]) introduced the role of stabilization almost by happenstance as it entered only through the specific choice of the convecting velocity formula, i.e., the integration point velocity that forms the mass flow rate.
Studies of [217] and [218],
each in the
context of a finite element algorithm, have commented on the role
of stabilization that is provided by the approximation of the derived
pressure correction system, namely that , where
is the given discrete Laplacian operator and
and
are the chosen discrete divergence and gradient operators, respectively.
Numerical algorithms
for which the Laplacian operator does not equal the discrete divergence
of gradient operator have been termed “approximate projection” algorithms
(cf. [219] and [220]) in the context of solenoidal flow;
in general for non-solenoidal flow the formalism of the projection
derivation results in an affine projection.
Recent work by Sandia National Laboratories has cast
the general approximate projection algorithm within a family of smoothing
and time scaling choices. The analysis of choice that has been followed is to
cast the algorithm in terms of an approximate factorization
(cf. [221]), and note the added stabilization
(herein also known as
), and splitting errors.
This analysis has been extremely useful in understanding the formal accuracy,
and even consistency, of a given numerical scheme.
The analysis of a given computational fluids algorithm in the context of
an approximate factorization begins with the discrete momentum and
continuity equations written in matrix form. The matrix
contains discrete, linearized contributions to the momentum equations
from the time derivative, convection, and diffusion terms,
(3.738)
The discrete nodal gradient and nodal divergence are and
respectively (note that the operator
may include aspects of the algorithm due to a variable density field).
The function
contains the additional terms for the momentum
equations, e.g., body force terms, lagged stress tensor terms, etc., while the function
contains the appropriate terms
for a non-solenoidal velocity field, i.e.,
. The pressure is appropriately interpreted
as the pressure at the
step, (cf. [222]).
The form of the matrix operators can be found in the body of literature for control-volume
finite element methods (cf. [157]).
Note that (3.738) is not really complete as the boundary condition values are omitted, however, they are not essential in describing the bulk of the splitting and stabilization analysis as noted by [223]. The boundary conditions would simply enter through an additional vector on the right-hand side and modified entries in the matrix operators.
The approximate factorization of (3.738) takes the general form of
(3.739)
The factor determines the projection time scale.
The factor
defines the linear system for pressure.
Ideally,
could
be selected to cancel splitting errors in the continuity
equation. Practically, the form of
is
governed by implementation and linear solver efficiency.
A completely generalized set of incremental pressure projection methods with potential stabilization
can be written by formally defining the operators and
above, here shown
as part of the sequence of equations solved,
(3.740)
(3.741)
(3.742)
Laplacian operators acting on a general scalar , which define the approximate nature of the projection method, are given by,
(3.743)
(3.744)
For an approximate projection method,
(3.745)
while for an exact projection,
(3.746)
Exact projections can be easily constructed on unstructured collocated meshes
(cf. [224]), although classically this results in a wide Laplacian stencil that admits pressure oscillations yet does not add discrete errors in the continuity solve. We assume that factors defined above are represented by a diagonal matrix that corresponds to a particular time scale of choice. The relationship between
and
is normalization by a density and volume,
(3.747)
The choice of these scaling factors defines the scheme in terms of both stabilization and projection scaling. For example, the ideal form for is the inverse of
. The exact choice
of
in a practical sense affects the stability of the scheme. The stabilization terms are represented by operators including both
and
that are required to prevent velocity and pressure decoupling in schemes for which
.
Rearrangement of (3.742), in terms of , and substitution of this modified equation into
(3.740) and (3.741) provides the full set of
splitting and stabilization errors:
(3.748)
The error appearing in the momentum equation is due to splitting and generally can be repaired by non-linear iteration, although ideally single iteration methods are desired (as shown).
Again it is emphasized that for approximate projection methods, ,
whereas for exact projection methods, which are usually based on staggering velocity and pressure,
and there is no stabilization error (as there is no need to provide stabilization). Frequently, the stabilization terms within (3.741) are included in a modified provisional
velocity (cf. [225]), i.e.,
, that can often hide the true role of stabilization.
A similar analysis for
projection methods
(cf. [226]) can be carried out, in which case the equations solved are given by,
(3.749)
(3.750)
(3.751)
with errors,
(3.752)
The error term in the continuity equation is retained to emphasize that this algorithm
can be considered in the context of an approximate projection method.
Assuming that the Laplacian and gradient operators commute, it is necessary to compute
to obtain the second-order pressure field, while the relationship
will
result in a first-order pressure field with splitting error
( [227]).
Although the above set of algorithms have been written in terms of a two step scheme, i.e., predict and correct
by the appropriately scaled scalar gradient, non-linear iterations can also be taken. In this case, the
and
state are replaced with
the
state, whereas the
pressure state is replaced by the
state. For the residual form, the
state is replaced with the current iterate,
state.
At convergence within the time step,
,
,
and
.
3.4.2.1.1. CVFEM operators
SIERRA/Fuego uses the finite volume technique known as the control volume finite element method of [152]. Control volumes (the mesh dual) are constructed about the nodes, as shown in Fig. Numerics. Each element contains a set of subfaces that define control-volume surfaces. The subfaces consist of line segments (2-D) or surfaces (3-D). The 2-D segments are connected between the element centroid and the edge centroids. The 3-D surfaces are connected between the element centroid, the element face centroids, and the edge centroids. Integration points also exist within the subcontrol volume centroids. Such integration points are used for volume integrals such as source terms, the mass matrix, and, if chosen, gradients.
Defining to be the value of
at node
, then the variation
of
within an element that contains the point location {bf x} is
given by
(3.753)
where is the shape function associated with node
at position
, and
is the set of all nodes that defines the element. For the CVFEM,
either trilinear (3-D) or bilinear (2-D) shape functions are used. Currently,
Fuego supports heterogeneous element topologies consisting of hex, tet, pyramid,
and wedges.
The discrete nodal gradient operator for direction can be written as
a surface integral on control volume
,
(3.754)
where is the set of surface integration points for control
volume
. Similarly, the discrete divergence operator at node
acting
on vector
is
(3.755)
and the Laplacian operator that includes spatially varying timescale, , is
(3.756)
Note that an alternative to the gradient operator given in (3.754), which is provided via the CVFEM is
(3.757)
where is now the set of all subcontrol volume integration points
for control volume
(for clarity,
denotes the subcontrol volume integration point location).
The general term deserves a special note in the case of variable density flows. Specifically, the interpolation is currently provided by the following equation:
(3.758)
(3.759)