The following guidelines describes the main algorithm of the Notus program which pilots the overall execution.
Principal simulation algorithm
The principal Notus algorithm is located in the file notus.f90:
- Setup
- Setup MPI communications.
- Read the command line.
- Write initialization information.
Read test case file and initialization
Each block of the NTS file is read, associated variables and fields are set:
- System block
- Domain and grid block
- Modeling block
- Numerical methods block
- Post processing block
- Finalization the initialization stage
- Finalize the initialization process
- Read the restart file (if requested in the input file)
- Write initial data for post-processing visualization
Time loop
The following steps are executed at each time iteration:
- If requested, compute time step as a multiple of the CFL.
- If requested, prepare next iteration test case (for instance to set time dependent boundary conditions).
- Solve the selected equations among
navier
, energy
, species_transport
, phase_advection
.
- Compute physical properties (density, viscosity, etc.) depending of temperature, volume fraction, etc.
- If requested, execute a special post processing tool (user post processing or specific to some test cases).
- If requested (turbulent flows), compute statistics.
- Execute some diagnostics (such as the computation of the Nusselt number, mean velocity magnitude, etc.).
- Error measurement.
- Stop tests.
- Time step switch.
- Print state for post-processing visualization.
- Finalization of the execution
- If requested, check and compare the solution to a reference solution for validation purpose
- If requested, write grid convergence data