Checkpoint

Output for MOOSE recovery checkpoint files.

Overview

The Checkpoint output object is designed to perform restart and recovery of simulations. The output files created contain a complete snapshot of the simulation. These files are required to perform restart or recovery operations with a MOOSE-base application.

Example Input Syntax

The simplest method for enabling checkpoint files is to use the short-cut syntax (see Output System) as follows. This will write checkpoint files at every timestep, but only keep the most recent two sets of files to avoid excessive data storage.


[Outputs]
  checkpoint = true
[]

To change the interval, the number of stored files, or any of the other parameters for the Checkpoint object it is required to create a sub-block.

[Outputs]
  exodus = true
  [out]
    type = Checkpoint
    time_step_interval = 3
    num_files = 2
    wall_time_interval = 3600 # seconds
  []
[]
(moose/test/tests/outputs/checkpoint/checkpoint_interval.i)

Input Parameters

  • num_files2Number of the restart files to save

    Default:2

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of the restart files to save

  • suffixcpThis will be appended to the file_base to create the directory name for checkpoint files.

    Default:cp

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:This will be appended to the file_base to create the directory name for checkpoint files.

  • use_displacedFalseEnable/disable the use of the displaced mesh for outputting

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Enable/disable the use of the displaced mesh for outputting

  • wall_time_checkpointTrueWhether to enable checkpoints based on elapsed wall time

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to enable checkpoints based on elapsed wall time

Optional Parameters

  • additional_execute_onThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    C++ Type:ExecFlagEnum

    Unit:(no unit assumed)

    Options:NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Unit:(no unit assumed)

    Options:NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, FAILED, CUSTOM

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • output_linearFalseSpecifies whether output occurs on each PETSc linear residual evaluation

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies whether output occurs on each PETSc linear residual evaluation

  • output_nonlinearFalseSpecifies whether output occurs on each PETSc nonlinear residual evaluation

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies whether output occurs on each PETSc nonlinear residual evaluation

Execution Scheduling Parameters

  • append_dateFalseWhen true the date and time are appended to the output filename.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:When true the date and time are appended to the output filename.

  • append_date_formatThe format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).

  • file_baseThe desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.

  • output_if_base_containsIf this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:If this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.

  • padding4The number of digits for the extension suffix (e.g., out.e-s002)

    Default:4

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The number of digits for the extension suffix (e.g., out.e-s002)

File Name Customization Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

  • end_stepTime step at which this output object stop operating

    C++ Type:int

    Unit:(no unit assumed)

    Controllable:No

    Description:Time step at which this output object stop operating

  • end_timeTime at which this output object stop operating

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Time at which this output object stop operating

  • min_simulation_time_interval0The minimum simulation time between output steps

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The minimum simulation time between output steps

  • simulation_time_interval1.79769e+308The target simulation time interval (in seconds) at which to output

    Default:1.79769e+308

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The target simulation time interval (in seconds) at which to output

  • start_stepTime step at which this output object begins to operate

    C++ Type:int

    Unit:(no unit assumed)

    Controllable:No

    Description:Time step at which this output object begins to operate

  • start_timeTime at which this output object begins to operate

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Time at which this output object begins to operate

  • sync_onlyFalseOnly export results at sync times

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Only export results at sync times

  • sync_timesTimes at which the output and solution is forced to occur

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Times at which the output and solution is forced to occur

  • sync_times_objectTimes object providing the times at which the output and solution is forced to occur

    C++ Type:TimesName

    Unit:(no unit assumed)

    Controllable:No

    Description:Times object providing the times at which the output and solution is forced to occur

  • time_step_interval1The interval (number of time steps) at which output occurs. Unless explicitly set, the default value of this parameter is set to infinity if the wall_time_interval is explicitly set.

    Default:1

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The interval (number of time steps) at which output occurs. Unless explicitly set, the default value of this parameter is set to infinity if the wall_time_interval is explicitly set.

  • time_tolerance1e-14Time tolerance utilized checking start and end times

    Default:1e-14

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Time tolerance utilized checking start and end times

  • wall_time_interval3600The target wall time interval (in seconds) at which to output

    Default:3600

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The target wall time interval (in seconds) at which to output

Timing And Frequency Of Output Parameters

  • linear_residual_dt_divisor1000Number of divisions applied to time step when outputting linear residuals

    Default:1000

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of divisions applied to time step when outputting linear residuals

  • linear_residual_end_timeSpecifies an end time to begin output on each linear residual evaluation

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies an end time to begin output on each linear residual evaluation

  • linear_residual_start_timeSpecifies a start time to begin output on each linear residual evaluation

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies a start time to begin output on each linear residual evaluation

  • nonlinear_residual_dt_divisor1000Number of divisions applied to time step when outputting non-linear residuals

    Default:1000

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of divisions applied to time step when outputting non-linear residuals

  • nonlinear_residual_end_timeSpecifies an end time to begin output on each nonlinear residual evaluation

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies an end time to begin output on each nonlinear residual evaluation

  • nonlinear_residual_start_timeSpecifies a start time to begin output on each nonlinear residual evaluation

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Specifies a start time to begin output on each nonlinear residual evaluation

Petsc Linear/Nonlinear Output Parameters