# Documentation du code de simulation numérique SUNFLUIDH

## Web LIMSI

sunfluidh:sunfluidh_output

## Sunfluidh output files

### Type of files

Several types of output files exist :

• the probe files provide time series related to probes placed by the user over the computational domain.
• the instantaneous field files contain a “snapshot view” of physical quantity fields for a given time.
• the “slice” files contain physical quantity fields associated to a slice for a given time.
• the “space-averaged” files contain space-averaged fields along a specific direction for a given time.
• the statistical files contain statistics about selected quantities.
• the backup files contain the data setup for restarting the simulation.
• the checking files contain data that allow the user to check the behavior of the simulation
The file formats are ASCII or BINARY.
The binary files related to the instantaneous and statistical fields can be converted to an appropriate format for data visualization (with the softwares Tecplot or Paraview) by using the in-house software VISFIELD .
It is also possible to upload the data in Matlab or Python.

### Probe files

The name of file is defined following the template : “N_ins_yyyyy.d”.

• “yyyyy” is the number of the subdomain where the probes are located (relevant for MPI computing).
• N is the physical quantity related to the time series recorded in the file. N= u,v,w,t,p,r for the three velocity components, the temperature, the pressure or the density, respectively.
• These files are written in ASCII format and data are ordered in columns.
• The first column is the time and the others are the time series of the physical quantity specified in the file name. Other columns are linked with probe locations.
• The velocity components are interpolated at the center of cells.

The data setting is defined in the file “input3d.dat” by means of the namelists:

### Instantaneous field files

The name of file is defined following the template : “res_yyyyy_xxxxxxx.d”

• “yyyyy” is the number of the subdomain where the fields are present (relevant for MPI computing).
• “xxxxxxx” is the file number (the rank) used for the time classification in regard to the recording rate.
• These files are written in binary format.
• Each recorded field includes the ghost-cells surrounding the computational domain (or subdomains for MPI computing).
• Each file contains a cell-centered coordinate set
• The velocity components are located at the center of the cell-faces (the location used during the computation, see "Overview of key points for using Sunfluidh").

The data setting is performed in the file “input3d.dat” with the namelists :

### "Slice" files

The name of file is defined following the template : “slice_Id_Dir_yyyyy_xxxxxxx.d”

• “Id” is the ID number of the slice on which physical quantities are recorded
• “Dir” defines the normal direction of the slice
• “yyyyy” is the number of the subdomain where the fields are present (relevant for MPI computing).
• “xxxxxxx” is the file number (the rank) used for the time classification in regard to the recording rate.
These files are written in binary format.

The data setting is performed in the file “input3d.dat” with the namelists :

• When the variable “Slice_Gathering_Enabled= .true.” in the namelist Field_Recording_Setup, every “slice” data split over several MPI subdomains are gathered and recorded in the same file named “slice_Id_Dir_xxxxxxx.d”(“yyyyy” is not considered).
• Each file contains a cell-centered coordinate set.
• The velocity components are interpolated at the center of cells. Their position is directly given by the cell-centered coordinate set.

### "Space-averaged" files

The name of file is defined following the template : “spav_slice_Dir_xxxxxxx.d”

• “Dir” defines the direction along which the fields are averaged in space.
• “xxxxxxx” is the file number (the rank) used for the time classification in regard to the recording rate.
• These files are written in binary format.
• Each file contains a cell-centered coordinate set.
• The velocity components are interpolated at the center of cells. Their position is directly given by the cell-centered coordinate set.

The data setting is performed in the file “input3d.dat” with the namelists :

### Statistical field files

The name is defined following the template : “rst_yyyyy_xxxxxxx.d”

• “yyyyy” is the number of the subdomain where the fields are present (relevant for MPI computing).
• “xxxxxxx” is the file number used for the time classification.
• These files are written in binary format (double precision for the real values).
• Each recorded field includes the ghost-cells surrounding the computational domain (or subdomains for MPI computing).
• Each file contains a cell-centered coordinate set.
• The velocity components are interpolated at the center of cells. Their position is directly given by the cell-centered coordinate set.
The term “statistics” generally means the computation of time averages :$$\overline{f(x_i,x_j,x_k,z)}= \frac{1}{T}\sum_{n=1}^{n=N_t} f(x_i,x_j,x_k,t_n) \Delta t$$

However, the computation of a time average can be sometime coupled with a space average procedure in order to improve the accuracy on statistics. For example, a field f(x_i,x_j,x_k,t_n) can be averaged in time and space along a specific direction, which is generally an homogeneous direction with periodical conditions (e.g. the i-direction). This yields the reduced mean field $$<\overline{f(x_j,x_k)}>= \frac{1}{N_i.T}\sum_{n=1}^{n=N_t}\sum_{i=1}^{i=N_i} f(x_i,x_j,x_k,t_n) \Delta t$$

The data setting is performed in the file “input3d.dat” with the namelists :

• Statistical_Fields_Listing for defining the list of statistical quantities to record.
• Simulation_Management for setting the time for which the statistical computing starts and the time range over which it occurs (see the variables “Start_Time_For_Statistics” and “Time_Range_Statistic_Calculation”).
• Field_Recording_Setup for defining the binary format in single or double precision and how is performed the statistical computing (mean time-values only, mean-values + space average, …)

### Backup files

Three types of files exists for data used for a restart procedure :

• The file “save_var_yyyyy_n.d” : This file contains some variables describing the state of the simulation at the backup time.
• The file “save_fld_yyyyy_n.d” : This file contains all backup fields that are mandatory in order to perform a resuming of the simulation.
• The file “num_sav_yyyyy.d” : this file contains a simple integer value $n$ which is used for tagging the other backup files:
• n=3 means the previous simulation is successfully completed.
• n= 1 or 2 means the previous simulation has been stopped due to a computational problem, a user's action or an external dysfunction (computer shutdown for example)
• n=0 means the first backup files have not been created by the code.

These binary files are only used by the code to resume the simulation from a backup. To resume a simulation from a previous computation, set the variable “Restart_Parameter=3” in the namelist Simulation_Management. This is the standart usage. However, if the previous simulation was not correctly completed, the code can restart from a temporary backup according to the value n recorded in the file “num_sav_yyyyy.d' (n= 1 or 2).
If “Restart_Parameter=0”, the code starts the simulation from initial conditions defined in the input data file. For this, see the following namelists :

It also exists two kinds of files for the backup of statistical quantities :

• The files “save_stat_yyyyy_n.d” : They contain all backup fields that are mandatory in order to perform a resuming of the statistical quantities computation.
• The files “save_tpst_yyyyy_n.d” : They contain some variables describing the state of the statistical computation at the backup time.

—-

### The checking files

There is four type of checking files :

checkdata_yyyyy.d : This ASCII file contains a transcription of simulation conditions (how information from the input dataset has been performed by the code). For MPI computation, each subdomain create its own file although most of relevant information is written in the file checkdata_00000.d.
checkcalc_yyyyy.d : This ASCII file contains some relevant information regularly collected during the simulation. This information relates some instantaneous data resulting from the simulation at a time $t_n$. This allows to check the behavior of the simulation. The recording rate of the information collected is set up with the data “Simulation_Checking_Rate” (in time iteration unit) in the namelist Simulation_Management
The main information is :

• The time and the corresponding number of time iterations
• the value of the time step and its minimum value during the simulation
• the CFL value and its maximum value during the simulation
• information on flowrates at inlets and outlets (if inlets and outlets are present)
• Information on heat fluxes at walls, inlets and outlets (for simulation with heat transfer)
• Information related to instantaneous fields of different physical quantities $\Phi$ (listed just below) :
• the minimum and the maximum values of the field $\Phi$ and their coordinates
• the spatial average of the field $\Phi$
• the spatial average of the field $\Phi^2$ (L2-norm)
• $\Phi$ is :
• the velocity components (U,V W) along the I,J,K directions respectively
• the temperature (T)
• the pressure (P)
• The time increment of pressure (PHI), solution of the Poisson's equation
• The density (RHO)
• The dynamic viscosity (MU)
• The heat conductivity (for simulation with heat transfer)
• The divergence of velocity (DIV(V))

check_namelist_data.d : This ASCII file contains all the namelists present in the input data file including the full data setup associated at each namelist, i.e. each data explicitly set by the user and all other data with their own default value.
resid_L2_Li.d : This ASCII file contains time series of the $L_2$-norm and the $L_{\infty}$-norm built from the time derivatives of the velocity components, temperature and mass species fractions (when they are considered in the simulation).
The $L_2$-norm is defined as :$$R_{L_2}(t_n)= \frac{1}{N_i.N_j.N_k}[\sum_m \sum_{i,j,k}(C_m\frac{\Phi_m(i,j,k,t_n)-\Phi_m(i,j,k,t_n-\Delta t)}{\Delta t})^2]^{\frac{1}{2}}$$ where $m$ is the index related to the physical quantities considered (U,V,W,T, …), $N_i$,$N_j$ and $N_k$ are the numbers of cells along each direction and $C_m$ a normalization coefficient. The $L_\infty$-norm is defined as :$$R_{L_\infty}(t_n)= Max_{i,j,k}\big(\sum_m C_m\frac{\Phi_m(i,j,k,t_n)-\Phi_m(i,j,k,t_n-\Delta t)}{\Delta t}\big)$$

The recording rate used for building the time series is the same as that used for the file “checkcalc_yyyyy.d”.
$L_2$-norm is used as stopping criteria for the computation of a steady solution.
sunfluidh/sunfluidh_output.txt · Dernière modification: 2021/02/03 19:47 de yann