www.mooseframework.org
Exodus.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef EXODUS_H
16 #define EXODUS_H
17 
18 // MOOSE includes
19 #include "OversampleOutput.h"
20 
21 // Forward declarations
22 class Exodus;
23 
24 // libMesh forward declarations
25 namespace libMesh
26 {
27 class ExodusII_IO;
28 }
29 
30 template <>
32 
36 class Exodus : public OversampleOutput
37 {
38 public:
42  Exodus(const InputParameters & parameters);
43 
48  virtual void output(const ExecFlagType & type) override;
49 
53  virtual void initialSetup() override;
54 
58  virtual void meshChanged() override;
59 
68  void outputSetup();
69 
78  virtual void sequence(bool state);
79 
80 protected:
84  virtual void outputNodalVariables() override;
85 
89  virtual void outputElementalVariables() override;
90 
94  virtual void outputPostprocessors() override;
95 
99  virtual void outputScalarVariables() override;
100 
104  virtual void outputInput() override;
105 
111  virtual std::string filename() override;
112 
114  std::unique_ptr<ExodusII_IO> _exodus_io_ptr;
115 
117  std::vector<Real> _global_values;
118 
120  std::vector<std::string> _global_names;
121 
135 
136 private:
143  void outputEmptyTimestep();
144 
146  unsigned int & _exodus_num;
147 
150 
152  std::vector<std::string> _input_record;
153 
156 
158  bool _sequence;
159 
162 };
163 
164 #endif /* EXODUS_H */
Based class for providing re-positioning and oversampling support to output objects.
InputParameters validParams< Exodus >()
Definition: Exodus.C:30
std::vector< std::string > _input_record
Storage for input file record; this is written to the file only after it has been initialized...
Definition: Exodus.h:152
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
bool _overwrite
Flag for overwriting timesteps.
Definition: Exodus.h:161
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
bool _recovering
Flag indicating MOOSE is recovering via –recover command-line option.
Definition: Exodus.h:149
bool & _exodus_mesh_changed
A flag indicating to the Exodus object that the mesh has changed.
Definition: Exodus.h:155
Class for output data to the ExodusII format.
Definition: Exodus.h:36
std::vector< std::string > _global_names
Storage for names of the above scalar values.
Definition: Exodus.h:120
std::vector< Real > _global_values
Storage for scalar values (postprocessors and scalar AuxVariables)
Definition: Exodus.h:117
unsigned int & _exodus_num
Count of outputs per exodus file.
Definition: Exodus.h:146
bool _sequence
Sequence flag, if true each timestep is written to a new file.
Definition: Exodus.h:158
MatType type
ExecFlagType
Execution flags - when is the object executed/evaluated.
Definition: MooseTypes.h:90
std::unique_ptr< ExodusII_IO > _exodus_io_ptr
Pointer to the libMesh::ExodusII_IO object that performs the actual data output.
Definition: Exodus.h:114