Outils pour utilisateurs

Outils du site


sunfluidh:simulation_management_setup_namelist

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.
Traductions de cette page:
  • fr
sunfluidh/simulation_management_setup_namelist.txt · Dernière modification : 2022/01/10 10:34 de yann

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki