GEOSX
SiloOutput.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7  * Copyright (c) 2018-2020 Total, S.A
8  * Copyright (c) 2019- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
19 #ifndef GEOSX_MANAGERS_OUTPUTS_SILOOUTPUT_HPP_
20 #define GEOSX_MANAGERS_OUTPUTS_SILOOUTPUT_HPP_
21 
22 #include "OutputBase.hpp"
23 
24 
25 namespace geosx
26 {
27 
33 class SiloOutput : public OutputBase
34 {
35 public:
37  SiloOutput( std::string const & name,
38  Group * const parent );
39 
41  virtual ~SiloOutput() override;
42 
47  static string CatalogName() { return "Silo"; }
48 
53  virtual void Execute( real64 const time_n,
54  real64 const dt,
55  integer const cycleNumber,
56  integer const eventCounter,
57  real64 const eventProgress,
58  dataRepository::Group * domain ) override;
59 
64  virtual void Cleanup( real64 const time_n,
65  integer const cycleNumber,
66  integer const eventCounter,
67  real64 const eventProgress,
68  dataRepository::Group * domain ) override
69  {
70  Execute( time_n, 0, cycleNumber, eventCounter, eventProgress, domain );
71  }
72 
74  struct viewKeysStruct : OutputBase::viewKeysStruct
75  {
76  static constexpr auto plotFileRoot = "plotFileRoot";
77  static constexpr auto writeEdgeMesh = "writeEdgeMesh";
78  static constexpr auto writeFaceMesh = "writeFEMFaces";
79  static constexpr auto writeCellElementMesh = "writeCellElementMesh";
80  static constexpr auto writeFaceElementMesh = "writeFaceElementMesh";
81  static constexpr auto plotLevel = "plotLevel";
82 
83  } siloOutputViewKeys;
85 
86 private:
87  string m_plotFileRoot;
88  integer m_writeEdgeMesh;
89  integer m_writeFaceMesh;
90  integer m_writeCellElementMesh;
91  integer m_writeFaceElementMesh;
92  integer m_plotLevel;
93 
94 };
95 
96 
97 } /* namespace geosx */
98 
99 #endif /* GEOSX_MANAGERS_OUTPUTS_SILOOUTPUT_HPP_ */
static string CatalogName()
Catalog name interface.
Definition: SiloOutput.hpp:47
double real64
64-bit floating point type.
Definition: DataTypes.hpp:136
virtual void Execute(real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, dataRepository::Group *domain) override
Writes out a Silo plot file.
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:122
SiloOutput(std::string const &name, Group *const parent)
Constructor.
virtual ~SiloOutput() override
Destructor.
std::string string
String type.
Definition: DataTypes.hpp:131
struct containing the view access keys to be bound with class data member
virtual void Cleanup(real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, dataRepository::Group *domain) override
Writes out a Silo plot file at the end of the simulation.
Definition: SiloOutput.hpp:64