GEOS
RestartOutput.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
20 #ifndef GEOS_FILEIO_OUTPUTS_RESTARTOUTPUT_HPP_
21 #define GEOS_FILEIO_OUTPUTS_RESTARTOUTPUT_HPP_
22 
23 #include "OutputBase.hpp"
24 
25 
26 namespace geos
27 {
28 
35 class RestartOutput : public OutputBase
36 {
37 public:
39  RestartOutput( string const & name,
40  Group * const parent );
41 
43  virtual ~RestartOutput() override;
44 
49  static string catalogName() { return "Restart"; }
50 
55  virtual bool execute( real64 const time_n,
56  real64 const dt,
57  integer const cycleNumber,
58  integer const eventCounter,
59  real64 const eventProgress,
60  DomainPartition & domain ) override;
61 
66  virtual void cleanup( real64 const time_n,
67  integer const cycleNumber,
68  integer const eventCounter,
69  real64 const eventProgress,
70  DomainPartition & domain ) override
71  {
72  execute( time_n, 0, cycleNumber, eventCounter, eventProgress, domain );
73  }
74 
76  struct viewKeyStruct
77  {
78  dataRepository::ViewKey writeFEMFaces = { "writeFEMFaces" };
79  } viewKeys;
81 
82 protected:
86  logInfo::OutputTimerBase const & getTimerCategory() const override;
87 };
88 
89 
90 } /* namespace geos */
91 
92 #endif /* GEOS_FILEIO_OUTPUTS_RESTARTOUTPUT_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
logInfo::OutputTimerBase const & getTimerCategory() const override
Get the timer category for this output type.
virtual bool execute(real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Writes out a restart file.
virtual void cleanup(real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Write one final restart file as the code exits.
virtual ~RestartOutput() override
Destructor.
static string catalogName()
Catalog name interface.
RestartOutput(string const &name, Group *const parent)
Constructor.
Group::wrapperMap::KeyIndex ViewKey
Type alias for KeyIndexT type used for wrapper lookups.
Definition: Group.hpp:1662
double real64
64-bit floating point type.
Definition: DataTypes.hpp:99
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:82
Base interface for specific output type timers.
Definition: OutputBase.hpp:59