In the following we describe the session file configuration. Specifically we consider the sections
under the tag <CONDITIONS>
in the session (.xml) file.
Under this section it is possible to set the parameters of the simulation.
TimeStep
is the time-step we want to use.
FinTime
is the final physical time at which we want our simulation to stop.
NumSteps
is the equivalent of FinTime
but instead of specifying the physical final
time we specify the number of time-steps.
IO_CheckSteps
sets the number of steps between successive checkpoint files. No
checkpoint file is written if it is set to 0.
IO_InfoSteps
sets the number of steps between successive info stats are printed
to screen.
Gamma
ratio of the specific heats. Default value = 1.4.
pInf
farfield pressure (i.e. p∞). Default value = 101325 Pa.
rhoInf
farfield density (i.e. ρ∞). Default value = 1.225 Kg∕m3.
GasConstant
universal gas contant. Default value = 287.058 JKg-1K-1.
TInf
farfield temperature (i.e. T∞). Default value = 288.15 K.
Twall
temperature at the wall when isothermal boundary conditions are employed
(i.e. Tw). Default value = 300.15K.
uInf
farfield X-component of the velocity (i.e. u∞). Default value = 0.1 m∕s.
vInf
farfield Y -component of the velocity (i.e. v∞). Default value = 0.0 m∕s.
wInf
farfield Z-component of the velocity (i.e. w∞). Default value = 0.0 m∕s.
mu
dynamic viscosity (i.e. μ∞). Default value = 1.78e-05 Pas.
Pr
Prandtl number. Default value = 0.72.
thermalConductivity
thermal conductivity (i.e. κ∞). This can be set as an
alternative to Pr
, in which case the Prandtl number is calculated from κ∞ (it is
only possible to set one of them). By default, this is obtained from the Prandtl
number.
CFL
is the CFL number (explicit and implicit solvers).
CFLGrowth
is the growing CFL (explicit and implicit solvers).
CFLEnd
is the maximum value of the CFL number (explicit and implicit solvers).
Timer_IO_Level
defines the amount of timer information that is printed after the
solver is finished. The default value is -1, which disables output. By selecting a
value between 0 and 2, more detailed timer information is printed.
Under this section it is possible to set the time integration scheme information.
TimeIntegrationScheme
is the time-integration scheme we want to use. There are
implicit and explicit schemes for the Compressible flow solver. For an explicit
discretization, the time-integration schemes supported are as follows
Name | <METHOD> | <VARIANT> | <ORDER> |
Forward Euler | ForwardEuler | - | 1 |
Runge Kutta 2 - SSP | RungeKutta | SSP | 2 |
Runge Kutta 3 - SSP | RungeKutta | SSP | 3 |
Runge Kutta 4 | ClassicalRungeKutta | - | 4 |
Runge Kutta 5 | RungeKutta | - | 5 |
For an implicit discretization, the time-integration schemes available are
Name | <METHOD> | <VARIANT> | <ORDER> |
Backward Euler | BackwardEuler | - | 1 |
Backward Differentiation Formula Implicit | BDFImplicit | - | 1 |
Backward Differentiation Formula Implicit | BDFImplicit | - | 2 |
Singly Diagonally Implicit Runge Kutta | DIRK | - | 2 |
Singly Diagonally Implicit Runge Kutta | DIRK | - | 3 |
Singly Diagonally Implicit Runge Kutta | DIRK | ES5 | 3 |
Singly Diagonally Implicit Runge Kutta | DIRK | - | 4 |
Singly Diagonally Implicit Runge Kutta | DIRK | ES5 | 4 |
Under this section it is possible to set the solver information.
EQType
is the tag which specify the equations we want solve:
Explicit discretization in time:
NavierStokesCFE
(Compressible Navier-Stokes equations).
EulerCFE
(Compressible Euler equations).
IsentropicVortex
(Isentropic vortex test case).
RinglebFlow
(Ringleb flow test case).Implicit discretization in time:
NavierStokesImplicitCFE
(Compressible Navier-Stokes equations).
EulerImplicitCFE
(Compressible Euler equations).Projection
is the type of projection we want to use:
DisContinuous
.AdvectionType
is the advection operator we want to use.
WeakDG
(classical DG in weak form).
FRDG
(Flux-Reconstruction recovering nodal DG scheme).
FRSD
(Flux-Reconstruction recovering a spectral difference (SD) scheme).
FRHU
(Flux-Reconstruction recovering Huynh (G2) scheme).
FRcmin
(Flux-Reconstruction with c = cmin).
FRcinf
(Flux-Reconstruction with c = ∞).Note that only WeakDG
is fully supported, the other operators work only with
quadrilateral elements (2D or 2.5D).
DiffusionType
is the diffusion operator we want to use for the Navier-Stokes
equations:
LDGNS
(LDG with primitive variables. The penalty term is inversely
proportional to the element size, proportional to the local viscosity for the
momentum equations and to the thermal conductivity for the energy equation,
and proportional to an optional parameter LDGNSc11
which is by default set to
one; proportionality to polynomial order can be manually imposed by setting
the parameter LDGNSc11
equal to p2).
LFRDGNS
(Flux-Reconstruction recovering nodal DG scheme).
LFRSDNS
(Flux-Reconstruction recovering a spectral difference (SD) scheme).
LFRHUNS
(Flux-Reconstruction recovering Huynh (G2) scheme).
LFRcminNS
(Flux-Reconstruction with c = cmin).
LFRcinfNS
(Flux-Reconstruction with c = ∞).
InteriorPenalty
(Symmetric interior penalty method).Note that only LDGNS
and InteriorPenalty
are fully supported, the other operators
work only with quadrilateral elements (2D or 2.5D).
UpwindType
is the numerical interface flux (i.e. Riemann solver) we want to use for the
advection operator:
AUSM0
.
AUSM1
.
AUSM2
.
AUSM3
.
Average
.
ExactToro
.
HLL
.
HLLC
.
LaxFriedrichs
.
Roe
.ViscosityType
is the viscosity type we want to use:
Constant
(Constant viscosity).
Variable
(Variable viscosity through the Sutherland’s law).EquationOfState
allows selecting an equation of state for accounting for non-ideal gas
behaviour:
IdealGas
(default option).
VanDerWaals
(requires additional parameters Tcrit
and Pcrit
).
RedlichKwong
(requires additional parameters Tcrit
and Pcrit
).
PengRobinson
(requires additional parameters Tcrit
, Pcrit
and
AcentricFactor
).Driver
specifies the type of problem to be solved:
Standard
(default option to solve the unsteady equations).
SteadyState
(uses the Selective Frequency Damping method (see Sec. 11.1.5)
to obtain a steady-state solution of the Navier-Stokes equations (explicit or
implicit)).ShockCaptureType
specifies the type of operator to be used for shock capturing:
NonSmooth
add a Laplacian operator to apply artificial diffusion (see
Sec. 9.4.1.1).
Physical
add artificial viscosity to the physical viscosity.ShockSensorType
specifies the sensor type of shock capturing to be used:
Modal
(default) use a modal sensor to identify where to add viscosity (see
Sec. 9.4.1.2).
Dilatation
use a dilatation sensor to identify where to add viscosity.DucrosSensor
apply a Ducros [10] (anti-vorticity) filter to the shock sensor:
On
Off
Smoothing
apply a smoothing filter to the shock sensor:
C0
smooth the artificial viscosity to be a continuous field.
In this section we can specify the boundary conditions for our problem. First we need
to define the variables under the section VARIABLES
. For a 1D problem we have:
For a 2D problem we have
For a 3D problem we have:
After having defined the variables depending on the dimensions of the problem we want to solve, it is necessary to specify the boundary regions on which we want to define the boundary conditions:
Finally we can specify the boundary conditions on the regions specified under BOUNDARYREGIONS
.
Note that the no-slip, isothermal, wall boundary condition requires Twall to be specified. In
the following are some examples for a 2D problem:
In some cases we need to excite perturbations inside the boundary layer. This can be
achieved by setting part of the wall as a disturbance strip. In the no-slip/adiabatic wall
boundary conditions, if the VALUE
is not exact "0" but any expression, which can be
time-dependent, the value of the expression will be added to the ghost state of what it
should be in the input boundary conditions, and then generate a non-zero flux through
the Riemann solver. The following is an example to set a disturbance strip of
amplitude A, frequency f, and in the range of [x0,x0 + len] on a flat plate.
where pOut
is the target static pressure at the boundary.
Under the two following sections it is possible to define the initial conditions and the exact solution (if existent).