atl_restart_module Module

Handling of restart data. Restart data is used to provide the state fields at given points in time. They can be used to resume the simulation again in a further simulation run or for post-processing to create visualizations.

The restart information is split into two parts, a header file describing the contained data and a binary file holding the degrees of freedom from the polynomial representation of the state fields for each element in the mesh. Please note, that the maximal polynomial degree of all elements will be used for each element when writing the field state to disk to allow for efficient uniform file access. It is also possible to configure a different polynomial degree in the simulation run than what is available in the restart data. This allows for higher resolved simulations to follow on coarser simulations. The degrees of freedoms are sorted correctly into the different representations by the routines in the ply_transfer_module.

When to write restarts is controlled by a time_control object. Details on the configuration of restart files is found in the tem_restart_module.


Uses

Used by

  • module~~atl_restart_module~~UsedByGraph module~atl_restart_module atl_restart_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_restart_module module~atl_initialize_module atl_initialize_module module~atl_program_module->module~atl_initialize_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_restart_module program~atl_harvesting->module~atl_program_module program~atl_harvesting->module~atl_initialize_module module~atl_initialize_module->module~atl_restart_module program~ateles ateles program~ateles->module~atl_program_module

Contents


Subroutines

public subroutine atl_initRestart(restart, equation, solver, mesh, tree, nDofsIO, scheme_dim)

Initializes writing restart files, if activated.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(tem_restart_type), intent(inout) :: restart

Description of the restart structure to initialize.

type(atl_Equations_type), intent(in) :: equation

The variable system of the current equation system.

type(tem_solveHead_type), intent(in) :: solver

General description of the deployed solver.

type(atl_cube_container_type), intent(in) :: mesh

Levelwise representation of the mesh.

type(treelmesh_type), intent(in) :: tree

The octree of the mesh.

integer, intent(in) :: nDofsIO

The number of degrees of freedoms to write to/read from a restart file

integer, intent(in) :: scheme_dim

Dimensionality to be used for the state fields.

public subroutine atl_writeRestartIfNecessary(restart, simControl, equation, tree, mesh, force)

Writes a restart file, if necessary.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(tem_restart_type) :: restart

the restart infotmation

type(tem_simControl_type), intent(inout) :: simControl
type(atl_Equations_type), intent(in) :: equation

The equation system you use.

type(treelmesh_type) :: tree

mesh, provided in treelm format

type(atl_cube_container_type), intent(inout) :: mesh

Informations and states of the cubic mesh.

logical, optional :: force

Set this to true to override the restart interval check.

public subroutine atl_writeRestart(mesh, restart, tree, equation, timing, varSys, timerHandle)

Writes a restart file for the current point in time.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atl_cube_container_type), intent(inout) :: mesh

Informations and states of the cubic mesh.

type(tem_restart_type) :: restart

the restart infotmation

type(treelmesh_type) :: tree

mesh, provided in treelm format

type(atl_Equations_type), intent(in) :: equation

The equation system you use.

type(tem_time_type), intent(in) :: timing

current simulation time information

type(tem_varSys_type), intent(in) :: varSys
integer, intent(in) :: timerHandle

Timer handle to measure write restart time

public subroutine atl_readRestart(mesh, restart, tree, equation, proc)

Read the serialized restart file into the state vectors

Arguments

TypeIntentOptionalAttributesName
type(atl_cube_container_type), intent(inout) :: mesh

Informations and states of the cubic mesh.

type(tem_restart_type) :: restart
type(treelmesh_type) :: tree

mesh, provided in treelm format

type(atl_Equations_type), intent(in) :: equation
type(tem_comm_env_type), intent(in) :: proc

The schemes on the levels

public subroutine atl_writeSolverSpecInfo(mesh, scheme_dim, minlevel, outUnit)

Write solver specific info to scratch file

Arguments

TypeIntentOptionalAttributesName
type(atl_cube_container_type), intent(in) :: mesh

The mesh type

integer, intent(in) :: scheme_dim

The scheme dimension

integer, intent(in) :: minlevel

Minimal level in the domain to pick the polynomial basis type.

integer, intent(inout) :: outUnit

unit to output solver info in lua format

private subroutine serializeData(mesh, restart, tree, equation, chunk, iChunk, chunkdegree, chunkspace, statespace, nDims, reverse)

This subroutine serializes the given data to perform a restart.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atl_cube_container_type), intent(inout) :: mesh

Informations and states of the cubic mesh.

type(tem_restart_type), intent(inout) :: restart
type(treelmesh_type), intent(in) :: tree
type(atl_Equations_type), intent(in) :: equation

The equation system you use.

real(kind=rk), intent(inout) :: chunk(:)
integer, intent(in) :: iChunk
integer, intent(in) :: chunkdegree

Polynomial degree of the data in the IO chunk

integer, intent(in) :: chunkspace

Polynomial space of the serialized data

integer, intent(in) :: statespace

Polynomial space of the state data

integer, intent(in) :: nDims

Dimensionality of the polynomials

logical, intent(in) :: reverse

deserialize the data instead of serializing it?