https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Exodus.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 "SampledOutput.h"
14
15// libMesh forward declarations
16namespace libMesh
17{
18class ExodusII_IO;
19}
20
24class Exodus : public SampledOutput
25{
26public:
28
29 enum class OutputDimension : int
30 {
31 DEFAULT,
32 ONE,
33 TWO,
34 THREE,
36 };
37
42
47 virtual void output() override;
48
52 virtual void initialSetup() override;
53
57 virtual void meshChanged() override;
58
67 virtual void outputSetup();
68
77 virtual void sequence(bool state);
78
84 void setOutputDimension(unsigned int dim);
85
93 static void
95 const MooseMesh & mesh,
97
99 void clear();
100
101 bool supportsMaterialPropertyOutput() const override { return true; }
102
103protected:
107 virtual void outputNodalVariables() override;
108
112 virtual void outputElementalVariables() override;
113
117 virtual void outputPostprocessors() override;
118
122 virtual void outputScalarVariables() override;
123
127 virtual void outputInput() override;
128
132 virtual void outputReporters() override;
133
137 virtual void customizeFileOutput();
138
144 virtual std::string filename() override;
145
147 std::unique_ptr<libMesh::ExodusII_IO> _exodus_io_ptr;
148
150 std::vector<Real> _global_values;
151
153 std::vector<std::string> _global_names;
154
168
171
174
176 unsigned int & _exodus_num;
177
178private:
181
188 void outputEmptyTimestep();
189
192
194 std::vector<std::string> _input_record;
195
198
201
204
207
210
213};
Class for output data to the ExodusII format.
Definition Exodus.h:25
virtual void sequence(bool state)
Set the sequence state When the sequence state is set to true then the outputSetup() method is called...
Definition Exodus.C:188
OutputDimension _output_dimension
Enum for the output dimension.
Definition Exodus.h:200
virtual void outputSetup()
Performs the necessary deletion and re-creating of ExodusII_IO object.
Definition Exodus.C:194
bool _side_discontinuous
Flag to output added disjoint fictitious sides for side_discontinuous variables.
Definition Exodus.h:206
bool supportsMaterialPropertyOutput() const override
A virtual function that stores whether output type supports material output.
Definition Exodus.h:101
OutputDimension
Definition Exodus.h:30
unsigned int & _exodus_num
Count of outputs per exodus file.
Definition Exodus.h:176
void clear()
Reset Exodus output.
Definition Exodus.C:556
virtual void outputScalarVariables() override
Writes scalar AuxVariables to global output parameters.
Definition Exodus.C:404
std::unique_ptr< libMesh::ExodusII_IO > _exodus_io_ptr
Pointer to the libMesh::ExodusII_IO object that performs the actual data output.
Definition Exodus.h:147
unsigned int _max_output_name_length
Maximum length of untruncated names in Exodus output.
Definition Exodus.h:212
bool & _exodus_mesh_changed
A flag indicating to the Exodus object that the mesh has changed.
Definition Exodus.h:170
virtual std::string filename() override
Returns the current filename, this method handles the -s000 suffix common to ExodusII files.
Definition Exodus.C:520
bool _recovering
Flag indicating MOOSE is recovering via –recover command-line option.
Definition Exodus.h:191
virtual void initialSetup() override
Performs basic error checking and initial setup of ExodusII_IO output object.
Definition Exodus.C:159
static InputParameters validParams()
Definition Exodus.C:29
bool _discontinuous
Flag to output discontinuous format in Exodus.
Definition Exodus.h:203
void handleExodusIOMeshRenumbering()
Handle the call to mesh renumbering in libmesh's ExodusIO on non-contiguously numbered meshes.
Definition Exodus.C:563
virtual void outputElementalVariables() override
Outputs elemental, nonlinear variables.
Definition Exodus.C:359
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition Exodus.h:167
bool _sequence
Sequence flag, if true each timestep is written to a new file.
Definition Exodus.h:173
bool _write_hdf5
Flag to output HDF5 format (when available) in Exodus.
Definition Exodus.h:209
virtual void customizeFileOutput()
Customizes file output settings.
Definition Exodus.C:287
virtual void outputInput() override
Writes the input file to the ExodusII output.
Definition Exodus.C:453
std::vector< std::string > _global_names
Storage for names of the above scalar values.
Definition Exodus.h:153
bool _overwrite
Flag for overwriting timesteps.
Definition Exodus.h:197
virtual void output() override
Overload the OutputBase::output method, this is required for ExodusII output due to the method utiliz...
Definition Exodus.C:465
void outputEmptyTimestep()
A helper function for 'initializing' the ExodusII output file, see the comments for the _initialized ...
Definition Exodus.C:535
void setOutputDimension(unsigned int dim)
Force the output dimension programatically.
Definition Exodus.C:152
virtual void meshChanged() override
Set flag indicating that the mesh has changed.
Definition Exodus.C:178
virtual void outputNodalVariables() override
Outputs nodal, nonlinear variables.
Definition Exodus.C:329
std::vector< Real > _global_values
Storage for scalar values (postprocessors and scalar AuxVariables)
Definition Exodus.h:150
virtual void outputPostprocessors() override
Writes postprocessor values to global output parameters.
Definition Exodus.C:373
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:194
static void setOutputDimensionInExodusWriter(libMesh::ExodusII_IO &exodus_io, const MooseMesh &mesh, OutputDimension output_dim=OutputDimension::DEFAULT)
Helper method to change the output dimension in the passed in Exodus writer depending on the dimensio...
Definition Exodus.C:296
virtual void outputReporters() override
Writes the Reporter values to the ExodusII output.
Definition Exodus.C:388
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
Based class for providing re-positioning and oversampling support to output objects.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...