www.mooseframework.org
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Exodus Class Reference

Class for output data to the ExodusII format. More...

#include <Exodus.h>

Inheritance diagram for Exodus:
[legend]

Public Member Functions

 Exodus (const InputParameters &parameters)
 Class constructor. More...
 
virtual void output (const ExecFlagType &type) override
 Overload the OutputBase::output method, this is required for ExodusII output due to the method utilized for outputing single/global parameters. More...
 
virtual void initialSetup () override
 Performs basic error checking and initial setup of ExodusII_IO output object. More...
 
virtual void meshChanged () override
 Set flag indicating that the mesh has changed. More...
 
void outputSetup ()
 Performs the necessary deletion and re-creating of ExodusII_IO object. More...
 
virtual void sequence (bool state)
 Set the sequence state When the sequence state is set to true then the outputSetup() method is called with every call to output(). More...
 
virtual void outputStep (const ExecFlagType &type) override
 A single call to this function should output all the necessary data for a single timestep. More...
 
virtual bool hasOutput ()
 Returns true if any of the other has methods return true. More...
 
bool hasOutput (const ExecFlagType &type)
 Tests that any output exist for the given output type. More...
 
bool hasNodalVariableOutput ()
 Returns true if there exists nodal nonlinear variables for output. More...
 
const std::set< std::string > & getNodalVariableOutput ()
 The list of nodal nonlinear variables names that are set for output. More...
 
bool hasElementalVariableOutput ()
 Returns true if there exists elemental nonlinear variables for output. More...
 
const std::set< std::string > & getElementalVariableOutput ()
 The list of elemental nonlinear variables names that are set for output. More...
 
bool hasScalarOutput ()
 Returns true if there exists scalar variables for output. More...
 
const std::set< std::string > & getScalarOutput ()
 The list of scalar variables names that are set for output. More...
 
bool hasPostprocessorOutput ()
 Returns true if there exists postprocessors for output. More...
 
const std::set< std::string > & getPostprocessorOutput ()
 The list of postprocessor names that are set for output. More...
 
bool hasVectorPostprocessorOutput ()
 Returns true if there exists VectorPostprocessors for output. More...
 
const std::set< std::string > & getVectorPostprocessorOutput ()
 The list of VectorPostprocessor names that are set for output. More...
 
const OutputOnWarehouseadvancedExecuteOn () const
 Get the current advanced 'execute_on' selections for display. More...
 
void setFileNumber (unsigned int num)
 Sets the file number manually. More...
 
unsigned int getFileNumber ()
 Return the current file number for this outputter. More...
 
virtual Real time () override
 Get the output time. More...
 
virtual Real timeOld ()
 Get the old output time. More...
 
virtual Real dt ()
 Get the current time step size. More...
 
virtual Real dtOld ()
 Get old time step size. More...
 
virtual int timeStep ()
 Get the current time step. More...
 
const unsigned int & interval () const
 Get the output interval. More...
 
const MultiMooseEnumexecuteOn () const
 Get the current 'execute_on' selections for display. More...
 
bool isAdvanced ()
 Returns true if this object is an AdvancedOutput object. More...
 
void allowOutput (bool state)
 Method for controlling the allow output state. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp ()
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled ()
 Return the enabled status of the object. More...
 
template<typename... Args>
void mooseError (Args &&...args) const
 
template<typename... Args>
void mooseWarning (Args &&...args) const
 
template<typename... Args>
void mooseDeprecated (Args &&...args) const
 
template<typename... Args>
void mooseInfo (Args &&...args) const
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job. More...
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job. More...
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job. More...
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
virtual const std::vector< ExecFlagType > & execFlags () const
 Get the execution flag for the object. More...
 
ExecFlagType execBitFlags () const
 Build and return the execution flags as a bitfield. More...
 

Static Public Member Functions

static InputParameters enableOutputTypes (const std::string &names=std::string())
 A method for enabling individual output type control. More...
 
static std::string getOutputFileBase (MooseApp &app, std::string suffix="_out")
 Returns the default output file base. More...
 
static MultiMooseEnum getExecuteOptions (std::string default_type="")
 Return the support output execution times. More...
 
static MultiMooseEnum getExecuteOptions ()
 Returns the available options for the 'execute_on' input parameters. More...
 
static void addDeprecatedInputParameters (InputParameters &params)
 A static helper for injecting deprecated parameters. More...
 

Public Attributes

const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Protected Member Functions

virtual void outputNodalVariables () override
 Outputs nodal, nonlinear variables. More...
 
virtual void outputElementalVariables () override
 Outputs elemental, nonlinear variables. More...
 
virtual void outputPostprocessors () override
 Writes postprocessor values to global output parameters. More...
 
virtual void outputScalarVariables () override
 Writes scalar AuxVariables to global output parameters. More...
 
virtual void outputInput () override
 Writes the input file to the ExodusII output. More...
 
virtual std::string filename () override
 Returns the current filename, this method handles the -s000 suffix common to ExodusII files. More...
 
virtual void updateOversample ()
 Performs the update of the solution vector for the oversample/re-positioned mesh. More...
 
virtual bool shouldOutput (const ExecFlagType &type)
 Handles logic for determining if a step should be output. More...
 
virtual void outputVectorPostprocessors ()
 Performs output of VectorPostprocessors The child class must define this method to output the VectorPostprocessors as desired. More...
 
virtual void outputSystemInformation ()
 
bool checkFilename ()
 Checks the filename for output Checks the output against the 'output_if_base_contians' list. More...
 
virtual bool onInterval ()
 Returns true if the output interval is satisfied. More...
 
