In this section, we detail how to use the steady-state solver (that implements the selective frequency damping method, see Sec. 10.1.5). 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`

, `TimeIntegrationMethod`

and `Projection`

is similar as what
is explained in 10.4.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:

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. 10.4.

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: