11.5 Session file configuration: Linear stability analysis

Stability analyses of incompressible flow involves solving the linearised Navier-Stokes equations

∂u ′
----
 ∂t + L(U,u′) = -∇p + ν∇2u′,

where L is a linear operator, its adjoint form, or both. The evolution of the linearised Navier-Stokes operator, which evolves a solution from an initial state to a future time t, can be written as

u(t) = A(t)u(0).

The adjoint evolution operator is denoted as A*. This section details the additional configuration options, in addition to the standard configuration options described earlier, relating to performing this task.

11.5.1 Solver Info

11.5.2 Parameters

The following parameters can be specified in the PARAMETERS section of the session file:

11.5.3 Functions

When using the direct solver for stability analysis it is necessary to specify a Forcing function “StabilityCoupledLNS” in the form:

1<FORCING> 
2   <FORCE TYPE="StabilityCoupledLNS"> 
3   </FORCE> 
4</FORCING>

This is required since we need to tell the solver to use the existing field as a forcing function to the direct matrix inverse as part of the Arnoldi iteration.

If the Driver is ModifiedArnoldi, instead of using the whole flow field, a subdomain or a subgroup of variables can be selected to calculate eigenvalues.

The selected domains are defined by

1<FUNCTION NAME="SelectEVCalcDomain0"> 
2  <E VAR="C0" VALUE=" x" /> 
3  <E VAR="C1" VALUE="-x+1." /> 
4  <E VAR="C2" VALUE=" y+1.5" /> 
5  <E VAR="C3" VALUE="-y+1.5" /> 
6</FUNCTION> 
7 
8<FUNCTION NAME="SelectEVCalcDomain1"> 
9  <E VAR="C0" VALUE=" x" /> 
10  <E VAR="C1" VALUE="-x+1." /> 
11  <E VAR="C2" VALUE=" y+1.5" /> 
12  <E VAR="C3" VALUE="-y+1.5" /> 
13</FUNCTION> 
14 
15...

The number in SelectEVCalcDomain? and C? should increase continuously from 0 to 9. Empty function will be ignored.

Each function SelectEVCalcDomain? selects elements whose center satisfies C0>0 and C1>0 and C2>0, and so on. The finally selected domain is the union of all SelectEVCalcDomain?s.

The selected variables are defined by

1<FUNCTION NAME="SelectEVCalcVariables"> 
2  <E VAR="u" VALUE="1" /> 
3  <E VAR="v" VALUE="1" /> 
4</FUNCTION>

Empty function will be ignored.

If SelectEVCalcDomain? or SelectEVCalcVariables is defined, both the original eigenvector and the masked eigenvector (with _masked) will be output.

Note: Examples of the set up of the direct solver stability analysis (and other incompressible Navier-Stokes solvers) can be found in the regression test directory NEKTAR/solvers/IncNavierStokesSolver/Tests. See for example the files PPF_R15000_ModifiedArnoldi_Shift.tst and PPF_R15000_3D.xml noting that some parameters are specified in the .tst files.