https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Checkpoint.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12// MOOSE includes
13#include "FileOutput.h"
15
16#include <deque>
17#include <filesystem>
18
20
25{
27 std::string checkpoint;
28
30 std::vector<std::filesystem::path> restart;
31
32 bool operator==(const CheckpointFileNames & rhs) const
33 {
34 // Compare the relevant members for equality
35 return (this->checkpoint == rhs.checkpoint) && (this->restart == rhs.restart);
36 }
37};
38
48class Checkpoint : public FileOutput
49{
50
52
53public:
55
61
65 virtual std::string filename() override;
66
71 std::string directory() const;
72
81 std::stringstream checkpointInfo() const;
82
83 bool supportsMaterialPropertyOutput() const override { return true; }
84
85protected:
90 virtual void output() override;
91
93 virtual bool shouldOutput() override;
94
95private:
97
99 void validateExecuteOn() const;
100
102 unsigned int _num_files;
103
105 const std::string _suffix;
106
108 std::deque<CheckpointFileNames> _file_names;
109};
Writes out three things:
Definition Checkpoint.h:49
bool supportsMaterialPropertyOutput() const override
A virtual function that stores whether output type supports material output.
Definition Checkpoint.h:83
void updateCheckpointFiles(CheckpointFileNames file_struct)
Definition Checkpoint.C:162
std::stringstream checkpointInfo() const
Gathers and records information used later for console output.
Definition Checkpoint.C:238
void validateExecuteOn() const
Determines if the requested values of execute_on are valid for checkpoints.
Definition Checkpoint.C:225
std::string directory() const
Retrieve the checkpoint output directory.
Definition Checkpoint.C:88
virtual std::string filename() override
Returns the base filename for the checkpoint files.
Definition Checkpoint.C:77
virtual void output() override
Outputs a checkpoint file.
Definition Checkpoint.C:128
virtual bool shouldOutput() override
Determines if the checkpoint should write out to a file.
Definition Checkpoint.C:94
static InputParameters validParams()
Definition Checkpoint.C:34
std::deque< CheckpointFileNames > _file_names
Vector of checkpoint filename structures.
Definition Checkpoint.h:108
const std::string _suffix
Directory suffix.
Definition Checkpoint.h:105
unsigned int _num_files
Max no. of output files to store.
Definition Checkpoint.h:102
An outputter with filename support.
Definition FileOutput.h:21
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Stores the stateful material properties computed by materials.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
A structure for storing the various output files associated with checkpoint output.
Definition Checkpoint.h:25
std::string checkpoint
Filename for CheckpointIO file (the mesh)
Definition Checkpoint.h:27
bool operator==(const CheckpointFileNames &rhs) const
Definition Checkpoint.h:32
std::vector< std::filesystem::path > restart
Filenames for restartable data.
Definition Checkpoint.h:30