7. Parameter File
A parameter.ini file is needed to control the code. An overview of all options in the parameter file can be generated by following command in the terminal:
flexi --help
Generally following types are used:
INTEGER = 1
REAL = 1.23456
LOGICAL = T ! True
LOGICAL = F ! False
STRING = FLEXI
VECTOR = (/1.0,2.0,3.0/)
The concept of the parameter file is described as followed:
each single line is saved and examined for specific variable names
the examination is case-insensitive
comments can be set with symbol “!” in front of the text
! commented text
the order of defined variables is with one exception generally indifferent, but it is preferable to group similar variables
the order is only necessary for combined parameters for a setting, e.g., when changing boundary conditions or using multiple sponge zones. For example, if you want to change a specific boundary by addressing its name, the associated boundary type must be defined in the correct order:
BoundaryName=inflow ! BC_Name defined in mesh file
BoundaryType=(/2,0,0,0/)
BoundaryName=outflow ! BC_Name defined in mesh file
BoundaryType=(/2,0,0,0/)
The following tables describe the main configuration options which can used in the parameter file:
MPI |
Default |
Description |
|---|---|---|
GroupSize |
0 |
Define size of MPI subgroups, used to e.g. perform grouped IO, where group master collects and outputs data. |
IO_HDF5 |
Default |
Description |
|---|---|---|
gatheredWrite |
F |
Set true to activate gathered HDF5 IO for parallel computations. |
Interpolation |
Default |
Description |
|---|---|---|
N |
Polynomial degree of computation to represent to solution |
Restart |
Default |
Description |
|---|---|---|
ResetTime |
F |
Override solution time to t=0 on restart. |
FlushInitialState |
F |
Check whether (during restart) the statefile from which the restart is performed should be deleted. |
Output |
Default |
Description |
|---|---|---|
NVisu |
Polynomial degree at which solution is sampled for visualization. |
|
NOut |
-1 |
Polynomial degree at which solution is written. -1: NOut=N, >0: NOut |
ProjectName |
Name of the current simulation (mandatory). |
|
Logging |
F |
Write log files containing debug output. |
ErrorFiles |
T |
Write error files containing error output. |
OutputFormat |
None |
File format for visualization: None, ParaView. |
ASCIIOutputFormat |
CSV |
File format for ASCII files, e.g. body forces: CSV |
doPrintStatusLine |
F |
Print: percentage of time, … |
WriteStateFiles |
T |
Write HDF5 state files. Disable this only for debugging issues. NO SOLUTION WILL BE WRITTEN! |
WriteTimeAvgFiles |
T |
Write HDF5 time average files. Disable this only for debugging. NO TIME AVERAGE FILES WILL BE WRITTEN! |
Attention
OpenMPI v5.x changed the output buffering behaviour. To see the status line on newer versions of OpenMPI, pass --output :raw to mpirun.
Mesh |
Default |
Description |
|---|---|---|
MeshFile |
(relative) path to meshfile (mandatory). |
|
useCurveds |
T |
Controls usage of high-order information in mesh. Turn off to discard high-order data and treat curved meshes as linear meshes. |
interpolateFromTree |
T |
For non-conforming meshes, built by refinement from a tree structure, the metrics can be built from the tree geometry if it is contained in the mesh. |
meshScale |
1.0 |
Scale the mesh by this factor (shrink/enlarge). |
meshdeform |
F |
Apply simple sine-shaped deformation on Cartesian mesh (for testing). |
crossProductMetrics |
F |
Compute mesh metrics using cross product form. Caution: in this case free-stream preservation is only guaranteed for N=3*NGeo. |
debugmesh |
0 |
Output file with visualization and debug information for the mesh. 0: no, visualization, 3: Paraview binary |
BoundaryName |
Names of boundary conditions to be set (must be present in the mesh!).For each BoundaryName a BoundaryType needs to be specified. |
|
BoundaryType |
Type of boundary conditions to be set. Format: (BC_TYPE,BC_STATE) |
|
writePartitionInfo |
F |
Write information about MPI partitions into a file. |
NGeoOverride |
-1 |
Override switch for NGeo. Interpolate mesh to different NGeo.<1: off, >0: Interpolate |
Equation of State |
Default |
Description |
|---|---|---|
UseNonDimensionalEqn |
F |
Set true to compute R and mu from bulk Mach Reynolds (nondimensional form). |
BulkMach |
Bulk Mach (UseNonDimensionEqn=T) |
|
BulkReynolds |
Bulk Reynolds (UseNonDimensionEqn=T) |
|
kappa |
1.4 |
Heat capacity ratio / isentropic exponent |
R |
287.058 |
Specific gas constant |
Pr |
0.72 |
Prandtl number |
mu0 |
0.0 |
Dynamic Viscosity |
Ts |
110.4 |
Sutherland’s law for variable viscosity: Ts |
Tref |
273.15 |
Sutherland’s law for variable viscosity: Tref |
ExpoSuth |
1.5 |
Sutherland’s law for variable viscosity: Exponent |
Equation |
Default |
Description |
|---|---|---|
IniRefState |
Refstate required for initialization. |
|
RefState |
State(s) in primitive variables (density, velx, vely, velz, pressure). |
|
BCStateFile |
File containing the reference solution on the boundary to be used as BC. |
Riemann |
Default |
Description |
|---|---|---|
Riemann |
RoeEntropyFix |
Riemann solver to be used: LF, HLLC, Roe, RoeEntropyFix, HLL, HLLE, HLLEM |
RiemannBC |
Same |
Riemann solver used for boundary conditions: Same, LF, Roe, RoeEntropyFix, HLL, HLLE, HLLEM |
Exactfunc |
Default |
Description |
|---|---|---|
IniExactFunc |
Exact function to be used for computing initial solution. |
|
AdvVel |
Advection velocity (v1,v2,v3) required for exactfunction CASE(2,21,4,8) |
|
IniAmplitude |
Amplitude for synthetic test case |
|
IniFrequency |
Frequency for synthetic test case |
|
MachShock |
1.5 |
Parameter required for CASE(10) |
PreShockDens |
1.0 |
Parameter required for CASE(10) |
IniCenter |
Shu Vortex CASE(7) (x,y,z) |
|
IniAxis |
Shu Vortex CASE(7) (x,y,z) |
|
IniHalfwidth |
0.2 |
Shu Vortex CASE(7) |
JetRadius |
1.0 |
Roundjet CASE(5,51,33) |
JetEnd |
10.0 |
Roundjet CASE(5,51,33) |
JetAmplitude |
1.0 |
Roundjet CASE(5,51,33) |
Ramping |
1.0 |
Subsonic mass inflow CASE(28) |
P_Parameter |
0.0 |
Couette-Poiseuille flow CASE(8) |
U_Parameter |
0.01 |
Couette-Poiseuille flow CASE(8) |
AmplitudeFactor |
0.1 |
Harmonic Gauss Pulse CASE(14) |
HarmonicFrequency |
400.0 |
Harmonic Gauss Pulse CASE(14) |
SigmaSqr |
0.1 |
Harmonic Gauss Pulse CASE(14) |
delta99_in |
Blasius boundary layer CASE(1338) |
|
x_in |
Blasius boundary layer CASE(1338) |
Filter |
Default |
Description |
|---|---|---|
FilterType |
None |
Type of filter to be applied. None, CutOff, Modal, LAF |
NFilter |
Cut-off mode (FilterType==CutOff or LAF) |
|
LAF_alpha |
1.0 |
Relaxation factor for LAF, see Flad et al. JCP 2016 |
HestFilterParam |
Parameters for Hesthaven filter (FilterType==Modal) |
Overintegration |
Default |
Description |
|---|---|---|
OverintegrationType |
none |
Type of overintegration. None, CutOff, ConsCutOff |
NUnder |
Polynomial degree to which solution is filtered (OverintegrationType == 1 or 2 |
Lifting |
Default |
Description |
|---|---|---|
doWeakLifting |
F |
Set true to perform lifting in weak form. |
doConservativeLifting |
F |
Set true to compute the volume contribution to the gradients in conservative form, i.e. deriving the solution multiplied by the metric terms |
BaseFlow |
Default |
Description |
|---|---|---|
doBaseFlow |
F |
Switch on to calculate a baseflow. |
BaseFlowFile |
none |
FLEXI file (e.g. baseflow, TimeAvg) from which baseflow is read. |
BaseFlowRefState |
Specify which refstate should be used in no baseflowfile is given. |
|
SelectiveFilter |
(/ -999, -999, -999 /) |
Filter Mean to another polynomial degree. |
TimeFilterWidthBaseFlow |
1.0 |
Temporal filter width of exponential, explicit time filter. |
Sponge |
Default |
Description |
|---|---|---|
SpongeLayer |
F |
Turn on to use sponge regions for reducing reflections at boundaries. |
damping |
Damping factor of sponge. U_t=U_t-damping*(U-U_base) in fully damped regions. |
|
SpongeShape |
Set shape of sponge: (1) ramp : Cartesian / vector-aligned, (2) cylindrical |
|
nSpongeVertices |
Define number of vertices per Polygon sponge Zone defining the Polygon |
|
SpongeVertex |
Sponge Vertex that defines polygon |
|
SpongeDistance |
Length of sponge ramp. The sponge will have maximum strength at the end of the ramp and after that point. |
|
SpongeXStart |
Coordinates of start position of sponge ramp (SpongeShape=ramp) or center (SpongeShape=cylindrical). |
|
SpongeXEnd |
Coordinates of second point to define Cartesian aligned cube. |
|
SpongeDir |
Direction vector of the sponge ramp (SpongeShape=ramp) |
|
SpongeRadius |
Radius of the sponge zone (SpongeShape=cylindrical) |
|
SpongeAxis |
Axis vector of cylindrical sponge (SpongeShape=cylindrical) |
|
SpongeViz |
F |
Turn on to write a visualization file of sponge region and strength. |
WriteSponge |
F |
Turn on to write the sponge region and strength to the first state file. |
SpongeBaseFlow |
1 |
Type of baseflow to be used for sponge. (1) constant: fixed state,(2), exactfunction: exact function, (3) file: read baseflow file, (4) pruett: |
SpongeRefState |
Index of refstate in ini-file (SpongeBaseFlow=constant) |
|
SpongeExactFunc |
Index of exactfunction (SpongeBaseFlow=exactfunction) |
|
SpongeRefFile |
FLEXI solution (e.g. TimeAvg) file from which sponge is read. |
|
tempFilterWidthSponge |
Temporal filter width used to advance Pruett baseflow in time. |
TimeDisc |
Default |
Description |
|---|---|---|
TimeDiscMethod |
CarpenterRK4-5 |
Specifies the type of time-discretization to be used, e.g. the name of a specific Runge-Kutta scheme. Possible values: |
TEnd |
End time of the simulation (mandatory). |
|
TStart |
0.0 |
Start time of the simulation (optional, conflicts with restart). |
CFLScale |
Scaling factor for the theoretical CFL number, typical range 0.1..1.0 (mandatory) |
|
DFLScale |
Scaling factor for the theoretical DFL number, typical range 0.1..1.0 (mandatory) |
|
dtmin |
-1.0 |
Minimal allowed timestep (optional) |
dtkill |
-1.0 |
Kill FLEXI if dt gets below this value (optional) |
maxIter |
-1 |
Stop simulation when specified number of timesteps has been performed. |
NCalcTimeStepMax |
1 |
Compute dt at least after every Nth timestep. |
Implicit |
Default |
Description |
|---|---|---|
adaptepsNewton |
F |
Adaptive Newton eps by Runge-Kutta error estimation |
EpsNewton |
1.0E-03 |
Newton tolerance, only used if adaptepsNewton=F |
nNewtonIter |
50 |
Maximum amount of Newton iterations |
EisenstatWalker |
F |
Adaptive abort criterion for GMRES |
gammaEW |
0.9 |
Parameter for Eisenstat Walker adaptation |
EpsGMRES |
1.0E-03 |
GMRES Tolerance, only used of EisenstatWalker=F |
nRestarts |
10 |
Maximum number of GMRES Restarts |
nKDim |
30 |
Maximum number of Krylov subspaces for GMRES, after that a restart is performed |
Eps_Method |
2 |
Method of determining the step size of FD approximation of A*v in GMRES, 1: sqrt(machineAccuracy)*scaleps, 2: take norm of solution into account |
scaleps |
1.0 |
Scaling factor for step size in FD, mainly used in Eps_Method=1 |
FD_Order |
1 |
Order of FD approximation (1/2) |
PredictorType |
0 |
Type of predictor to be used, 0: use current U, 1: use right hand side, 2: polynomial extrapolation, 3: dense output formula of RK scheme |
PredictorOrder |
1 |
Order of predictor to be used (PredictorType=2) |
Analyze |
Default |
Description |
|---|---|---|
CalcErrorNorms |
T |
Set true to compute L2 and LInf error norms at analyze step. |
AnalyzeToFile |
F |
Set true to output result of error norms to a file (CalcErrorNorms=T) |
analyze_dt |
0.0 |
Specifies time interval at which analysis routines are called. |
nWriteData |
1 |
Interval as multiple of analyze_dt at which HDF5 files (e.g. State,TimeAvg,Fluc) are written. |
NAnalyze |
Polynomial degree at which analysis is performed (e.g. for L2 errors). Default: 2*N. |
|
AnalyzeExactFunc |
Define exact function used for analyze (e.g. for computing L2 errors). Default: Same as IniExactFunc |
|
AnalyzeRefState |
Define state used for analyze (e.g. for computing L2 errors). Default: Same as IniRefState |
|
doMeasureFlops |
T |
Set true to measure flop count, if compiled with PAPI. |
PIDkill |
-1.0 |
Kill FLEXI if PID gets above this value (optional) |
NCalcPID |
1 |
Compute PID after every Nth timestep. |
AnalyzeEquation |
Default |
Description |
|---|---|---|
CalcBodyForces |
F |
Set true to compute body forces at walls |
CalcBulkState |
F |
Set true to compute the flows bulk quantities |
CalcMeanFlux |
F |
Set true to compute mean flux through boundaries |
CalcWallVelocity |
F |
Set true to compute velocities at wall boundaries |
CalcTotalStates |
F |
Set true to compute total states (e.g. Tt,pt) |
CalcTimeAverage |
F |
Set true to compute time averages |
WriteBodyForces |
T |
Set true to write bodyforces to file |
WriteBulkState |
T |
Set true to write bulk state to file |
WriteMeanFlux |
T |
Set true to write mean flux to file |
WriteWallVelocity |
T |
Set true to write wall velolcities file |
WriteTotalStates |
T |
Set true to write total states to file |
VarNameAvg |
Names of variables to be time-averaged |
|
VarNameFluc |
Names of variables for which Flucs (time-averaged square of the variable) should be computed. Required for computing actual fluctuations. |
RecordPoints |
Default |
Description |
|---|---|---|
RP_inUse |
F |
Set true to compute solution history at points defined in recordpoints file. |
RP_DefFile |
File containing element-local parametric recordpoint coordinates and structure. |
|
RP_MaxMemory |
100 |
Maximum memory in MiB to be used for storing recordpoint state history. If memory is exceeded before regular IO level states are written to file. |
RP_SamplingOffset |
1 |
Multiple of timestep at which recordpoints are evaluated. |