In this section, we detail how to use the steady-state solver (that implements the selective frequency damping method, see Sec. 11.1.4). Two cases are detailed here: the execution of the classical SFD method and the adaptive SFD method, where the control coefficient χ and the filter width Δ of the SFD method are updated all along the solver execution. For the second case, the parameters of the SFD method do not need to be defined by the user (they will be automatically calculated all along the solver execution) but several session files must be defined in a very specific way.
The definition of Eqtype
, TimeIntegrationScheme
and Projection
is similar as what is
explained in section 11.5.1. The use of the steady-state solver is enforced through the
definition of the Driver
which has to be SteadyState
. EvolutionOperator
does
not need to be defined to run the unadapted SFD method (by default, it is set to
Nonlinear
).
The following parameters can be specified in the PARAMETERS
section of the session
file:
Kinvis
: sets the kinematic viscosity ν. It is typically 1∕Re if both the characteristic
velocity and characteristic length are chosen to be 1.
ControlCoeff
: sets the control coefficient χ of the SFD method. Default value: 1.
FilterWidth
: sets the filter width Δ of the SFD method. Default value: 2.
GrowthRateEV
and FrequencyEV
: if the growth rate and the frequency of the
dominant eigenvalue are known, they can be given given as input and the code will
automatically select the optimum parameters χ and Δ (and overwrite the values
of ControlCoeff
and GrowthRateEV
that may be given in the session file)
TOL
: sets the tolerance of the SFD method. The code will run until ||q - ||inf <
TOL. Default value: 10-8.
Note that for the steady-state solver, the parameter NumSteps
is not taken into account. The
solver will run until a steady-state solution is found and not for a pre-defined number of time
steps.
Running the adaptive selective frequency damping method requires to set up the
session files in a very specific manner. First, the Geometry
section must be in a
separated archive file. If the test case studied is called "Session", the mesh file must
be called Session.xml.gz
(the linux command "gzip" can be used to obtain this
file).
The requirements for the file Session.xml
are similar as for the ones for the classical
SFD method. The Geometry
section being removed and placed in Session.xml.gz
.
This file defines the properties of the nonlinear problem solved (i.e. the flow for
which we want a steady-state). Also, the SOLVERINFO
section must contain the line:
1<I PROPERTY="EvolutionOperator" VALUE="AdaptiveSFD" />
The adaptive SFD method used is coupled with a stability analysis method. Then kdim
, nvec
,
evtol
and nits
should be defined into the PARAMETERS
section of Session.xml
. If not, these
parameters will take the default values presented in Sec. 11.5.
The goal of running the stability analysis is to evaluate the dominant eigenvalue of a “partially converged” steady base flow. This approximation is then used by the steady-state solver to select a control coefficient χ and a filter width Δ then ensure a fast convergence towards a steady-state solution.
To define the linear stability problem, another file, that must be called Session_LinNS.xml
,
has to be defined. This file must be an exact copy/paste of Session.xml
, only three
things have to be modified:
The boundary conditions must be modified to be homogeneous (i.e. equal to zero) at all inflow boundaries.
A non-zero function InitialConditions
has to be defined.
A random function BaseFlow
has to be defined (it will be overwritten all along
the solver execution). We recommend it to be a copy of InitialConditions
.
Once these three files (the Geometry
in Session.xml.gz
, the nonlinear problem definition in
Session.xml
and the homogeneous linear problem in Session_LinNS.xml
) are correctly
defined, the adaptive SFD method must be executed using:
IncNavierStokesSolver Session.xml.gz Session.xml