Appendix: Equation Options
The run control file has variables that govern the solution of each governing equation that is to be solved in a simulation; these are the equation options variables. These variables are composed of an options list that generally contains parameters that give the user control over the way that each governing equation is solved. These sections below discuss the equation options for each governing equation in the base Stream code.
Momentum Equation
Options for controlling the solution of the momentum equations are
specified using the momentumEquationOptions
variable in the run control
file.
momentumEquationOptions: <linearSolver=SGS, relaxationFactor=0.5, maxIterations=5>
If one wishes to use the default values, this line could alternately be specified as follows:
momentumEquationOptions: <>
It is generally best to explicitly specify the governing parameters in
the options list as shown in the first form so that one is actively
aware of parameters involved in the simulation rather than having to
remember the default values. This is generally true of the other
governing equations as well. The momentum equation options variable must
be specified for all simulations. The parameter linearSolver
specifies
the solver for the linearized momentum equation. All linear solvers are
supported except for HYPRE. The parameter relaxationFactor
governs how
much of the solution is kept from the updated values after the solution
of the linearized momentum equation at the current iteration. Valid
values are any number between zero (solution stays at previous iteration
value) and one (solution set to values from the linear solve). Using the
parameter maxIterations
, one can specify the maximum number of
iterations that are performed in the linear solver.
Pressure Correction Equation
Options for the pressure correction equation are set with the
pressureCorrectionEquationOptions
variable in the run control file.
pressureCorrectionEquationOptions: <linearSolver=HYPRE, relaxationFactor=0.1, maxIterations=5>
The pressure correction equation options variable must be specified for
all simulations. The parameter linearSolver
specifies the solver for the
pressure-correction equation. All linear solvers described in the
previous section are supported. For simulations involving anything other
than idealized model problems on high-quality 2-D meshes, one will
generally want to use either the PETSC solver or the HYPRE solver.
The parameter relaxationFactor
governs how much of the solution is kept
from the updated values after the solution of the pressure-correction
equation at the current iteration. Valid values are any number between
zero (pressure field not updated) and one (full pressure-correction
value update to pressure field). Using the parameter maxIterations
, one
can specify the maximum number of iterations that are performed in the
linear solver.
Two primary methods of solving the pressure correction equation are
supported by Stream. The SIMPLE (Semi-Implicit Method for
Pressure-Linked Equations) and the SIMPLEC (Semi-Implicit Method for
Pressure-Linked Equations-Consistent) algorithms are available. These
methods can be selected by specifying either SIMPLE
or SIMPLEC
in the
run control file using the pressureBasedMethod
variable as shown below
(default value shown):
pressureBasedMethod: SIMPLE
Pressure Equation
When using the SIMPLER
method in the iterative solver stream one must
also specify options for the pressure equation using the variable
pressureEquationOptions
in the run control file in a manner like the
following (default values shown):
pressureEquationOptions: <linearSolver=HYPRE, relaxationFactor=0.1, maxIterations=5>
Options for the pressure equation are identical to those for the pressure-correction equation detailed above.
Energy Equation
Options for the energy equation are specified using the variable
energyEquationOptions
in the run control file in a manner like the
following (default values shown):
energyEquationOptions: <linearSolver=SGS, relaxationFactor=0.5, maxIterations=5,
form=totalEnthalpy>
This variable need be specified only when running a compressible flow
simulation. The linearSolver
parameter specifies the solver for the
energy equation. All linear solvers described in the previous section
are supported. The next two options shown above are used in the same
manner as described above for the momentum equation. The fourth
option shown above specifies the form of the energy equation to use. In
Stream, one may specify either totalEnthalpy
for the total
enthalpy form of the energy equation, totalEnergy
for the total energy
form of the energy equation, or temperature
for the temperature form of
the energy equation. For the stream-piso
solver, the temperature form of
the energy equation is not available.
Species Equation
For simulations involving multi-species mixtures, one must specify
options for the species equations using the variable
speciesEquationOptions
in the run control file in a manner like the
following (default values shown):
speciesEquationOptions: <linearSolver=SGS, relaxationFactor=0.5, maxIterations=5>
The linearSolver
parameter specifies the solver for the species
equation. All linear solvers described in the previous section are
supported. The remaining options shown above are used in the same manner
as described above for the momentum equation.
Turbulence Equations
For turbulent simulations, one must specify options for the turbulence
equations using the run control file variable turbulenceEquationOptions
in a manner like the following (default values shown):
turbulenceEquationOptions: <linearSolver=SGS, relaxationFactor=0.5, maxIterations=5,
model=menterSST>
The linearSolver
parameter specifies the solver for the turbulence
equations. All linear solvers described in the previous section are
supported. The next two options shown above are used in the same manner
as described above for the momentum equation. Several different
turbulence models can be chosen from using the model
option. The section on turbulence
covers all the valid options that can be selected for the model
option.
During the non-linear solution process at any time step, it is possible
for the turbulence equations to return non-physical values of the
dependent variables k, the turbulent kinetic energy, and \(\omega\), the specific
dissipation rate. Should these non-physical values not be limited, the
simulation will immediately terminate due to floating-point exception.
To prevent this from occurring one must specify physical fallback values
that can be assigned for cells with non-physical values after the linear
solve. The most robust way of continuing the simulation without causing
un-necessary shock to the flow field has been found to simply assign
free-stream values in place of the non-physical values that occur. This
can be done using the run control file variables kFreestream
and
omegaFreestream
as shown below (default values shown):
kFreestream: 1.0e-08
omegaFreestream: 10.0
While one may choose to accept the default values by not including these
lines in the run control file, the preferred approach is to set these
values to those used in the initial conditions, because free-stream
values are commonly used in the initial condition for the variables k
and \(\omega\) and the location of the non-physical values of k
and omega
is
sometimes in the vicinity of the edge of the boundary layer where the
flow is transitioning back to free-stream.