template<typename T >
T & declareRestartableData (std::string data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 

Protected Attributes

std::unique_ptr< ExodusII_IO > _exodus_io_ptr
 Pointer to the libMesh::ExodusII_IO object that performs the actual data output. More...
 
std::vector< Real > _global_values
 Storage for scalar values (postprocessors and scalar AuxVariables) More...
 
std::vector< std::string > _global_names
 Storage for names of the above scalar values. More...
 
bool _exodus_initialized
 Flag for indicating the status of the ExodusII file that is being written. More...
 
MooseMesh_mesh_ptr
 A convenience pointer to the current mesh (reference or displaced depending on "use_displaced") More...
 
const unsigned int _refinements
 The number of oversampling refinements. More...
 
bool _oversample
 Flag indicating that oversampling is enabled. More...
 
bool _change_position
 Flag for re-positioning. More...
 
std::string _file_base
 The base filename from the input paramaters. More...
 
unsigned int & _file_num
 A file number counter, initialized to 0 (this must be controlled by the child class, see Exodus) More...
 
unsigned int _padding
 Number of digits to pad the extensions. More...
 
std::vector< std::string > _output_if_base_contains
 Storage for 'output_if_base_contains'. More...
 
Real _norm
 Current norm returned from PETSc. More...
 
PetscInt _nonlinear_iter
 Current non-linear iteration returned from PETSc. More...
 
PetscInt _linear_iter
 Current linear iteration returned from PETSc. More...
 
FEProblemBase_problem_ptr
 Pointer the the FEProblemBase object for output object (use this) More...
 
bool _transient
 Transient flag (true = transient) More...
 
bool _use_displaced
 Flag for using displaced mesh. More...
 
EquationSystems * _es_ptr
 Reference the the libMesh::EquationSystems object that contains the data. More...
 
MultiMooseEnum _execute_on
 The common Execution types; this is used as the default execution type for everything except system information and input. More...
 
Real & _time
 The current time for output purposes. More...
 
Real & _time_old
 The old time. More...
 
int & _t_step
 The current time step. More...
 
Real & _dt
 Time step delta. More...
 
Real & _dt_old
 Old time step delta. More...
 
unsigned int _num
 The number of outputs written. More...
 
const unsigned int _interval
 The output time step interval. More...
 
std::set< Real > _sync_times
 Sync times for this outputter. More...
 
Real _start_time
 Start outputting time. More...
 
Real _end_time
 End outputting time. More...
 
Real _t_tol
 Time checking tolerance. More...
 
bool _sync_only
 Flag for only executing at sync times. More...
 
bool _initialized
 True if init() has been called. More...
 
bool _allow_output
 Flag for disabling output. More...
 
bool _is_advanced
 Flag for advanced output testing. More...
 
OutputOnWarehouse _advanced_execute_on
 Storage for the individual component execute flags. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
FEProblemBase_mci_feproblem
 Reference to FEProblemBase instance. More...
 
std::vector< ExecFlagType_exec_flags
 execution flag (when is the object executed/evaluated) More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 

Private Member Functions

void outputEmptyTimestep ()
 A helper function for 'initializing' the ExodusII output file, see the comments for the _initialized member variable. More...
 

Private Attributes

unsigned int & _exodus_num
 Count of outputs per exodus file. More...
 
bool _recovering
 Flag indicating MOOSE is recovering via –recover command-line option. More...
 
std::vector< std::string > _input_record
 Storage for input file record; this is written to the file only after it has been initialized. More...
 
bool & _exodus_mesh_changed
 A flag indicating to the Exodus object that the mesh has changed. More...
 
bool _sequence
 Sequence flag, if true each timestep is written to a new file. More...
 
bool _overwrite
 Flag for overwriting timesteps. More...
 

Detailed Description

Class for output data to the ExodusII format.

Definition at line 36 of file Exodus.h.

Constructor & Destructor Documentation

Exodus::Exodus ( const InputParameters parameters)

Class constructor.

Definition at line 67 of file Exodus.C.

68  : OversampleOutput(parameters),
69  _exodus_initialized(false),
70  _exodus_num(declareRestartableData<unsigned int>("exodus_num", 0)),
72  _exodus_mesh_changed(declareRestartableData<bool>("exodus_mesh_changed", true)),
73  _sequence(isParamValid("sequence") ? getParam<bool>("sequence")
74  : _use_displaced ? true : false),
75  _overwrite(getParam<bool>("overwrite"))
76 {
77 }
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:608
OversampleOutput(const InputParameters &parameters)
Class constructor.
bool _overwrite
Flag for overwriting timesteps.
Definition: Exodus.h:161
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
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
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
bool _use_displaced
Flag for using displaced mesh.
Definition: Output.h:177
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108

Member Function Documentation

static void Output::addDeprecatedInputParameters ( InputParameters params)
staticinherited

A static helper for injecting deprecated parameters.

const OutputOnWarehouse & AdvancedOutput::advancedExecuteOn ( ) const
virtualinherited

Get the current advanced 'execute_on' selections for display.

Reimplemented from Output.

Definition at line 698 of file AdvancedOutput.C.

699 {
700  return _advanced_execute_on;
701 }
OutputOnWarehouse _advanced_execute_on
Storage for the individual component execute flags.
Definition: Output.h:237
void Output::allowOutput ( bool  state)
inlineinherited

Method for controlling the allow output state.

Parameters
stateThe state to set the allow flag to

Definition at line 125 of file Output.h.

125 { _allow_output = state; }
bool _allow_output
Flag for disabling output.
Definition: Output.h:228
bool FileOutput::checkFilename ( )
protectedinherited

Checks the filename for output Checks the output against the 'output_if_base_contians' list.

Returns
Returns true if the filename is valid for output

Definition at line 145 of file FileOutput.C.

Referenced by FileOutput::shouldOutput(), and AdvancedOutput::shouldOutput().

146 {
147  // Return true if 'output_if_base_contains' is not utilized
148  if (_output_if_base_contains.empty())
149  return true;
150 
151  // Assumed output is false
152  bool output = false;
153 
154  // Loop through each string in the list
155  for (const auto & search_string : _output_if_base_contains)
156  {
157  // Search for the string in the file base, if found set the output to true and break the loop
158  if (_file_base.find(search_string) != std::string::npos)
159  {
160  output = true;
161  break;
162  }
163  }
164 
165  // Return the value
166  return output;
167 }
virtual void output(const ExecFlagType &type)=0
Overload this function with the desired output activities.
std::string _file_base
The base filename from the input paramaters.
Definition: FileOutput.h:87
std::vector< std::string > _output_if_base_contains
Storage for &#39;output_if_base_contains&#39;.
Definition: FileOutput.h:96
template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 224 of file Restartable.h.

225 {
226  return declareRestartableDataWithContext<T>(data_name, NULL);
227 }
template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 231 of file Restartable.h.

232 {
233  return declareRestartableDataWithContext<T>(data_name, init_value, NULL);
234 }
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions

Definition at line 238 of file Restartable.h.

239 {
241  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
242 
243  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
244  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
245 
247 
248  return data_ptr->get();
249 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
const T &  init_value,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 253 of file Restartable.h.

256 {
258  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
259 
260  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
261  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
262 
263  data_ptr->set() = init_value;
264 
266 
267  return data_ptr->get();
268 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
Real Output::dt ( )
virtualinherited

Get the current time step size.

Definition at line 215 of file Output.C.

Referenced by Console::writeTimestepInformation().

216 {
217  if (_transient)
218  return _dt;
219  else
220  return 1;
221 }
bool _transient
Transient flag (true = transient)
Definition: Output.h:174
Real & _dt
Time step delta.
Definition: Output.h:198
Real Output::dtOld ( )
virtualinherited

Get old time step size.

Definition at line 224 of file Output.C.

225 {
226  if (_transient)
227  return _dt_old;
228  else
229  return 1;
230 }
Real & _dt_old
Old time step delta.
Definition: Output.h:201
bool _transient
Transient flag (true = transient)
Definition: Output.h:174
virtual bool MooseObject::enabled ( )
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 77 of file MooseObject.h.

Referenced by EigenKernel::enabled().

77 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:117
InputParameters AdvancedOutput::enableOutputTypes ( const std::string &  names = std::string())
staticinherited

A method for enabling individual output type control.

Parameters
names(optional) Space separated of output type names that are supported by this Output object, if this is omitted all outputs types will be supported. The list of available output types is given below.

Output objects vary widely in what type of outputs they support (e.g., elemental variables, or postprocessor data). This method provides the user a means for controlling the types of outputs that are supported for the object being created. This is a static method that MUST be used to append parameters inside the objects validParams function.

List of Output Types and Method Names The output system is designed around overloading virtual method calls to output the various output types, the following list gives the name of the output type and the associated virtual method that should be overloaded to perform the output in the object being created.

Type virtual Method Name


nodal outputNodalVariables() elemental outputElementalVariables() scalar outputScalarVariables() postprocessor outputPostprocessors() vector_postprocessor outputVectorPostprocessors() input outputInput() system_information outputSystemInformation()

See also
CSV Exodus

Definition at line 106 of file AdvancedOutput.C.

Referenced by validParams< Console >(), validParams< Exodus >(), validParams< Nemesis >(), and validParams< TableOutput >().

107 {
108  // The parameters object that will be returned
110 
111  // Get the MultiEnum of output types
112  MultiMooseEnum output_types = getOutputTypes();
113 
114  // Update the enum of output types to append
115  if (names.empty())
116  output_types = output_types.getRawNames();
117  else
118  output_types = names;
119 
120  // Add the parameters and return them
121  addValidParams(params, output_types);
122  return params;
123 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
InputParameters emptyInputParameters()
static void addValidParams(InputParameters &params, const MultiMooseEnum &types)
Method for defining the available parameters based on the types of outputs.
std::string getRawNames() const
Method for returning the raw name strings for this instance.
static MultiMooseEnum getOutputTypes()
Get the supported types of output (e.g., postprocessors, etc.)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
ExecFlagType SetupInterface::execBitFlags ( ) const
inherited

Build and return the execution flags as a bitfield.

Definition at line 100 of file SetupInterface.C.

Referenced by EigenExecutionerBase::init().

101 {
102  unsigned int exec_bit_field = EXEC_NONE;
103  for (unsigned int i = 0; i < _exec_flags.size(); ++i)
104  exec_bit_field |= _exec_flags[i];
105 
106  return static_cast<ExecFlagType>(exec_bit_field);
107 }
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
ExecFlagType
Execution flags - when is the object executed/evaluated.
Definition: MooseTypes.h:90
const std::vector< ExecFlagType > & SetupInterface::execFlags ( ) const
virtualinherited

Get the execution flag for the object.

Reimplemented in MultiAppTransfer.

Definition at line 94 of file SetupInterface.C.

Referenced by ExecuteMooseObjectWarehouse< T >::addObjectMask(), and MultiAppTransfer::execFlags().

95 {
96  return _exec_flags;
97 }
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
const MultiMooseEnum & Output::executeOn ( ) const
inherited

Get the current 'execute_on' selections for display.

Definition at line 239 of file Output.C.

240 {
241  return _execute_on;
242 }
MultiMooseEnum _execute_on
The common Execution types; this is used as the default execution type for everything except system i...
Definition: Output.h:186
std::string Exodus::filename ( )
overrideprotectedvirtual

Returns the current filename, this method handles the -s000 suffix common to ExodusII files.

Returns
A string containing the current filename to be written

Reimplemented from FileOutput.

Definition at line 354 of file Exodus.C.

Referenced by output(), outputEmptyTimestep(), and outputNodalVariables().

355 {
356  // Append the .e extension on the base file name
357  std::ostringstream output;
358  output << _file_base + ".e";
359 
360  // Add the -s00x extension to the file
361  if (_file_num > 1)
362  output << "-s" << std::setw(_padding) << std::setprecision(0) << std::setfill('0') << std::right
363  << _file_num;
364 
365  // Return the filename
366  return output.str();
367 }
virtual void output(const ExecFlagType &type) override
Overload the OutputBase::output method, this is required for ExodusII output due to the method utiliz...
Definition: Exodus.C:307
std::string _file_base
The base filename from the input paramaters.
Definition: FileOutput.h:87
unsigned int _padding
Number of digits to pad the extensions.
Definition: FileOutput.h:93
unsigned int & _file_num
A file number counter, initialized to 0 (this must be controlled by the child class, see Exodus)
Definition: FileOutput.h:90
const std::set< std::string > & AdvancedOutput::getElementalVariableOutput ( )
inherited

The list of elemental nonlinear variables names that are set for output.

Returns
A vector of strings containing the names of the nonlinear variables for output
See also
hasElementalVariableOutput

Definition at line 656 of file AdvancedOutput.C.

Referenced by outputElementalVariables().

657 {
658  return _execute_data["elemental"].output;
659 }
OutputDataWarehouse _execute_data
Storage structures for the various output types.
MultiMooseEnum SetupInterface::getExecuteOptions ( )
staticinherited

Returns the available options for the 'execute_on' input parameters.

Returns
A MooseEnum with the available 'execute_on' options, the default is 'residual'

Definition at line 110 of file SetupInterface.C.

Referenced by AddNodalNormalsAction::act(), AdvancedOutput::addValidParams(), AdvancedOutput::initExecutionTypes(), OutputOnWarehouse::OutputOnWarehouse(), validParams< CommonOutputAction >(), validParams< Output >(), and validParams< SetupInterface >().

111 {
112  return MultiMooseEnum("none=0x00 initial=0x01 linear=0x02 nonlinear=0x04 timestep_end=0x08 "
113  "timestep_begin=0x10 final=0x20 custom=0x100",
114  "linear");
115 }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
MultiMooseEnum Output::getExecuteOptions ( std::string  default_type = "")
staticinherited

Return the support output execution times.

Parameters
default_typeThe default MultiMooseEnum option

Definition at line 83 of file Output.C.

84 {
85  // Build the string of options
86  std::string options = "none=0x00 initial=0x01 linear=0x02 nonlinear=0x04 timestep_end=0x08 "
87  "timestep_begin=0x10 final=0x20 failed=0x80";
88 
89  // The numbers associated must be in sync with the ExecFlagType in Moose.h
90  return MultiMooseEnum(options, default_type);
91 }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
unsigned int FileOutput::getFileNumber ( )
inherited

Return the current file number for this outputter.

This method was implemented for the MultiApp system, particularly when reseting an application and a new output file is desired after the reset.

Definition at line 182 of file FileOutput.C.

Referenced by OutputWarehouse::getFileNumbers().

183 {
184  return _file_num;
185 }
unsigned int & _file_num
A file number counter, initialized to 0 (this must be controlled by the child class, see Exodus)
Definition: FileOutput.h:90
MooseApp& MooseObject::getMooseApp ( )
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 72 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

72 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
const std::set< std::string > & AdvancedOutput::getNodalVariableOutput ( )
inherited

The list of nodal nonlinear variables names that are set for output.

Returns
A vector of strings containing the names of the nodal nonlinear variables for output

Note: The list returned by this will contain the names of both elemental and nodal variable names if 'elemental_as_nodal = true' in the input file. The libMesh output system (EquationSystems::build_solution_vector) performs the correct action within the solution vector by setting the nodal values as the average of the values for each of the element that the node shares.

See also
hasNodalVariableOutput

Definition at line 644 of file AdvancedOutput.C.

Referenced by outputNodalVariables().

645 {
646  return _execute_data["nodal"].output;
647 }
OutputDataWarehouse _execute_data
Storage structures for the various output types.
std::string FileOutput::getOutputFileBase ( MooseApp app,
std::string  suffix = "_out" 
)
staticinherited

Returns the default output file base.

Returns
The name of the input file with '_out' append to the end

This method is static to allow for outside objects to call it, namely CommonOutputAction::setRecoverFileBase().

See also
CommonOutputAction::setRecoverFileBase()

Definition at line 112 of file FileOutput.C.

Referenced by FileOutput::FileOutput(), and MooseApp::getCheckpointFiles().

113 {
114  // If the App has an outputfile, then use it (MultiApp scenario)
115  if (!app.getOutputFileBase().empty())
116  return app.getOutputFileBase();
117 
118  // If the output base is not set it must be determined from the input file
119  /* This will only return a non-empty string if the setInputFileName() was called, which is
120  * generally not the case. One exception is when CoupledExecutioner is used */
121  std::string input_filename = app.getInputFileName();
122  if (input_filename.empty())
123  input_filename = app.getFileName();
124 
125  // Assert that the filename is not empty
126  mooseAssert(!input_filename.empty(), "Input Filename is NULL");
127 
128  // Determine location of "." in extension, assert if it is not found
129  size_t pos = input_filename.find_last_of('.');
130  mooseAssert(pos != std::string::npos, "Unable to determine suffix of input file name");
131 
132  // Append the "_out" to the name and return it
133  return input_filename.substr(0, pos) + suffix;
134 }
std::string getOutputFileBase()
Override the selection of the output file base name.
Definition: MooseApp.C:538
std::string getInputFileName()
Returns the input file name that was set with setInputFileName.
Definition: MooseApp.h:144
std::string getFileName(bool stripLeadingPath=true) const
Return the filename that was parsed.
Definition: MooseApp.C:835
template<typename T >
const T & MooseObject::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 122 of file MooseObject.h.

Referenced by FEProblemBase::addMaterial(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), EigenKernel::EigenKernel(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), RenameBlock::modify(), MooseObject::parameters(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

123 {
124  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
125 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
const std::set< std::string > & AdvancedOutput::getPostprocessorOutput ( )
inherited

The list of postprocessor names that are set for output.

Returns
A vector of strings containing the names of the postprocessor variables for output
See also
hasPostprocessorOutput

Definition at line 680 of file AdvancedOutput.C.

Referenced by TableOutput::outputPostprocessors(), Nemesis::outputPostprocessors(), and outputPostprocessors().

681 {
682  return _execute_data["postprocessors"].output;
683 }
OutputDataWarehouse _execute_data
Storage structures for the various output types.
const std::set< std::string > & AdvancedOutput::getScalarOutput ( )
inherited

The list of scalar variables names that are set for output.

Returns
A vector of strings containing the names of the scalar variables for output
See also
hasScalarVariableOutput

Definition at line 668 of file AdvancedOutput.C.

Referenced by TableOutput::outputScalarVariables(), Nemesis::outputScalarVariables(), and outputScalarVariables().

669 {
670  return _execute_data["scalars"].output;
671 }
OutputDataWarehouse _execute_data
Storage structures for the various output types.
const std::set< std::string > & AdvancedOutput::getVectorPostprocessorOutput ( )
inherited

The list of VectorPostprocessor names that are set for output.

Returns
A vector of strings containing the names of the VectorPostprocessor variables for output
See also
hasVectorPostprocessorOutput

Definition at line 692 of file AdvancedOutput.C.

Referenced by TableOutput::outputVectorPostprocessors().

693 {
694  return _execute_data["vector_postprocessors"].output;
695 }
OutputDataWarehouse _execute_data
Storage structures for the various output types.
bool AdvancedOutput::hasElementalVariableOutput ( )
inherited

Returns true if there exists elemental nonlinear variables for output.

Returns
True if nonlinear variable output exists
See also
getElementalVariableOutput

Definition at line 650 of file AdvancedOutput.C.

Referenced by initialSetup().

651 {
652  return hasOutputHelper("elemental");
653 }
bool hasOutputHelper(const std::string &name)
Helper method for checking if output types exists.
bool AdvancedOutput::hasNodalVariableOutput ( )
inherited

Returns true if there exists nodal nonlinear variables for output.

Returns
True if nonlinear variable output exists
See also
getNodalVariableOutput

Definition at line 638 of file AdvancedOutput.C.

Referenced by initialSetup(), and outputElementalVariables().

639 {
640  return hasOutputHelper("nodal");
641 }
bool hasOutputHelper(const std::string &name)
Helper method for checking if output types exists.
bool AdvancedOutput::hasOutput ( )
virtualinherited

Returns true if any of the other has methods return true.

Definition at line 350 of file AdvancedOutput.C.

Referenced by initialSetup(), output(), and AdvancedOutput::shouldOutput().

351 {
352  // Test that variables exist for output AND that output execution flags are valid
353  for (const auto & it : _execute_data)
354  if (!(it.second).output.empty() && _advanced_execute_on.contains(it.first) &&
355  _advanced_execute_on[it.first].isValid())
356  return true;
357 
358  // Test execution flags for non-variable output
359  if (_advanced_execute_on.contains("system_information") &&
360  _advanced_execute_on["system_information"].isValid())
361  return true;
362  if (_advanced_execute_on.contains("input") && _advanced_execute_on["input"].isValid())
363  return true;
364 
365  return false;
366 }
OutputOnWarehouse _advanced_execute_on
Storage for the individual component execute flags.
Definition: Output.h:237
OutputDataWarehouse _execute_data
Storage structures for the various output types.
bool contains(const std::string &name)
A method for testing of a key exists.
bool AdvancedOutput::hasOutput ( const ExecFlagType type)
inherited

Tests that any output exist for the given output type.

See also
Exodus

Definition at line 338 of file AdvancedOutput.C.

339 {
340  // If any of the component outputs are true, then there is some output to perform
341  for (const auto & it : _advanced_execute_on)
342  if (wantOutput(it.first, type))
343  return true;
344 
345  // There is nothing to output
346  return false;
347 }
OutputOnWarehouse _advanced_execute_on
Storage for the individual component execute flags.
Definition: Output.h:237
bool wantOutput(const std::string &name, const ExecFlagType &type)
Handles logic for determining if a step should be output.
MatType type
bool AdvancedOutput::hasPostprocessorOutput ( )
inherited

Returns true if there exists postprocessors for output.

Returns
True if postprocessor output exists
See also
getPostprocessorOutput

Definition at line 674 of file AdvancedOutput.C.

Referenced by initialSetup().

675 {
676  return hasOutputHelper("postprocessors");
677 }
bool hasOutputHelper(const std::string &name)
Helper method for checking if output types exists.
bool AdvancedOutput::hasScalarOutput ( )
inherited

Returns true if there exists scalar variables for output.

Returns
True if scalar variable output exists
See also
getScalarVariableOutput

Definition at line 662 of file AdvancedOutput.C.

Referenced by initialSetup().

663 {
664  return hasOutputHelper("scalars");
665 }
bool hasOutputHelper(const std::string &name)
Helper method for checking if output types exists.
bool AdvancedOutput::hasVectorPostprocessorOutput ( )
inherited

Returns true if there exists VectorPostprocessors for output.

Returns
True if VectorPostprocessor output exists
See also
getVectorPostprocessorOutput

Definition at line 686 of file AdvancedOutput.C.

687 {
688  return hasOutputHelper("vector_postprocessors");
689 }
bool hasOutputHelper(const std::string &name)
Helper method for checking if output types exists.
void Exodus::initialSetup ( )
overridevirtual

Performs basic error checking and initial setup of ExodusII_IO output object.

Reimplemented from AdvancedOutput.

Definition at line 80 of file Exodus.C.

81 {
82  // Call base class setup method
84 
85  // The libMesh::ExodusII_IO will fail when it is closed if the object is created but
86  // nothing is written to the file. This checks that at least something will be written.
87  if (!hasOutput())
88  mooseError("The current settings result in nothing being output to the Exodus file.");
89 
90  // Test that some sort of variable output exists (case when all variables are disabled but input
91  // output is still enabled
93  !hasScalarOutput())
94  mooseError("The current settings results in only the input file and no variables being output "
95  "to the Exodus file, this is not supported.");
96 }
bool hasPostprocessorOutput()
Returns true if there exists postprocessors for output.
virtual bool hasOutput()
Returns true if any of the other has methods return true.
bool hasNodalVariableOutput()
Returns true if there exists nodal nonlinear variables for output.
bool hasScalarOutput()
Returns true if there exists scalar variables for output.
bool hasElementalVariableOutput()
Returns true if there exists elemental nonlinear variables for output.
virtual void initialSetup()
Initialization method.
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
const unsigned int& Output::interval ( ) const
inherited

Get the output interval.

bool Output::isAdvanced ( )
inherited

Returns true if this object is an AdvancedOutput object.

Definition at line 245 of file Output.C.

246 {
247  return _is_advanced;
248 }
bool _is_advanced
Flag for advanced output testing.
Definition: Output.h:231
bool MooseObject::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 67 of file MooseObject.h.

Referenced by BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), GeneratedMesh::buildMesh(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), MultiAppNearestNodeTransfer::getLocalNodes(), MultiAppNearestNodeTransfer::getNearestNode(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), AssignElementSubdomainID::modify(), RenameBlock::modify(), ParsedSubdomainMeshModifier::modify(), SubdomainBoundingBox::modify(), EigenExecutionerBase::normalizeSolution(), Output::Output(), outputSetup(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), Piecewise::setData(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

67 { return _pars.isParamValid(name); }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
void SetupInterface::jacobianSetup ( )
virtualinherited

Gets called just before the Jacobian is computed and before this object is asked to do its job.

Definition at line 79 of file SetupInterface.C.

80 {
81 }
void Exodus::meshChanged ( )
overridevirtual

Set flag indicating that the mesh has changed.

Reimplemented from OversampleOutput.

Definition at line 99 of file Exodus.C.

100 {
101  // Maintain Oversample::meshChanged() functionality
103 
104  // Indicate to the Exodus object that the mesh has changed
105  _exodus_mesh_changed = true;
106 }
virtual void meshChanged() override
Executes when the mesh alterted and sets a flag used by oversampling.
bool & _exodus_mesh_changed
A flag indicating to the Exodus object that the mesh has changed.
Definition: Exodus.h:155
template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited
template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 80 of file MooseObject.h.

Referenced by FEProblemBase::addInitialCondition(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), EigenExecutionerBase::chebyshev(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), SubProblem::checkMatProps(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), FEProblemBase::computeResidual(), Material::computeSubdomainProperties(), PenetrationAux::computeValue(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DGKernel::DGKernel(), SolutionUserObject::discontinuousPointValue(), SolutionUserObject::discontinuousPointValueGradient(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), PerflogDumper::execute(), NodalValueSampler::execute(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), FindValueOnLine::execute(), MultiAppInterpolationTransfer::execute(), TimeExtremeValue::execute(), LeastSquaresFit::execute(), FEProblemBase::executeControls(), FileOutput::FileOutput(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FunctionDT::FunctionDT(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), GeneratedMesh::GeneratedMesh(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), GeneratedMesh::getMaxInDimension(), AnnularMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), GeneratedMesh::getMinInDimension(), AnnularMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMesh::GetPixelInfo(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObjectBase(), NumVars::getValue(), PerformanceData::getValue(), Residual::getValue(), FindValueOnLine::getValueAtPoint(), DisplacedProblem::getVariable(), FEProblemBase::getVariable(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), KernelBase::KernelBase(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< T >::LineMaterialSamplerBase(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), SubProblem::meshChanged(), MeshExtruder::MeshExtruder(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), AssignElementSubdomainID::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), BoundingBoxNodeSet::modify(), OrientedSubdomainBoundingBox::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), NodalBC::NodalBC(), NodalConstraint::NodalConstraint(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), VTKOutput::output(), XDA::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PatternedMesh::PatternedMesh(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMultilinear::PiecewiseMultilinear(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postStep(), LStableDirk3::postStep(), ImplicitMidpoint::postStep(), ExplicitTVDRK2::postStep(), AStableDirk4::postStep(), LStableDirk4::postStep(), ExplicitRK2::postStep(), Predictor::Predictor(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), Piecewise::setData(), EigenProblem::setEigenproblemType(), Sampler::setNumberOfRequiedRandomSeeds(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromPoints::SideSetsFromPoints(), SolutionUserObject::SolutionUserObject(), FullSolveMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), MultiAppCopyTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), Transient::Transient(), TransientMultiApp::TransientMultiApp(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), and VolumeHistogram::VolumeHistogram().

81  {
82  std::ostringstream oss;
83  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
84  std::string msg = oss.str();
85  callMooseErrorRaw(msg, &_app);
86  }
void mooseStreamAll(std::ostringstream &ss)
Definition: MooseError.C:78
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:45
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

Definition at line 101 of file MooseObject.h.

102  {
103  moose::internal::mooseInfoStream(_console, std::forward<Args>(args)...);
104  }
void mooseInfoStream(S &oss, Args &&...args)
Definition: MooseError.h:145
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited
const std::string& MooseObject::name ( ) const
inlineinherited

Get the name of the object.

Returns
The name of the object

Definition at line 47 of file MooseObject.h.

Referenced by FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), AStableDirk4::AStableDirk4(), Function::average(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), DGKernel::DGKernel(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), GeneralUserObject::GeneralUserObject(), MultiApp::getBoundingBox(), Control::getControllableParameterHelper(), Control::getControllableValue(), AuxKernel::getDependObjects(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), OutputWarehouse::getOutput(), Transient::getTimeStepperName(), InitialCondition::getUserObject(), AuxKernel::getUserObject(), InitialCondition::getUserObjectByName(), AuxKernel::getUserObjectByName(), AdvancedOutput::hasOutputHelper(), FEProblemBase::init(), CSVReader::initialize(), MultiAppProjectionTransfer::initialSetup(), InitialCondition::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), KernelBase::KernelBase(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MaterialDerivativeTestKernelBase< T >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), ElementDeleterBase::modify(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), DOFMapOutput::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::parameters(), Executioner::parentOutputPositionChanged(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), SubProblem::registerRecoverableData(), SubProblem::registerRestartableData(), Material::resetQpProperties(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), Function::timeDerivative(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), and AdvancedOutput::wantOutput().

47 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:114
bool Output::onInterval ( )
protectedvirtualinherited

Returns true if the output interval is satisfied.

Definition at line 175 of file Output.C.

Referenced by Console::output(), OversampleOutput::outputStep(), and Output::outputStep().

176 {
177  // The output flag to return
178  bool output = false;
179 
180  // Return true if the current step on the current output interval and within the output time range
181  if (_time >= _start_time && _time <= _end_time && (_t_step % _interval) == 0)
182  output = true;
183 
184  // Return false if 'sync_only' is set to true
185  if (_sync_only)
186  output = false;
187 
188  // If sync times are not skipped, return true if the current time is a sync_time
189  if (_sync_times.find(_time) != _sync_times.end())
190  output = true;
191 
192  // Return the output status
193  return output;
194 }
virtual void output(const ExecFlagType &type)=0
Overload this function with the desired output activities.
Real _start_time
Start outputting time.
Definition: Output.h:213
int & _t_step
The current time step.
Definition: Output.h:195
const unsigned int _interval
The output time step interval.
Definition: Output.h:207
bool _sync_only
Flag for only executing at sync times.
Definition: Output.h:222
std::set< Real > _sync_times
Sync times for this outputter.
Definition: Output.h:210
Real _end_time
End outputting time.
Definition: Output.h:216
Real & _time
The current time for output purposes.
Definition: Output.h:189
void Exodus::output ( const ExecFlagType type)
overridevirtual

Overload the OutputBase::output method, this is required for ExodusII output due to the method utilized for outputing single/global parameters.

Reimplemented from AdvancedOutput.

Definition at line 307 of file Exodus.C.

Referenced by filename().

308 {
309  // Do nothing if there is nothing to output
310  if (!hasOutput(type))
311  return;
312 
313  // Start the performance log
314  Moose::perf_log.push("Exodus::output()", "Output");
315 
316  // Prepare the ExodusII_IO object
317  outputSetup();
318  LockFile lf(filename(), processor_id() == 0);
319 
320  // Adjust the position of the output
321  if (_app.hasOutputPosition())
322  _exodus_io_ptr->set_coordinate_offset(_app.getOutputPosition());
323 
324  // Clear the global variables (postprocessors and scalars)
325  _global_names.clear();
326  _global_values.clear();
327 
328  // Call the individual output methods
330 
331  // Write the global variables (populated by the output methods)
332  if (!_global_values.empty())
333  {
334  if (!_exodus_initialized)
336  _exodus_io_ptr->write_global_data(_global_values, _global_names);
337  }
338 
339  // Write the input file record if it exists and the output file is initialized
340  if (!_input_record.empty() && _exodus_initialized)
341  {
342  _exodus_io_ptr->write_information_records(_input_record);
343  _input_record.clear();
344  }
345 
346  // Reset the mesh changed flag
347  _exodus_mesh_changed = false;
348 
349  // Stop the logging
350  Moose::perf_log.pop("Exodus::output()", "Output");
351 }
virtual bool hasOutput()
Returns true if any of the other has methods return true.
bool hasOutputPosition()
Whether or not an output position has been set.
Definition: MooseApp.h:171
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
virtual std::string filename() override
Returns the current filename, this method handles the -s000 suffix common to ExodusII files...
Definition: Exodus.C:354
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
virtual void output(const ExecFlagType &type)
A single call to this function should output all the necessary data for a single timestep.
bool & _exodus_mesh_changed
A flag indicating to the Exodus object that the mesh has changed.
Definition: Exodus.h:155
PerfLog perf_log
Perflog to be used by applications.
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
void outputEmptyTimestep()
A helper function for &#39;initializing&#39; the ExodusII output file, see the comments for the _initialized ...
Definition: Exodus.C:370
MatType type
void outputSetup()
Performs the necessary deletion and re-creating of ExodusII_IO object.
Definition: Exodus.C:115
Point getOutputPosition()
Get the output position.
Definition: MooseApp.h:177
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
Gets an exclusive lock on a file.
Definition: LockFile.h:28
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
void Exodus::outputElementalVariables ( )
overrideprotectedvirtual

Outputs elemental, nonlinear variables.

Reimplemented from AdvancedOutput.

Definition at line 217 of file Exodus.C.

218 {
219  // Make sure the the file is ready for writing of elemental data
222 
223  // Write the elemental data
224  std::vector<std::string> elemental(getElementalVariableOutput().begin(),
226  _exodus_io_ptr->set_output_variables(elemental);
227  _exodus_io_ptr->write_element_data(*_es_ptr);
228 }
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
bool hasNodalVariableOutput()
Returns true if there exists nodal nonlinear variables for output.
EquationSystems * _es_ptr
Reference the the libMesh::EquationSystems object that contains the data.
Definition: Output.h:180
void outputEmptyTimestep()
A helper function for &#39;initializing&#39; the ExodusII output file, see the comments for the _initialized ...
Definition: Exodus.C:370
const std::set< std::string > & getElementalVariableOutput()
The list of elemental nonlinear variables names that are set for output.
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
void Exodus::outputEmptyTimestep ( )
private

A helper function for 'initializing' the ExodusII output file, see the comments for the _initialized member variable.

See also
_initialized

Definition at line 370 of file Exodus.C.

Referenced by output(), and outputElementalVariables().

371 {
372  // Write a timestep with no variables
373  _exodus_io_ptr->set_output_variables(std::vector<std::string>());
374  _exodus_io_ptr->write_timestep(
376 
377  if (!_overwrite)
378  _exodus_num++;
379 
380  _exodus_initialized = true;
381 }
Real getGlobalTimeOffset()
Each App has it&#39;s own local time.
Definition: MooseApp.h:207
virtual Real time() override
Get the output time.
Definition: PetscOutput.C:258
virtual std::string filename() override
Returns the current filename, this method handles the -s000 suffix common to ExodusII files...
Definition: Exodus.C:354
bool _overwrite
Flag for overwriting timesteps.
Definition: Exodus.h:161
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
EquationSystems * _es_ptr
Reference the the libMesh::EquationSystems object that contains the data.
Definition: Output.h:180
unsigned int & _exodus_num
Count of outputs per exodus file.
Definition: Exodus.h:146
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
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
void Exodus::outputInput ( )
overrideprotectedvirtual

Writes the input file to the ExodusII output.

Reimplemented from AdvancedOutput.

Definition at line 295 of file Exodus.C.

296 {
297  // Format the input file
298  ExodusFormatter syntax_formatter;
299  syntax_formatter.printInputFile(_app.actionWarehouse());
300  syntax_formatter.format();
301 
302  // Store the information
303  _input_record = syntax_formatter.getInputFileRecord();
304 }
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
std::vector< std::string > & getInputFileRecord()
ActionWarehouse & actionWarehouse()
Definition: MooseApp.h:130
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
void printInputFile(ActionWarehouse &wh)
void Exodus::outputNodalVariables ( )
overrideprotectedvirtual

Outputs nodal, nonlinear variables.

Reimplemented from AdvancedOutput.

Definition at line 199 of file Exodus.C.

200 {
201  // Set the output variable to the nodal variables
202  std::vector<std::string> nodal(getNodalVariableOutput().begin(), getNodalVariableOutput().end());
203  _exodus_io_ptr->set_output_variables(nodal);
204 
205  // Write the data via libMesh::ExodusII_IO
206  _exodus_io_ptr->write_timestep(
208 
209  if (!_overwrite)
210  _exodus_num++;
211 
212  // This satisfies the initialization of the ExodusII_IO object
213  _exodus_initialized = true;
214 }
Real getGlobalTimeOffset()
Each App has it&#39;s own local time.
Definition: MooseApp.h:207
virtual Real time() override
Get the output time.
Definition: PetscOutput.C:258
virtual std::string filename() override
Returns the current filename, this method handles the -s000 suffix common to ExodusII files...
Definition: Exodus.C:354
bool _overwrite
Flag for overwriting timesteps.
Definition: Exodus.h:161
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
EquationSystems * _es_ptr
Reference the the libMesh::EquationSystems object that contains the data.
Definition: Output.h:180
unsigned int & _exodus_num
Count of outputs per exodus file.
Definition: Exodus.h:146
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
const std::set< std::string > & getNodalVariableOutput()
The list of nodal nonlinear variables names that are set for output.
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
void Exodus::outputPostprocessors ( )
overrideprotectedvirtual

Writes postprocessor values to global output parameters.

Reimplemented from AdvancedOutput.

Definition at line 231 of file Exodus.C.

232 {
233  // List of desired postprocessor outputs
234  const std::set<std::string> & pps = getPostprocessorOutput();
235 
236  // Append the postprocessor data to the global name value parameters; scalar outputs
237  // also append these member variables
238  for (const auto & name : pps)
239  {
240  _global_names.push_back(name);
242  }
243 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const std::set< std::string > & getPostprocessorOutput()
The list of postprocessor names that are set for output.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
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
PostprocessorValue & getPostprocessorValue(const PostprocessorName &name)
Get a reference to the value associated with the postprocessor.
void Exodus::outputScalarVariables ( )
overrideprotectedvirtual

Writes scalar AuxVariables to global output parameters.

Reimplemented from AdvancedOutput.

Definition at line 246 of file Exodus.C.

247 {
248  // List of desired scalar outputs
249  const std::set<std::string> & out = getScalarOutput();
250 
251  // Append the scalar to the global output lists
252  for (const auto & out_name : out)
253  {
254  // Make sure scalar values are in sync with the solution vector
255  // and are visible on this processor. See TableOutput.C for
256  // TableOutput::outputScalarVariables() explanatory comments
257 
258  MooseVariableScalar & scalar_var = _problem_ptr->getScalarVariable(0, out_name);
259  scalar_var.reinit();
260  VariableValue value = scalar_var.sln();
261 
262  const std::vector<dof_id_type> & dof_indices = scalar_var.dofIndices();
263  const unsigned int n = dof_indices.size();
264  value.resize(n);
265 
266  const DofMap & dof_map = scalar_var.sys().dofMap();
267  for (unsigned int i = 0; i != n; ++i)
268  {
269  const processor_id_type pid = dof_map.dof_owner(dof_indices[i]);
270  this->comm().broadcast(value[i], pid);
271  }
272 
273  // If the scalar has a single component, output the name directly
274  if (n == 1)
275  {
276  _global_names.push_back(out_name);
277  _global_values.push_back(value[0]);
278  }
279 
280  // If the scalar as many components add indices to the end of the name
281  else
282  {
283  for (unsigned int i = 0; i < n; ++i)
284  {
285  std::ostringstream os;
286  os << out_name << "_" << i;
287  _global_names.push_back(os.str());
288  _global_values.push_back(value[i]);
289  }
290  }
291  }
292 }
VariableValue & sln()
void resize(const unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:205
virtual DofMap & dofMap()
Gets the dof map.
Definition: SystemBase.C:610
const std::set< std::string > & getScalarOutput()
The list of scalar variables names that are set for output.
DofMap & dof_map
virtual MooseVariableScalar & getScalarVariable(THREAD_ID tid, const std::string &var_name) override
Returns the scalar variable reference from whichever system contains it.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
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
std::vector< dof_id_type > & dofIndices()
PetscInt n
Class for scalar variables (they are different).
MPI_Comm comm
SystemBase & sys()
Get the system this variable is part of.
void Exodus::outputSetup ( )

Performs the necessary deletion and re-creating of ExodusII_IO object.

This function is stand-alone and called directly from the output() method because the ExodusII_IO object is extremely fragile with respect to closing a file that has not had data written. Thus, it is important to only create a new ExodusII_IO object if it is certain that it will be used.

Definition at line 115 of file Exodus.C.

Referenced by output().

116 {
117  if (_exodus_io_ptr)
118  {
119  // Do nothing if the ExodusII_IO objects exists, but has not been initialized
120  if (!_exodus_initialized)
121  return;
122 
123  // Do nothing if the output is using oversampling. In this case the mesh that is being output
124  // has not been changed, so there is no need to create a new ExodusII_IO object
126  return;
127 
128  // Do nothing if the mesh has not changed and sequential output is not desired
130  return;
131  }
132 
133  // Create the ExodusII_IO object
134  _exodus_io_ptr = libmesh_make_unique<ExodusII_IO>(_es_ptr->get_mesh());
135  _exodus_initialized = false;
136 
137  // Increment file number and set appending status, append if all the following conditions are met:
138  // (1) If the application is recovering (not restarting)
139  // (2) The mesh has NOT changed
140  // (3) An existing Exodus file exists for appending (_exodus_num > 0)
141  // (4) Sequential output is NOT desired
143  {
144  // Set the recovering flag to false so that this special case is not triggered again
145  _recovering = false;
146 
147  // Set the append flag to true b/c on recover the file is being appended
148  _exodus_io_ptr->append(true);
149  }
150  else
151  {
152  // Increment file counter
154  _file_num++;
155 
156  // Disable file appending and reset exodus file number count
157  _exodus_io_ptr->append(false);
158  _exodus_num = 1;
159  }
160 
161  if (isParamValid("use_problem_dimension"))
162  _exodus_io_ptr->use_mesh_dimension_instead_of_spatial_dimension(
163  getParam<bool>("use_problem_dimension"));
164  else
165  {
166  // If the spatial_dimension is 1 (this can only happen in recent
167  // versions of libmesh where the meaning of spatial_dimension has
168  // changed), then force the Exodus file to be written with
169  // num_dim==3.
170  //
171  // This works around an issue in Paraview where 1D meshes cannot
172  // not be visualized correctly. Note: the mesh_dimension() should
173  // get changed back to 1 the next time MeshBase::prepare_for_use()
174  // is called.
175  if (_es_ptr->get_mesh().spatial_dimension() == 1)
176  _exodus_io_ptr->write_as_dimension(3);
177 
178  // If the spatial_dimension is 2 (again, only possible in recent
179  // versions of libmesh), then we need to be careful as this mesh
180  // would not have been written with num_dim==2 in the past.
181  //
182  // We *can't* simply write it with num_dim==mesh_dimension,
183  // because mesh_dimension might be 1, and as discussed above, we
184  // don't allow num_dim==1 Exodus files. Therefore, in this
185  // particular case, we force writing with num_dim==3. Note: the
186  // humor of writing a mesh of 1D elements which lives in 2D space
187  // as num_dim==3 is not lost on me.
188  if (_es_ptr->get_mesh().spatial_dimension() == 2 && _es_ptr->get_mesh().mesh_dimension() == 1)
189  _exodus_io_ptr->write_as_dimension(3);
190 
191  // Utilize the spatial dimension. This value of this flag is
192  // superseded by the value passed to write_as_dimension(), if any.
193  if (_es_ptr->get_mesh().mesh_dimension() != 1)
194  _exodus_io_ptr->use_mesh_dimension_instead_of_spatial_dimension(true);
195  }
196 }
bool _exodus_initialized
Flag for indicating the status of the ExodusII file that is being written.
Definition: Exodus.h:134
EquationSystems * _es_ptr
Reference the the libMesh::EquationSystems object that contains the data.
Definition: Output.h:180
bool _oversample
Flag indicating that oversampling is enabled.
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
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
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
unsigned int & _file_num
A file number counter, initialized to 0 (this must be controlled by the child class, see Exodus)
Definition: FileOutput.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
bool _change_position
Flag for re-positioning.
void OversampleOutput::outputStep ( const ExecFlagType type)
overridevirtualinherited

A single call to this function should output all the necessary data for a single timestep.

Parameters
typeThe type execution flag (see Moose.h)
See also
outputNodalVariables outputElementalVariables outputScalarVariables outputPostprocessors

Reimplemented from Output.

Definition at line 80 of file OversampleOutput.C.

81 {
82  // Output is not allowed
83  if (!_allow_output && type != EXEC_FORCED)
84  return;
85 
86  // If recovering disable output of initial condition, it was already output
87  if (type == EXEC_INITIAL && _app.isRecovering())
88  return;
89 
90  // Return if the current output is not on the desired interval
91  if (type != EXEC_FINAL && !onInterval())
92  return;
93 
94  // Call the output method (this has the file checking built in b/c OversampleOutput is a
95  // FileOutput)
96  if (shouldOutput(type))
97  {
99  output(type);
100  }
101 }
virtual void updateOversample()
Performs the update of the solution vector for the oversample/re-positioned mesh. ...
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:608
virtual bool onInterval()
Returns true if the output interval is satisfied.
Definition: Output.C:175
Object is evaluated only once at the beginning of the simulation.
Definition: MooseTypes.h:94
Forces execution to occur (output only)
Definition: MooseTypes.h:106
virtual void output(const ExecFlagType &type)
A single call to this function should output all the necessary data for a single timestep.
virtual bool shouldOutput(const ExecFlagType &type)
Handles logic for determining if a step should be output.
bool _allow_output
Flag for disabling output.
Definition: Output.h:228
MatType type
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
Object is evaluated at the end of the simulations (output only)
Definition: MooseTypes.h:104
void AdvancedOutput::outputSystemInformation ( )
protectedvirtualinherited

Reimplemented in Console.

Definition at line 225 of file AdvancedOutput.C.

Referenced by AdvancedOutput::output().

226 {
227  mooseError(
228  "Output of system information is not support for this output object named '", name(), "'");
229 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
void AdvancedOutput::outputVectorPostprocessors ( )
protectedvirtualinherited

Performs output of VectorPostprocessors The child class must define this method to output the VectorPostprocessors as desired.

Reimplemented in Console, CSV, and TableOutput.

Definition at line 209 of file AdvancedOutput.C.

Referenced by AdvancedOutput::output().

210 {
211  mooseError(
212  "Individual output of VectorPostprocessors is not support for this output object named '",
213  name(),
214  "'");
215 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
const InputParameters& MooseObject::parameters ( ) const
inlineinherited
void SetupInterface::residualSetup ( )
virtualinherited

Gets called just before the residual is computed and before this object is asked to do its job.

Definition at line 84 of file SetupInterface.C.

85 {
86 }
void Exodus::sequence ( bool  state)
virtual

Set the sequence state When the sequence state is set to true then the outputSetup() method is called with every call to output().

In the case of Exodus output, this creates a new file with each output.

The sequence state is automatically set to true when 'use_displaced = true', otherwise it is set to false initially

Definition at line 109 of file Exodus.C.

110 {
111  _sequence = state;
112 }
bool _sequence
Sequence flag, if true each timestep is written to a new file.
Definition: Exodus.h:158
void FileOutput::setFileNumber ( unsigned int  num)
inherited

Sets the file number manually.

This method was implemented for the MultiApp system, particularly when reseting an application and a new output file is desired after the reset.

Definition at line 176 of file FileOutput.C.

Referenced by OutputWarehouse::setFileNumbers().

177 {
178  _file_num = num;
179 }
unsigned int & _file_num
A file number counter, initialized to 0 (this must be controlled by the child class, see Exodus)
Definition: FileOutput.h:90
bool AdvancedOutput::shouldOutput ( const ExecFlagType type)
protectedvirtualinherited

Handles logic for determining if a step should be output.

Returns
True if a call if output should be preformed

Reimplemented from FileOutput.

Definition at line 240 of file AdvancedOutput.C.

Referenced by Nemesis::output(), and OversampleOutput::outputStep().

241 {
242  if (!checkFilename())
243  return false;
244 
245  if (hasOutput(type))
246  return true;
247  else
248  return Output::shouldOutput(type);
249 }
virtual bool hasOutput()
Returns true if any of the other has methods return true.
virtual bool shouldOutput(const ExecFlagType &type)
Handles logic for determining if a step should be output.
Definition: Output.C:164
MatType type
bool checkFilename()
Checks the filename for output Checks the output against the &#39;output_if_base_contians&#39; list...
Definition: FileOutput.C:145
void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

in a Jacobian or residual loop) and before this object is asked to do its job

Reimplemented in Material, Constraint, GeneralUserObject, and NodalUserObject.

Definition at line 89 of file SetupInterface.C.

90 {
91 }
Real PetscOutput::time ( )
overridevirtualinherited

Get the output time.

This outputter enables the ability to perform output on the nonlinear and linear iterations performed by PETSc. To separate theses outputs within the output a pseudo time is defined, this function provides this time and it should be used in place of _time from Outputter.

Reimplemented from Output.

Definition at line 258 of file PetscOutput.C.

Referenced by FileOutput::FileOutput(), Tecplot::output(), Nemesis::output(), outputEmptyTimestep(), outputNodalVariables(), TableOutput::outputPostprocessors(), TableOutput::outputScalarVariables(), and Console::writeTimestepInformation().

259 {
261  return _nonlinear_time;
262  else if (_on_linear_residual)
263  return _linear_time;
264  else
265  return Output::time();
266 }
bool _on_linear_residual
True if current output calls is on the linear residual (used by time())
Definition: PetscOutput.h:94
Real _linear_time
Psuedo linear time.
Definition: PetscOutput.h:88
bool _on_nonlinear_residual
True if current output call is on the non-linear residual (used by time())
Definition: PetscOutput.h:97
Real _nonlinear_time
The psuedo non-linear time.
Definition: PetscOutput.h:82
virtual Real time()
Get the output time.
Definition: Output.C:197
Real Output::timeOld ( )
virtualinherited

Get the old output time.

Returns
The old output time, which may be different than the simulation time
See also
time()

Definition at line 206 of file Output.C.

Referenced by Console::writeTimestepInformation().

207 {
208  if (_transient)
209  return _time_old;
210  else
211  return _t_step - 1;
212 }
Real & _time_old
The old time.
Definition: Output.h:192
int & _t_step
The current time step.
Definition: Output.h:195
bool _transient
Transient flag (true = transient)
Definition: Output.h:174
int Output::timeStep ( )
virtualinherited

Get the current time step.

Definition at line 233 of file Output.C.

Referenced by Checkpoint::filename(), CSV::output(), and Console::writeTimestepInformation().

234 {
235  return _t_step;
236 }
int & _t_step
The current time step.
Definition: Output.h:195
void SetupInterface::timestepSetup ( )
virtualinherited

Gets called at the beginning of the timestep before this object is asked to do its job.

Reimplemented in SolutionUserObject, NumNonlinearIterations, and MemoryUsage.

Definition at line 74 of file SetupInterface.C.

75 {
76 }
void OversampleOutput::updateOversample ( )
protectedvirtualinherited

Performs the update of the solution vector for the oversample/re-positioned mesh.

Definition at line 214 of file OversampleOutput.C.

Referenced by OversampleOutput::outputStep().

215 {
216  // Do nothing if oversampling and changing position are not enabled
217  if (!_oversample && !_change_position)
218  return;
219 
220  // Get a reference to actual equation system
221  EquationSystems & source_es = _problem_ptr->es();
222 
223  // Loop throuch each system
224  for (unsigned int sys_num = 0; sys_num < source_es.n_systems(); ++sys_num)
225  {
226  if (!_mesh_functions[sys_num].empty())
227  {
228  // Get references to the source and destination systems
229  System & source_sys = source_es.get_system(sys_num);
230  System & dest_sys = _oversample_es->get_system(sys_num);
231 
232  // Update the solution for the oversampled mesh
233  _serialized_solution->clear();
234  _serialized_solution->init(source_sys.n_dofs(), false, SERIAL);
235  source_sys.solution->localize(*_serialized_solution);
236 
237  // Update the mesh functions
238  for (unsigned int var_num = 0; var_num < _mesh_functions[sys_num].size(); ++var_num)
239  {
240 
241  // If the mesh has change the MeshFunctions need to be re-built, otherwise simply clear it
242  // for re-initialization
243  if (!_mesh_functions[sys_num][var_num] || _oversample_mesh_changed)
244  _mesh_functions[sys_num][var_num] = libmesh_make_unique<MeshFunction>(
245  source_es, *_serialized_solution, source_sys.get_dof_map(), var_num);
246  else
247  _mesh_functions[sys_num][var_num]->clear();
248 
249  // Initialize the MeshFunctions for application to the oversampled solution
250  _mesh_functions[sys_num][var_num]->init();
251  }
252 
253  // Now loop over the nodes of the oversampled mesh setting values for each variable.
254  for (MeshBase::const_node_iterator nd = _mesh_ptr->localNodesBegin();
255  nd != _mesh_ptr->localNodesEnd();
256  ++nd)
257  for (unsigned int var_num = 0; var_num < _mesh_functions[sys_num].size(); ++var_num)
258  if ((*nd)->n_dofs(sys_num, var_num))
259  dest_sys.solution->set(
260  (*nd)->dof_number(sys_num, var_num, 0),
261  (*_mesh_functions[sys_num][var_num])(**nd - _position)); // 0 value is for component
262 
263  dest_sys.solution->close();
264  }
265  }
266 
267  // Set this to false so that new output files are not created, since the oversampled mesh doesn't
268  // actually change
269  _oversample_mesh_changed = false;
270 }
bool _oversample_mesh_changed
A flag indicating that the mesh has changed and the oversampled mesh needs to be re-initialized.
MooseMesh * _mesh_ptr
A convenience pointer to the current mesh (reference or displaced depending on "use_displaced") ...
std::vector< std::vector< std::unique_ptr< MeshFunction > > > _mesh_functions
A vector of pointers to the mesh functions This is only populated when the oversample() function is c...
Point _position
When oversampling, the output is shift by this amount.
MeshBase::const_node_iterator localNodesBegin()
Calls local_nodes_begin/end() on the underlying libMesh mesh object.
Definition: MooseMesh.C:2000
std::unique_ptr< EquationSystems > _oversample_es
std::unique_ptr< NumericVector< Number > > _serialized_solution
Oversample solution vector.
MeshBase::const_node_iterator localNodesEnd()
Definition: MooseMesh.C:2006
virtual EquationSystems & es() override
bool _oversample
Flag indicating that oversampling is enabled.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
bool _change_position
Flag for re-positioning.

Member Data Documentation

OutputOnWarehouse Output::_advanced_execute_on
protectedinherited
bool Output::_allow_output
protectedinherited

Flag for disabling output.

Definition at line 228 of file Output.h.

Referenced by OversampleOutput::outputStep(), and Output::outputStep().

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 108 of file MooseObject.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterial(), FEProblemBase::addMultiApp(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobian(), FEProblemBase::computeResidualType(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), InversePowerMethod::execute(), NonlinearEigen::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MooseObject::getMooseApp(), InversePowerMethod::init(), NonlinearEigen::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), MooseMesh::MooseMesh(), NonlinearEigen::NonlinearEigen(), Tecplot::output(), output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), outputEmptyTimestep(), Console::outputInput(), outputInput(), outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), SubProblem::registerRecoverableData(), SubProblem::registerRestartableData(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

bool OversampleOutput::_change_position
protectedinherited

Flag for re-positioning.

Definition at line 96 of file OversampleOutput.h.

Referenced by OversampleOutput::initOversample(), outputSetup(), and OversampleOutput::updateOversample().

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 37 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), CreateProblemAction::act(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), FEProblemBase::advanceMultiApps(), SimplePredictor::apply(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualType(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), AB2PredictorCorrector::converged(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), Transient::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), FEProblemBase::useFECache(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 85 of file SetupInterface.h.

Real& Output::_dt
protectedinherited

Time step delta.

Definition at line 198 of file Output.h.

Referenced by Output::dt(), and PetscOutput::solveSetup().

Real& Output::_dt_old
protectedinherited

Old time step delta.

Definition at line 201 of file Output.h.

Referenced by Output::dtOld(), and Console::writeTimestepInformation().

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.

Definition at line 117 of file MooseObject.h.

Referenced by MooseObject::enabled().

Real Output::_end_time
protectedinherited

End outputting time.

Definition at line 216 of file Output.h.

Referenced by Output::onInterval().

EquationSystems* Output::_es_ptr
protectedinherited
std::vector<ExecFlagType> SetupInterface::_exec_flags
protectedinherited

execution flag (when is the object executed/evaluated)

Definition at line 82 of file SetupInterface.h.

Referenced by SetupInterface::execBitFlags(), SetupInterface::execFlags(), and SetupInterface::SetupInterface().

MultiMooseEnum Output::_execute_on
protectedinherited

The common Execution types; this is used as the default execution type for everything except system information and input.

Definition at line 186 of file Output.h.

Referenced by AdvancedOutput::AdvancedOutput(), Console::Console(), Output::executeOn(), Console::initialSetup(), Output::Output(), Console::output(), PetscOutput::PetscOutput(), Output::shouldOutput(), and PetscOutput::solveSetup().

bool Exodus::_exodus_initialized
protected

Flag for indicating the status of the ExodusII file that is being written.

The ExodusII_IO interface requires that the file be 'initialized' prior to writing any type of data. This initialization occurs when write_timestep() is called. However, write_timestep also writes nodal data, so in the case where no nodal data is output, it is necessary to call write_timestep() after calling set_output_variables with an empty input string. This flag allows for the various output methods to check that the ExodusII file is in the proper state prior to writing data.

See also
outputEmptyTimestep()

Definition at line 134 of file Exodus.h.

Referenced by output(), outputElementalVariables(), outputEmptyTimestep(), outputNodalVariables(), and outputSetup().

std::unique_ptr<ExodusII_IO> Exodus::_exodus_io_ptr
protected

Pointer to the libMesh::ExodusII_IO object that performs the actual data output.

Definition at line 114 of file Exodus.h.

Referenced by output(), outputElementalVariables(), outputEmptyTimestep(), outputNodalVariables(), and outputSetup().

bool& Exodus::_exodus_mesh_changed
private

A flag indicating to the Exodus object that the mesh has changed.

Definition at line 155 of file Exodus.h.

Referenced by meshChanged(), output(), and outputSetup().

unsigned int& Exodus::_exodus_num
private

Count of outputs per exodus file.

Definition at line 146 of file Exodus.h.

Referenced by outputEmptyTimestep(), outputNodalVariables(), and outputSetup().

std::string FileOutput::_file_base
protectedinherited
unsigned int& FileOutput::_file_num
protectedinherited
std::vector<std::string> Exodus::_global_names
protected

Storage for names of the above scalar values.

Definition at line 120 of file Exodus.h.

Referenced by output(), outputPostprocessors(), and outputScalarVariables().

std::vector<Real> Exodus::_global_values
protected

Storage for scalar values (postprocessors and scalar AuxVariables)

Definition at line 117 of file Exodus.h.

Referenced by output(), outputPostprocessors(), and outputScalarVariables().

bool Output::_initialized
protectedinherited

True if init() has been called.

Definition at line 225 of file Output.h.

Referenced by AdvancedOutput::hasOutputHelper(), Output::initialSetup(), AdvancedOutput::initialSetup(), and Console::output().

std::vector<std::string> Exodus::_input_record
private

Storage for input file record; this is written to the file only after it has been initialized.

Definition at line 152 of file Exodus.h.

Referenced by output(), and outputInput().

const unsigned int Output::_interval
protectedinherited

The output time step interval.

Definition at line 207 of file Output.h.

Referenced by Output::onInterval().

bool Output::_is_advanced
protectedinherited

Flag for advanced output testing.

Definition at line 231 of file Output.h.

Referenced by AdvancedOutput::AdvancedOutput(), and Output::isAdvanced().

PetscInt PetscOutput::_linear_iter
protectedinherited

Current linear iteration returned from PETSc.

Definition at line 57 of file PetscOutput.h.

Referenced by Console::output(), and PetscOutput::petscLinearOutput().

FEProblemBase& MeshChangedInterface::_mci_feproblem
protectedinherited

Reference to FEProblemBase instance.

Definition at line 47 of file MeshChangedInterface.h.

Referenced by MeshChangedInterface::MeshChangedInterface().

MooseMesh* OversampleOutput::_mesh_ptr
protectedinherited

A convenience pointer to the current mesh (reference or displaced depending on "use_displaced")

Definition at line 87 of file OversampleOutput.h.

Referenced by OversampleOutput::cloneMesh(), OversampleOutput::initOversample(), Tecplot::output(), XDA::output(), and OversampleOutput::updateOversample().

const std::string& MooseObject::_name
protectedinherited
PetscInt PetscOutput::_nonlinear_iter
protectedinherited

Current non-linear iteration returned from PETSc.

Definition at line 54 of file PetscOutput.h.

Referenced by Console::output(), and PetscOutput::petscNonlinearOutput().

Real PetscOutput::_norm
protectedinherited

Current norm returned from PETSc.

Definition at line 51 of file PetscOutput.h.

Referenced by Console::output(), PetscOutput::petscLinearOutput(), and PetscOutput::petscNonlinearOutput().

unsigned int Output::_num
protectedinherited

The number of outputs written.

Definition at line 204 of file Output.h.

std::vector<std::string> FileOutput::_output_if_base_contains
protectedinherited

Storage for 'output_if_base_contains'.

Definition at line 96 of file FileOutput.h.

Referenced by FileOutput::checkFilename().

bool OversampleOutput::_oversample
protectedinherited

Flag indicating that oversampling is enabled.

Definition at line 93 of file OversampleOutput.h.

Referenced by OversampleOutput::initOversample(), outputSetup(), and OversampleOutput::updateOversample().

bool Exodus::_overwrite
private

Flag for overwriting timesteps.

Definition at line 161 of file Exodus.h.

Referenced by outputEmptyTimestep(), and outputNodalVariables().

unsigned int FileOutput::_padding
protectedinherited

Number of digits to pad the extensions.

Definition at line 93 of file FileOutput.h.

Referenced by VTKOutput::filename(), XDA::filename(), GMVOutput::filename(), Tecplot::filename(), Checkpoint::filename(), Nemesis::filename(), filename(), and CSV::output().

const InputParameters& MooseObject::_pars
protectedinherited
FEProblemBase* Output::_problem_ptr
protectedinherited
bool Exodus::_recovering
private

Flag indicating MOOSE is recovering via –recover command-line option.

Definition at line 149 of file Exodus.h.

Referenced by outputSetup().

const unsigned int OversampleOutput::_refinements
protectedinherited

The number of oversampling refinements.

Definition at line 90 of file OversampleOutput.h.

Referenced by OversampleOutput::initOversample().

bool Exodus::_sequence
private

Sequence flag, if true each timestep is written to a new file.

Definition at line 158 of file Exodus.h.

Referenced by outputSetup(), and sequence().

Real Output::_start_time
protectedinherited

Start outputting time.

Definition at line 213 of file Output.h.

Referenced by Output::onInterval().

bool Output::_sync_only
protectedinherited

Flag for only executing at sync times.

Definition at line 222 of file Output.h.

Referenced by Output::onInterval().

std::set<Real> Output::_sync_times
protectedinherited

Sync times for this outputter.

Definition at line 210 of file Output.h.

Referenced by Output::onInterval().

int& Output::_t_step
protectedinherited
Real Output::_t_tol
protectedinherited

Time checking tolerance.

Definition at line 219 of file Output.h.

Referenced by PetscOutput::solveSetup().

Real& Output::_time
protectedinherited
Real& Output::_time_old
protectedinherited

The old time.

Definition at line 192 of file Output.h.

Referenced by PetscOutput::solveSetup(), and Output::timeOld().

bool Output::_transient
protectedinherited

Transient flag (true = transient)

Definition at line 174 of file Output.h.

Referenced by Output::dt(), Output::dtOld(), Output::time(), Output::timeOld(), and Console::writeTimestepInformation().

bool Output::_use_displaced
protectedinherited

Flag for using displaced mesh.

Definition at line 177 of file Output.h.


The documentation for this class was generated from the following files: