Namelist "Simulation_Management"

This data setup allows the user to set the time parameters of the code in order to :

perform the numerical simulation (time step, stopping criteria…)

record the results associated to time series of probes, instantaneous physical quantity fields, statistical quantities.

record the backup/restart files

Full data set of the namelist

&Simulation_Management
!------------------------------------------------
!--- Restart the simulation
!------------------------------------------------
Restart_Parameter= 0 ,
!------------------------------------------------
!--- Stopping criteria
!------------------------------------------------
Steady_Flow_Stopping_Criterion_Enabled = .false. ,
Steady_Flow_Stopping_Criterion = 1.D-20,
Temporal_Iterations_Number = 10 ,
Final_Time = 3.D+01 ,
!------------------------------------------------
!--- Numerical time step
!------------------------------------------------
TimeStep_Type = 0 ,
Timestep_Min = 1.D-03 ,
Timestep_Max = 1.D-03 ,
CFL_Min = 0.5 ,
CFL_Max = 0.5 ,
Iterations_For_Timestep_Linear_Progress= 1 ,
!------------------------------------------------
!--- Recording rates for different kind of files
!------------------------------------------------
!--- Backup++/Restart files
Simulation_Backup_Rate = 1000 ,
!--- checkcalc_xxxxxx.d file
Simulation_Checking_Rate = 200 ,
!--- Snapshots
InstantaneousFields_RecordingReset=.false. ,
InstantaneousFields_TimeRecordingRate= 1.0D+00 , !--- in time units
InstantaneousFields_RecordingStartTime= 0.0 , !--- in time units
InstantaneousFields_TimeIterationRecordingRate= 10, !--- in time-step iteration unit
InstantaneousFields_StartTimeIterationRecording= 70, !--- in time-step iteration unit
!--- Probe time series files
Probe_RecordingReset=.false. ,
Probe_StartTimeIterationRecording= 20 , !--- in time-iteration units
Probe_TimeIterationRecordingRate = 10 , !--- in time-iteration units
!--- Slice files
Slices_RecordingReset=.false. ,
!Slices_TimeRecordingRate= 5.0E-01 , !--- in time units
!Slices_RecordingStartTime= 1.D-00 , !--- in time units
Slices_TimeIterationRecordingRate= 10 , !--- in time-step iteration unit
Slices_StartTimeIterationRecording= 50 , !--- in time-step iteration unit
!--- Space-averaged field files
SpaceAveragedFields_RecordingReset=.false. ,
!SpaceAveragedFields_TimeRecordingRate= 5.0E-01 , !--- in time units
!SpaceAveragedFields_RecordingStartTime= 1.D-00 , !--- in time units
SpaceAveragedFields_TimeIterationRecordingRate= 10 , !--- in time-step iteration units
SpaceAveragedFields_StartTimeIterationRecording= 20 , !--- in time-step iteration units
!--- Statistics files
Start_Time_For_Statistics= 1.D+2 , !--- in time units
Time_Range_Statistic_Calculation = 1.D+00 !--- in time units
/

Split the namelist

As the number of data in this namelist can be large and bounded to different types of functionnalities (probes, instananeous fields, statistical quantities, simulation parameters, …), the full dataset of this namelist can be split into several parts in the input data file. Each part is defined with the same namelist name (“Simulation_Management”) but each dataset must be different.

&Simulation_Management
!--- Snapshots
InstantaneousFields_RecordingReset=.false. ,
InstantaneousFields_TimeRecordingRate= 1.0D+00 , !--- in time units
InstantaneousFields_RecordingStartTime= 0.0 , !--- in time units
InstantaneousFields_TimeIterationRecordingRate= 10, !--- in time-step iteration unit
InstantaneousFields_StartTimeIterationRecording= 70, !--- in time-step iteration unit
/

&Simulation_Management
!--- Probe time series files
Probe_RecordingReset=.false. ,
Probe_StartTimeIterationRecording= 20 , !--- in time-iteration units
Probe_TimeIterationRecordingRate = 10 , !--- in time-iteration units
/

&Simulation_Management
!--- Slice files
Slices_RecordingReset=.false. ,
!Slices_TimeRecordingRate= 5.0E-01 , !--- in time units
!Slices_RecordingStartTime= 1.D-00 , !--- in time units
Slices_TimeIterationRecordingRate= 10 , !--- in time-step iteration unit
Slices_StartTimeIterationRecording= 50 , !--- in time-step iteration unit
/

&Simulation_Management
!--- Space-averaged field files
SpaceAveragedFields_RecordingReset=.false. ,
!SpaceAveragedFields_TimeRecordingRate= 5.0E-01 , !--- in time units
!SpaceAveragedFields_RecordingStartTime= 1.D-00 , !--- in time units
SpaceAveragedFields_TimeIterationRecordingRate= 10 , !--- in time-step iteration units
SpaceAveragedFields_StartTimeIterationRecording= 20 , !--- in time-step iteration units
/

&Simulation_Management
!--- Statistics files
Start_Time_For_Statistics= 1.D+2 , !--- in time units
Time_Range_Statistic_Calculation = 1.D+00 !--- in time units
/

Definition of the data set

Restart the simulation

Restart_Parameter

Type : Integer Value

This data indicates how is initialized the simulation :

0 : The simulation starts from the beginning corresponding to an initialization state.

1 or 2 : The simulation is resumed from a temporary backup file recorded during the previous simulation. Useful to resume a simulation suddenly interrupted. As the temporary backup file a regularly removed during a simulation, only the two last files created by the code are available. They correspond to the number 1 or 2. The number of last file created is recorded in the file num_sav_xxxxx.d (xxxxx correspond to the MPI process number when the simulation is performed in a domain decomposition approach).

3 : The simulation is resumed from the last backup file built during the last time step of the previous simulation. Useful to continue a incompleted simulation. The number 3 must be present in the file num_sav_xxxxx.d (proof that the previous simulation is correctly completed), otherwise the numbers 0, 1 or 2 (related to the previous cases) will be present.

Stopping criteria

Steady_Flow_Stopping_Criterion_Enabled

Type : Boolean value.

Activation of the stopping criterion for steady flow (based on the L2-norm of the time variation of physical quantities).

Steady_Flow_Stopping_Criterion

Type : Real value

When the L2-norm of the time variation of physical quantities is lower than this value, the simulation is stopped and the solution corresponds to a steady flow.

Number_Temporal_Iterations

Type : Integer value

This value is the maximum of time iterations performed by the code before stopping.

Final_Time

Type : Real value

This value is the physical time limit reached by the simulation before stopping.

The simulation stops as soon as one of these conditions is achieved.

&Simulation_Management
!------------------------------------------------
!--- Restart the simulation
!------------------------------------------------
Restart_Parameter= 0 ,
!------------------------------------------------
!--- Stopping criteria
!------------------------------------------------
Steady_Flow_Stopping_Criterion_Enabled = .false. ,
Steady_Flow_Stopping_Criterion = 1.D-20,
Temporal_Iterations_Number = 10 ,
Final_Time = 3.D+01 ,
!------------------------------------------------
!--- Numerical time step
!------------------------------------------------
TimeStep_Type = 0 ,
Timestep_Min = 1.D-03 ,
Timestep_Max = 1.D-03 ,
CFL_Min = 0.5 ,
CFL_Max = 0.5 ,
Iterations_For_Timestep_Linear_Progress= 1 /

Numerical time step

TimeStep_Type

Type : Integer value

Selection of way to define the numerical time step :

0 : The time step is constant and defined by the user by means of the variable “Timestep_max” (see further).

-1 : The time step evolves lineraly between the values given by “Timestep_min” and “Timestep_max”. The range of variation is defined by the variable “Iterations_For_Timestep_Linear_Progress” (in time iteration number, see further).

1 : The time step is calculated for each time iteration by means of the CFL parameter. The CFL parameter can be constant, it is thus defined by the variable “CFL_Max”.
It can also evolve linearly between the values given by “CFL_Min” and “CFL_Max”. The range of variation is defined by the variable “Iterations_For_Timestep_Linear_Progress” (in time iteration number, see further).

Timestep_min

Type : Real value

Minimum value of the time step. This variable can be omitted when the time step is constant.

Timestep_max

Type : Real value

Maximum value of the time step. This variable set the value of the time step when it is constant.

CFL_min

Type : Real value. This variable can be omitted when the time step is constant.

Minimum value of the CFL parameter (can be omitted, in this case CFL_Max will define the CFL value).

CFL_max

Type : Real value

Maximum value of the CFL parameter. This variable set the value of the CFL parameter when it is constant (in this case, CFL_Min is useless).

Iterations_For_Timestep_Linear_Progress

Type : Integer value

Number of time iterations over which the CFL parameter or the time step can evolve linearly. When the time step or the CFL parameter are constant, this variable must not set to a value greater than 1. It could actually be omitted (this default value is 1).

For a dynamic computation of the time step from a CFL condition, you can only set the variable CFL_Max if you want a constant CFL value and CFL_Min can be omitted. In any way, the maximum value the time step can reached is limited by the value of Timestep_max (useful when the initial condition is defined from a zero velocity field for which the time step cannot be computed from the CFL condition).

Recording rates for different kind of files

- For backup/restart files :

Simulation_Backup_Rate

Type : Integer value

This variable defines the recording rate, in time iteration unit , of the backup files (for instance, when “Simulation_Backup_Rate=1000” a data backup is carried out for all time iteration numbers that are a multiple of 1000).
Backup data are dispatched in two files that are named save_var_yyyyy_n.d and save_fld_yyyyy_n.d ('yyyyy' is the subdomain number for simulations based on the MPI domain-decomposition approach, n= 1 or 2 for temporary backup files and n=3 for the backup files created during the last time step of the simulation).

- For snapshot files :

InstantaneousFields_RecordingStartTime

Type : Real value

This variable sets the time threshold from which the record of instantaneous fields begins. It must be used along with the next variable “InstantaneousFields_TimeRecordingRate”. This value is defined in time unit.

InstantaneousFields_TimeRecordingRate

Type : Real value

This variable defines the recording rate, in time unit , of instantaneous fields. For instance, when “InstantaneousFields_TimeRecordingRate=1.5” a file is created at every 1.5 time unit from the start time provided by the variable “InstantaneousFields_RecordingStartTime”.

InstantaneousFields_StartTimeIterationRecording

Type : Integer value

This variable sets the time-iteration threshold from which the record of instantaneous fields begins. It must be used along with the next variable “InstantaneousFields_TimeIterationRecordingRate”. This value is defined in time-iteration unit (number of time steps).

InstantaneousFields_TimeIterationRecordingRate

Type : Integer value

This variable defines the recording rate, in time-iteration units , of instantaneous fields. For instance, when “InstantaneousFields_TimeIterationRecordingRate=100” a file is created at every 100 time steps from the threshold provided by the variable “InstantaneousFields_StartTimeIterationRecording”.

InstantaneousFields_RecordingReset

Type : Boolean value. The default value is .false.

When this variable is set to “.true.”, the ID number of file 'xxxxxxx' is set to zero for the next simulation. This is useful for resetting the file numbering when a simulation is split into several successive parts.

Keep in mind : Instantaneous field files are named res_xxxxxxx_yyyyy.d. T The number 'yyyyy' stands for the subdomain number on which fields are recorded for simulations based on the MPI domain-decomposition approach. When the domain decomposition approach is not used (just one domain), 'yyyyy=00000' is the default value. 'xxxxxxx' is the ID number of the file. 'xxxxxxx' is incremented by one for each new file created. The instantaneous fields of the physical quantities written in each file are defined with the namelist “Instantaneous_Fields_Listing”.

This set of variables must be used in respect of one rule : the recording rate of files is defined either in time unit or in number of time steps (time-ieration unit). In any case, the correct couple of variables must be used. “InstantaneousFields_RecordingStartTime” and “InstantaneousFields_TimeRecordingRate” (in time unit). “InstantaneousFields_StartTimeIterationRecording” and “InstantaneousFields_TimeIterationRecordingRate” (in number of time steps).

- For slice files (instantaneous fields recorded on a slice):

Slices_RecordingStartTime

Type : Real value

This variable sets the time threshold from which the record of instantaneous fields begins. It must be used along with the next variable “Slices_TimeRecordingRate”. This value is defined in time unit.

Slices_StartTimeIterationRecording

Type : Integer value

This variable sets the time-iteration threshold from which the record of instantaneous fields on slices begins. It must be used along with the next variable “Slices_TimeIterationRecordingRate”. This value is defined in time-iteration unit (number of time steps).

Slices_TimeIterationRecordingRate

Type : Integer value

This variable defines the recording rate, in time-iteration units , of instantaneous fields on slices. For instance, when “Slices_TimeIterationRecordingRate=100” a file is created at every 100 time steps from the threshold provided by the variable “Slices_StartTimeIterationRecording”.

Slices_RecordingReset

Type : Boolean value. The default value is .false.

When this variable is set to “.true.”, the ID number of file 'xxxxxxx' is set to zero for the next simulation. This is useful for resetting the file numbering when a simulation is split into several successive parts.

Keep in mind : For instantaneous field on slice, the files are named slice_Id_dir_xxxxxxx_yyyyy.d. Id is the ID number of the Slice. dir specifies the direction of the slice The number 'yyyyy' stands for the subdomain number on which fields are recorded for simulations based on the MPI domain-decomposition approach. When the domain decomposition approach is not used (just one domain), 'yyyyy=00000' is the default value. This number is not present if the option “Slice_Gathering_Enabled” is set to “true” in the namelist “Field_Recording_Setup” because every pieces of slice split over several subdomain are gathered in the same file. 'xxxxxxx' is the ID number of the file. 'xxxxxxx' is incremented by one for each new file created. The instantaneous fields of the physical quantities written in each file are defined with the namelist “Slice_Recording_Setup”.

- For space-averaged field files (instantaneous fields integrated in space along a direction):

SpaceAveragedFields_RecordingStartTime

Type : Real value

This variable sets the time threshold from which the record of space-averaged fields begins. It must be used along with the next variable “SpaceAveragedFields_TimeRecordingRate”. This value is defined in time unit.

SpaceAveragedFields_StartTimeIterationRecording

Type : Integer value

This variable sets the time-iteration threshold from which the record of space-averaged fields begins. It must be used along with the next variable “SpaceAveragedFields_TimeIterationRecordingRate”. This value is defined in time-iteration unit (number of time steps).

SpaceAveragedFields_TimeIterationRecordingRate

Type : Integer value

This variable defines the recording rate, in time-iteration units , of instantaneous fields on slices. For instance, when “SpaceAveragedFields_TimeIterationRecordingRate=100” a file is created at every 100 time steps from the threshold provided by the variable “SpaceAveragedFields_StartTimeIterationRecording”.

SpaceAveragedFields_RecordingReset

Type : Boolean value. The default value is .false.

When this variable is set to “.true.”, the ID number of file 'xxxxxxx' is set to zero for the next simulation. This is useful for resetting the file numbering when a simulation is split into several successive parts.

Keep in mind : For space-averaged field along a specific direction, the files are named spav_Id_dir_xxxxxxx_yyyyy.d. Id is the ID number of the Slice. dir specifies the direction of the slice The number 'yyyyy' stands for the subdomain number on which fields are recorded for simulations based on the MPI domain-decomposition approach. When the domain decomposition approach is not used (just one domain), 'yyyyy=00000' is the default value. This number is not present if the option “Slice_Gathering_Enabled” is set to “true” in the namelist “Field_Recording_Setup” because every fields split over several subdomain are gathered in the same file. 'xxxxxxx' is the ID number of the file. 'xxxxxxx' is incremented by one for each new file created. The space-averaged fields written in each file are defined with the namelist “SpaceAveragedSnapshots_Dataset”.

- For statistics files :

Start_Time_For_Statistics

Type : Real value

Time from which the statistical fields are calculated.

Time_Range_Statistic_Calculation

Type : Real value

Time range over which statistical fields are calculated. When this time range has been covered, statistical fields are recorded in a file named rst_xxxxxxx_yyyyy.d ('yyyyy' is the subdomain number for simulations based on the MPI domain-decomposition approach, 'xxxxxxx' is the file number). If the simulation is not completed a new cycle of statistical calculation is initialized. The statistical quantities are defined with the namelist “Statistical_Fields_Listing”.

- For probe time-series files :

Probe_TimeIterationRecordingRate

Type : Integer value

This variable defines the recording rate, in time iteration unit (number of time steps), of time series from probes distributed over the domain (see the namelist “Probe_Location”). The physical quantities linked to the probe time-series are defined with the namelist “Probe_Quantities_Enabled”. For instance, when “Probe_TimeIterationRecordingRate=10”, a new value is added to probe time-series at every 10 time steps from the threshold defined with “Probe_StartTimeIterationRecording”).

Probe_StartTimeIterationRecording

Type : Integer value

This variable defines the threshold from which the probe time-series start (in time iteration unit)

Probe_RecordingReset

Type : Boolean value. The default value is .false.

When this variable is set to “.true.”, the recording procedure of probe time-series is reinitialized when the simulation runs again. the old time series files present in the work directory are removed and replaced by the ones created during the current simulation. In otherwise (.false.), the new data are added in the time-series files previously created.