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

Based class for output objects. More...

#include <AdvancedOutput.h>

Inheritance diagram for AdvancedOutput:
[legend]

Public Member Functions

 AdvancedOutput (const InputParameters &parameters)
 Class constructor. More...
 
virtual ~AdvancedOutput ()
 Class destructor. 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...
 
virtual std::string filename ()
 The filename for the output file. 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...
 
virtual void outputStep (const ExecFlagType &type)
 A single call to this function should output all the necessary data for a single timestep. 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 meshChanged ()
 Called on this object when the mesh changes. More...
 
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 initialSetup ()
 Initialization method. More...
 
virtual bool shouldOutput (const ExecFlagType &type)
 Handles logic for determining if a step should be output. More...
 
virtual void output (const ExecFlagType &type)
 A single call to this function should output all the necessary data for a single timestep. More...
 
virtual void outputNodalVariables ()
 Performs output of nodal nonlinear variables The child class must define this method to output the nonlinear variables as desired. More...
 
virtual void outputElementalVariables ()
 Performs output of elemental nonlinear variables The child class must define this method to output the nonlinear variables as desired. More...
 
virtual void outputScalarVariables ()
 Performs output of scalar variables The child class must define this method to output the scalar variables as desired. More...
 
virtual void outputPostprocessors ()
 Performs output of postprocessors The child class must define this method to output the postprocessors as desired. More...
 
virtual void outputVectorPostprocessors ()
 Performs output of VectorPostprocessors The child class must define this method to output the VectorPostprocessors as desired. More...
 
virtual void outputInput ()
 Performs the output of the input file By default this method does nothing and is not called, the individual Output objects are responsible for calling it. 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::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...
 
bool _sequence
 Flag for forcing call to outputSetup() with every call to output() (restartable) 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 initAvailableLists ()
 Initializes the available lists for each of the output types. More...
 
void initExecutionTypes (const std::string &name, MultiMooseEnum &input)
 Initialize the possible execution types. More...
 
void initShowHideLists (const std::vector< VariableName > &show, const std::vector< VariableName > &hide)
 Parses the user-supplied input for hiding and showing variables and postprocessors into a list for each type of output. More...
 
template<typename postprocessor_type >
void initPostprocessorOrVectorPostprocessorLists (const std::string &execute_data_name)
 Helper function for initAvailableLists, templated on warehouse type and postprocessor_type. More...
 
void initOutputList (OutputData &data)
 Initializes the list of items to be output using the available, show, and hide lists. More...
 
bool wantOutput (const std::string &name, const ExecFlagType &type)
 Handles logic for determining if a step should be output. More...
 
bool hasOutputHelper (const std::string &name)
 Helper method for checking if output types exists. More...
 

Static Private Member Functions

static void addValidParams (InputParameters &params, const MultiMooseEnum &types)
 Method for defining the available parameters based on the types of outputs. More...
 
static MultiMooseEnum getOutputTypes ()
 Get the supported types of output (e.g., postprocessors, etc.) More...
 

Private Attributes

OutputDataWarehouse _execute_data
 Storage structures for the various output types. More...
 
std::map< std::string, Real > _last_execute_time
 Storage for the last output time for the various output types, this is used to avoid duplicate output when using OUTPUT_FINAL flag. More...
 

Friends

class OutputWarehouse
 
class Console
 
class TransientMultiApp
 

Detailed Description

Based class for output objects.

Each output class (e.g., Exodus) should inherit from this base class. At a minimum, the pure virtual methods for the various types of output must be defined in the child class.

See also
Exodus Console CSV

Definition at line 40 of file AdvancedOutput.h.

Constructor & Destructor Documentation

AdvancedOutput::AdvancedOutput ( const InputParameters parameters)

Class constructor.

The constructor performs all of the necessary initialization of the various output lists required for the various output types.

Parameters
parametersThe InputParameters for the object

Definition at line 126 of file AdvancedOutput.C.

126  : FileOutput(parameters)
127 {
128  _is_advanced = true;
130 }
OutputOnWarehouse _advanced_execute_on
Storage for the individual component execute flags.
Definition: Output.h:237
MultiMooseEnum _execute_on
The common Execution types; this is used as the default execution type for everything except system i...
Definition: Output.h:186
A helper warehouse class for storing the "execute_on" settings for the various output types...
bool _is_advanced
Flag for advanced output testing.
Definition: Output.h:231
FileOutput(const InputParameters &parameters)
Class constructor.
Definition: FileOutput.C:53
AdvancedOutput::~AdvancedOutput ( )
virtual

Class destructor.

Definition at line 181 of file AdvancedOutput.C.

181 {}

Member Function Documentation

static void Output::addDeprecatedInputParameters ( InputParameters params)
staticinherited

A static helper for injecting deprecated parameters.

void AdvancedOutput::addValidParams ( InputParameters params,
const MultiMooseEnum types 
)
staticprivate

Method for defining the available parameters based on the types of outputs.

Parameters
paramsThe InputParamters object to add parameters to
typesThe types of output this object should support (see Output::enableOutputTypes)

Each output object may have a varying set of supported output types (e.g., elemental variables may not be supported). This private, static method populates the InputParameters object with the correct parameters based on the items contained in the MultiMooseEnum.

This method is private, users should utlize the Output::enableOutputTypes method

See also
Output::enableOutputTypes

Definition at line 539 of file AdvancedOutput.C.

Referenced by enableOutputTypes().

540 {
541  // Nodal output
542  if (types.contains("nodal"))
543  {
544  params.addParam<MultiMooseEnum>(
545  "execute_nodal_on", getExecuteOptions(), "Control the output of nodal variables");
546  params.addParamNamesToGroup("execute_nodal_on", "Variables");
547  }
548 
549  // Elemental output
550  if (types.contains("elemental"))
551  {
552  params.addParam<MultiMooseEnum>(
553  "execute_elemental_on", getExecuteOptions(), "Control the output of elemental variables");
554  params.addParamNamesToGroup("execute_elemental_on", "Variables");
555 
556  // Add material output control, which are output via elemental variables
557  params.addParam<bool>("output_material_properties",
558  false,
559  "Flag indicating if material properties should be output");
560  params.addParam<std::vector<std::string>>(
561  "show_material_properties",
562  "List of materialproperties that should be written to the output");
563  params.addParamNamesToGroup("output_material_properties show_material_properties", "Materials");
564  }
565 
566  // Scalar variable output
567  if (types.contains("scalar"))
568  {
569  params.addParam<MultiMooseEnum>(
570  "execute_scalars_on", getExecuteOptions(), "Control the output of scalar variables");
571  params.addParamNamesToGroup("execute_scalars_on", "Variables");
572  }
573 
574  // Nodal and scalar output
575  if (types.contains("nodal") && types.contains("scalar"))
576  {
577  params.addParam<bool>("scalar_as_nodal", false, "Output scalar variables as nodal");
578  params.addParamNamesToGroup("scalar_as_nodal", "Variables");
579  }
580 
581  // Elemental and nodal
582  if (types.contains("elemental") && types.contains("nodal"))
583  {
584  params.addParam<bool>(
585  "elemental_as_nodal", false, "Output elemental nonlinear variables as nodal");
586  params.addParamNamesToGroup("elemental_as_nodal", "Variables");
587  }
588 
589  // Postprocessors
590  if (types.contains("postprocessor"))
591  {
592  params.addParam<MultiMooseEnum>("execute_postprocessors_on",
594  "Control of when postprocessors are output");
595  params.addParamNamesToGroup("execute_postprocessors_on", "Variables");
596  }
597 
598  // Vector Postprocessors
599  if (types.contains("vector_postprocessor"))
600  {
601  params.addParam<MultiMooseEnum>("execute_vector_postprocessors_on",
603  "Enable/disable the output of VectorPostprocessors");
604  params.addParamNamesToGroup("execute_vector_postprocessors_on", "Variables");
605  }
606 
607  // Input file
608  if (types.contains("input"))
609  {
610  params.addParam<MultiMooseEnum>(
611  "execute_input_on", getExecuteOptions(), "Enable/disable the output of the input file");
612  params.addParamNamesToGroup("execute_input_on", "Variables");
613  }
614 
615  // System Information
616  if (types.contains("system_information"))
617  {
618  params.addParam<MultiMooseEnum>("execute_system_information_on",
620  "Control when the output of the simulation information occurs");
621  params.addParamNamesToGroup("execute_system_information_on", "Variables");
622  }
623 }
bool contains(const std::string &value) const
Contains methods for seeing if a value is in the MultiMooseEnum.
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static MultiMooseEnum getExecuteOptions()
Returns the available options for the &#39;execute_on&#39; input parameters.
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...
const OutputOnWarehouse & AdvancedOutput::advancedExecuteOn ( ) const
virtual

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 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())
static

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 FileOutput::filename ( )
virtualinherited

The filename for the output file.

Returns
A string of output file including the extension, by default this returns _file_base

Reimplemented in Exodus, Nemesis, Console, Checkpoint, CSV, Gnuplot, SolutionHistory, GMVOutput, Tecplot, XDA, VTKOutput, and DOFMapOutput.

Definition at line 170 of file FileOutput.C.

Referenced by OutputWarehouse::addOutput().

171 {
172  return _file_base;
173 }
std::string _file_base
The base filename from the input paramaters.
Definition: FileOutput.h:87
const std::set< std::string > & AdvancedOutput::getElementalVariableOutput ( )

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 Exodus::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(), addValidParams(), 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 ( )

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 Exodus::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:536
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:834
MultiMooseEnum AdvancedOutput::getOutputTypes ( )
staticprivate

Get the supported types of output (e.g., postprocessors, etc.)

Definition at line 98 of file AdvancedOutput.C.

Referenced by enableOutputTypes().

99 {
100  return MultiMooseEnum("nodal=0 elemental=1 scalar=2 postprocessor=3 vector_postprocessor=4 "
101  "input=5 system_information=6");
102 }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
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(), 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 ( )

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 Exodus::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 ( )

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 Exodus::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 ( )

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 ( )

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 Exodus::initialSetup().

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

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 Exodus::initialSetup(), and Exodus::outputElementalVariables().

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

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

Definition at line 350 of file AdvancedOutput.C.

Referenced by Exodus::initialSetup(), Exodus::output(), and 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)

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::hasOutputHelper ( const std::string &  name)
private

Helper method for checking if output types exists.

Parameters
nameThe name of the output type to test (e.g., postprocessors)

Definition at line 626 of file AdvancedOutput.C.

Referenced by hasElementalVariableOutput(), hasNodalVariableOutput(), hasPostprocessorOutput(), hasScalarOutput(), and hasVectorPostprocessorOutput().

627 {
628  if (!_initialized)
629  mooseError("The output object must be initialized before it may be determined if ",
630  name,
631  " output is enabled.");
632 
633  return !_execute_data[name].output.empty() && _advanced_execute_on.contains(name) &&
635 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
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 _initialized
True if init() has been called.
Definition: Output.h:225
bool contains(const std::string &name)
A method for testing of a key exists.
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
bool AdvancedOutput::hasPostprocessorOutput ( )

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 Exodus::initialSetup().

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

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 Exodus::initialSetup().

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

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 AdvancedOutput::initAvailableLists ( )
private

Initializes the available lists for each of the output types.

Definition at line 369 of file AdvancedOutput.C.

Referenced by initialSetup().

370 {
371  // Initialize Postprocessor list
372  // This flag is set to true if any postprocessor has the 'outputs' parameter set, it is then used
373  // to produce an warning if postprocessor output is disabled
374  initPostprocessorOrVectorPostprocessorLists<Postprocessor>("postprocessors");
375 
376  // Initialize vector postprocessor list
377  // This flag is set to true if any vector postprocessor has the 'outputs' parameter set, it is
378  // then used
379  // to produce an warning if vector postprocessor output is disabled
380  initPostprocessorOrVectorPostprocessorLists<VectorPostprocessor>("vector_postprocessors");
381 
382  // Get a list of the available variables
383  std::vector<VariableName> variables = _problem_ptr->getVariableNames();
384 
385  // Loop through the variables and store the names in the correct available lists
386  for (const auto & var_name : variables)
387  {
388  if (_problem_ptr->hasVariable(var_name))
389  {
390  MooseVariable & var = _problem_ptr->getVariable(0, var_name);
391  const FEType type = var.feType();
392  if (type.order == CONSTANT)
393  _execute_data["elemental"].available.insert(var_name);
394  else
395  _execute_data["nodal"].available.insert(var_name);
396  }
397 
398  else if (_problem_ptr->hasScalarVariable(var_name))
399  _execute_data["scalars"].available.insert(var_name);
400  }
401 }
const FEType & feType() const
Get the type of finite element object.
Class for stuff related to variables.
Definition: MooseVariable.h:43
OutputDataWarehouse _execute_data
Storage structures for the various output types.
virtual std::vector< VariableName > getVariableNames()
Returns a list of all the variables in the problem (both from the NL and Aux systems.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
virtual bool hasVariable(const std::string &var_name) override
MatType type
virtual bool hasScalarVariable(const std::string &var_name) override
Returns a Boolean indicating whether any system contains a variable with the name provided...
virtual MooseVariable & getVariable(THREAD_ID tid, const std::string &var_name) override
Returns the variable reference for requested variable which may be in any system. ...
void AdvancedOutput::initExecutionTypes ( const std::string &  name,
MultiMooseEnum input 
)
private

Initialize the possible execution types.

Parameters
nameThe name of the supplied MultiMoose enum from the _execute_on std::map (e.g., scalars)
inputThe MultiMooseEnum for output type flags to initialize

Definition at line 404 of file AdvancedOutput.C.

Referenced by initialSetup().

405 {
406  // Build the input paramemter name
407  std::string param_name = "execute_";
408  param_name += name + "_on";
409 
410  // The parameters exists and has been set by the user
411  if (_pars.have_parameter<MultiMooseEnum>(param_name) && isParamValid(param_name))
412  input = getParam<MultiMooseEnum>(param_name);
413 
414  // If the parameter does not exists; set it to a state where no valid entries exists so nothing
415  // gets executed
416  else if (!_pars.have_parameter<MultiMooseEnum>(param_name))
418 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static MultiMooseEnum getExecuteOptions()
Returns the available options for the &#39;execute_on&#39; input parameters.
void AdvancedOutput::initialSetup ( )
protectedvirtual

Initialization method.

This populates the various data structures needed to control the output

Reimplemented from Output.

Reimplemented in CSV, Exodus, Nemesis, and Console.

Definition at line 133 of file AdvancedOutput.C.

Referenced by Console::initialSetup(), Nemesis::initialSetup(), Exodus::initialSetup(), and CSV::initialSetup().

134 {
135  // Do not initialize more than once
136  // This check is needed for YAK which calls Executioners from within Executioners
137  if (_initialized)
138  return;
139 
140  // Initialize the available output
142 
143  // Separate the hide/show list into components
144  initShowHideLists(getParam<std::vector<VariableName>>("show"),
145  getParam<std::vector<VariableName>>("hide"));
146 
147  // If 'elemental_as_nodal = true' the elemental variable names must be appended to the
148  // nodal variable names. Thus, when libMesh::EquationSystem::build_solution_vector is called
149  // it will create the correct nodal variable from the elemental
150  if (isParamValid("elemental_as_nodal") && getParam<bool>("elemental_as_nodal"))
151  {
152  OutputData & nodal = _execute_data["nodal"];
153  OutputData & elemental = _execute_data["elemental"];
154  nodal.show.insert(elemental.show.begin(), elemental.show.end());
155  nodal.hide.insert(elemental.hide.begin(), elemental.hide.end());
156  nodal.available.insert(elemental.available.begin(), elemental.available.end());
157  }
158 
159  // Similarly as above, if 'scalar_as_nodal = true' append the elemental variable lists
160  if (isParamValid("scalar_as_nodal") && getParam<bool>("scalar_as_nodal"))
161  {
162  OutputData & nodal = _execute_data["nodal"];
163  OutputData & scalar = _execute_data["scalars"];
164  nodal.show.insert(scalar.show.begin(), scalar.show.end());
165  nodal.hide.insert(scalar.hide.begin(), scalar.hide.end());
166  nodal.available.insert(scalar.available.begin(), scalar.available.end());
167  }
168 
169  // Initialize the show/hide/output lists for each of the types of output
170  for (auto & it : _execute_data)
171  initOutputList(it.second);
172 
173  // Initialize the execution flags
174  for (auto & it : _advanced_execute_on)
175  initExecutionTypes(it.first, it.second);
176 
177  // Set the initialization flag
178  _initialized = true;
179 }
OutputOnWarehouse _advanced_execute_on
Storage for the individual component execute flags.
Definition: Output.h:237
void initExecutionTypes(const std::string &name, MultiMooseEnum &input)
Initialize the possible execution types.
void initShowHideLists(const std::vector< VariableName > &show, const std::vector< VariableName > &hide)
Parses the user-supplied input for hiding and showing variables and postprocessors into a list for ea...
OutputDataWarehouse _execute_data
Storage structures for the various output types.
A structure for storing the various lists that contain the names of the items to be exported...
void initOutputList(OutputData &data)
Initializes the list of items to be output using the available, show, and hide lists.
void initAvailableLists()
Initializes the available lists for each of the output types.
bool _initialized
True if init() has been called.
Definition: Output.h:225
std::set< std::string > available
A list of all possible outputs.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:122
std::set< std::string > hide
User-supplied list of outputs to hide.
std::set< std::string > show
User-supplied list of outputs to display.
void AdvancedOutput::initOutputList ( OutputData data)
private

Initializes the list of items to be output using the available, show, and hide lists.

Parameters
dataThe OutputData to operate on

Definition at line 489 of file AdvancedOutput.C.

Referenced by initialSetup().

490 {
491  // References to the vectors of variable names
492  std::set<std::string> & hide = data.hide;
493  std::set<std::string> & show = data.show;
494  std::set<std::string> & avail = data.available;
495  std::set<std::string> & output = data.output;
496 
497  // Append the list from OutputInterface objects
498  std::set<std::string> interface_hide;
500  hide.insert(interface_hide.begin(), interface_hide.end());
501 
502  // Both show and hide are empty and no show/hide settings were provided (show all available)
503  if (show.empty() && hide.empty() && !_execute_data.hasShowList())
504  output = avail;
505 
506  // Only hide is empty (show all the variables listed)
507  else if (!show.empty() && hide.empty())
508  output = show;
509 
510  // Only show is empty (show all except those hidden)
511  else if (show.empty() && !hide.empty())
512  std::set_difference(avail.begin(),
513  avail.end(),
514  hide.begin(),
515  hide.end(),
516  std::inserter(output, output.begin()));
517 
518  // Both hide and show are present (show all those listed)
519  else
520  {
521  // Check if variables are in both, which is invalid
522  std::vector<std::string> tmp;
523  std::set_intersection(
524  hide.begin(), hide.end(), show.begin(), show.end(), std::inserter(tmp, tmp.begin()));
525  if (!tmp.empty())
526  {
527  std::ostringstream oss;
528  oss << "Output(s) specified to be both shown and hidden: ";
529  std::copy(tmp.begin(), tmp.end(), infix_ostream_iterator<std::string>(oss, " "));
530  mooseError(oss.str());
531  }
532 
533  // Define the output variable list
534  output = show;
535  }
536 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::set< std::string > output
A list of the outputs to write.
OutputDataWarehouse _execute_data
Storage structures for the various output types.
bool hasShowList()
False when the show lists for all variables is empty.
std::set< std::string > available
A list of all possible outputs.
virtual void output(const ExecFlagType &type)
A single call to this function should output all the necessary data for a single timestep.
std::set< std::string > hide
User-supplied list of outputs to hide.
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
std::set< std::string > show
User-supplied list of outputs to display.
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
void buildInterfaceHideVariables(const std::string &output_name, std::set< std::string > &hide)
Return the list of hidden variables for the given output name.
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:840
template<typename postprocessor_type >
void AdvancedOutput::initPostprocessorOrVectorPostprocessorLists ( const std::string &  execute_data_name)
private

Helper function for initAvailableLists, templated on warehouse type and postprocessor_type.

Parameters
execute_data_nameName of the OutputData struct to initialize
warehouseReference to the postprocessor or vector postprocessor warehouse

Definition at line 341 of file AdvancedOutput.h.

342 {
343 
344  // Get the UserObjectWarhouse
346 
347  // Convenience reference to the OutputData being operated on (should used "postprocessors" or
348  // "vector_postprocessors")
349  OutputData & execute_data = _execute_data[execute_data_name];
350 
351  // Build the input file parameter name (i.e. "output_postprocessors_on" or
352  // "output_vector_postprocessors_on")
353  std::ostringstream oss;
354  oss << "execute_" << execute_data_name << "_on";
355  std::string execute_on_name = oss.str();
356 
357  // True if the postprocessors has been limited using 'outputs' parameter
358  bool has_limited_pps = false;
359 
360  // Loop through each of the execution flags
361  const auto & objects = warehouse.getActiveObjects();
362  for (const auto & object : objects)
363  {
364  // Store the name in the available postprocessors, if it does not already exist in the list
365  std::shared_ptr<postprocessor_type> pps = std::dynamic_pointer_cast<postprocessor_type>(object);
366  if (!pps)
367  continue;
368 
369  execute_data.available.insert(pps->PPName());
370 
371  // Extract the list of outputs
372  const auto & pps_outputs = pps->getOutputs();
373 
374  // Check that the outputs lists are valid
375  _app.getOutputWarehouse().checkOutputs(pps_outputs);
376 
377  // Check that the output object allows postprocessor output,
378  // account for "all" keyword (if it is present assume "all" was desired)
379  if (pps_outputs.find(name()) != pps_outputs.end() ||
380  pps_outputs.find("all") != pps_outputs.end())
381  {
382  if (!_advanced_execute_on.contains(execute_data_name) ||
383  (_advanced_execute_on[execute_data_name].isValid() &&
384  _advanced_execute_on[execute_data_name].contains("none")))
385  mooseWarning(
386  "Postprocessor '",
387  pps->PPName(),
388  "' has requested to be output by the '",
389  name(),
390  "' output, but postprocessor output is not support by this type of output object.");
391  }
392 
393  // Set the flag state for postprocessors that utilize 'outputs' parameter
394  if (!pps_outputs.empty() && pps_outputs.find("all") == pps_outputs.end())
395  has_limited_pps = true;
396  }
397 
398  // Produce the warning when 'outputs' is used, but postprocessor output is disabled
399  if (has_limited_pps && isParamValid(execute_on_name))
400  {
401  const MultiMooseEnum & pp_on = getParam<MultiMooseEnum>(execute_on_name);
402  if (pp_on.contains("none"))
403  {
404  if (execute_on_name == "execute_postprocessors_on")
405  mooseWarning("A Postprocessor utilizes the 'outputs' parameter; however, postprocessor "
406  "output is disabled for the '",
407  name(),
408  "' output object.");
409  else if (execute_on_name == "execute_vectorpostprocessors_on")
410  mooseWarning("A VectorPostprocessor utilizes the 'outputs' parameter; however, vector "
411  "postprocessor output is disabled for the '",
412  name(),
413  "' output object.");
414  }
415  }
416 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
void mooseWarning(Args &&...args) const
Definition: MooseObject.h:89
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.
A structure for storing the various lists that contain the names of the items to be exported...
bool contains(const std::string &value) const
Contains methods for seeing if a value is in the MultiMooseEnum.
bool contains(const std::string &name)
A method for testing of a key exists.
std::set< std::string > available
A list of all possible outputs.
const ExecuteMooseObjectWarehouse< UserObject > & getUserObjects()
Return the storage of all UserObjects.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
void checkOutputs(const std::set< OutputName > &names)
Test that the output names exist.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
const std::vector< std::shared_ptr< T > > & getActiveObjects(THREAD_ID tid=0) const
Retrieve complete vector to the active all/block/boundary restricted objects for a given thread...
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:840
void AdvancedOutput::initShowHideLists ( const std::vector< VariableName > &  show,
const std::vector< VariableName > &  hide 
)
private

Parses the user-supplied input for hiding and showing variables and postprocessors into a list for each type of output.

Parameters
showThe vector of names that are to be output
hideThe vector of names that are to be suppressed from the output

Definition at line 421 of file AdvancedOutput.C.

Referenced by initialSetup().

423 {
424 
425  // Storage for user-supplied input that is unknown as a variable or postprocessor
426  std::set<std::string> unknown;
427 
428  // If a show hide/list exists, let the data warehouse know about it. This allows for the proper
429  // handling of output lists (see initOutputList)
430  if (show.size() > 0)
432 
433  // Populate the show lists
434  for (const auto & var_name : show)
435  {
436  if (_problem_ptr->hasVariable(var_name))
437  {
438  MooseVariable & var = _problem_ptr->getVariable(0, var_name);
439  const FEType type = var.feType();
440  if (type.order == CONSTANT)
441  _execute_data["elemental"].show.insert(var_name);
442  else
443  _execute_data["nodal"].show.insert(var_name);
444  }
445  else if (_problem_ptr->hasScalarVariable(var_name))
446  _execute_data["scalars"].show.insert(var_name);
447  else if (_problem_ptr->hasPostprocessor(var_name))
448  _execute_data["postprocessors"].show.insert(var_name);
449  else if (_problem_ptr->hasVectorPostprocessor(var_name))
450  _execute_data["vector_postprocessors"].show.insert(var_name);
451  else
452  unknown.insert(var_name);
453  }
454 
455  // Populate the hide lists
456  for (const auto & var_name : hide)
457  {
458  if (_problem_ptr->hasVariable(var_name))
459  {
460  MooseVariable & var = _problem_ptr->getVariable(0, var_name);
461  const FEType type = var.feType();
462  if (type.order == CONSTANT)
463  _execute_data["elemental"].hide.insert(var_name);
464  else
465  _execute_data["nodal"].hide.insert(var_name);
466  }
467  else if (_problem_ptr->hasScalarVariable(var_name))
468  _execute_data["scalars"].hide.insert(var_name);
469  else if (_problem_ptr->hasPostprocessor(var_name))
470  _execute_data["postprocessors"].hide.insert(var_name);
471  else if (_problem_ptr->hasVectorPostprocessor(var_name))
472  _execute_data["vector_postprocessors"].hide.insert(var_name);
473  else
474  unknown.insert(var_name);
475  }
476 
477  // Error if an unknown variable or postprocessor is found
478  if (!unknown.empty())
479  {
480  std::ostringstream oss;
481  oss << "Output(s) do not exist (must be variable, scalar, postprocessor, or vector "
482  "postprocessor): ";
483  std::copy(unknown.begin(), unknown.end(), infix_ostream_iterator<std::string>(oss, " "));
484  mooseError(oss.str());
485  }
486 }
const FEType & feType() const
Get the type of finite element object.
Class for stuff related to variables.
Definition: MooseVariable.h:43
bool hasPostprocessor(const std::string &name)
Check existence of the postprocessor.
OutputDataWarehouse _execute_data
Storage structures for the various output types.
bool hasVectorPostprocessor(const std::string &name)
Check existence of the VectorPostprocessor.
FEProblemBase * _problem_ptr
Pointer the the FEProblemBase object for output object (use this)
Definition: Output.h:171
virtual bool hasVariable(const std::string &var_name) override
MatType type
virtual bool hasScalarVariable(const std::string &var_name) override
Returns a Boolean indicating whether any system contains a variable with the name provided...
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
virtual MooseVariable & getVariable(THREAD_ID tid, const std::string &var_name) override
Returns the variable reference for requested variable which may be in any system. ...
void setHasShowList(bool value)
Set the show list bool.
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(), initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), initialSetup(), 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(), Exodus::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 }
virtual void MeshChangedInterface::meshChanged ( )
inlinevirtualinherited

Called on this object when the mesh changes.

Reimplemented in DiracKernel, Console, OversampleOutput, Exodus, Nemesis, GeometryBase, and EqualValueBoundaryConstraint.

Definition at line 43 of file MeshChangedInterface.h.

43 {}
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(), hasOutputHelper(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), initOutputList(), 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(), outputElementalVariables(), outputInput(), outputNodalVariables(), outputPostprocessors(), outputScalarVariables(), outputSystemInformation(), Console::outputVectorPostprocessors(), 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(), hasOutputHelper(), FEProblemBase::init(), CSVReader::initialize(), MultiAppProjectionTransfer::initialSetup(), InitialCondition::initialSetup(), SolutionUserObject::initialSetup(), initOutputList(), 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(), outputElementalVariables(), outputInput(), outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), outputPostprocessors(), outputScalarVariables(), outputSystemInformation(), 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 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 AdvancedOutput::output ( const ExecFlagType type)
protectedvirtual

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

By default this function performs calls each of the four virtual output methods: outputScalarVariables(), outputPostprocessors(), outputElementalVariables(), and outputNodalVariables(). But, only if output exists for each type.

See also
outputNodalVariables outputElementalVariables outputScalarVariables outputPostprocessors

Implements Output.

Reimplemented in Nemesis, Console, CSV, Exodus, Gnuplot, GMVOutput, Tecplot, VTKOutput, and XDA.

Definition at line 252 of file AdvancedOutput.C.

Referenced by initOutputList(), Gnuplot::output(), Exodus::output(), CSV::output(), Nemesis::output(), and OversampleOutput::outputStep().

253 {
254  // Call the various output types, if data exists
255  if (wantOutput("nodal", type))
256  {
258  _last_execute_time["nodal"] = _time;
259  }
260 
261  if (wantOutput("elemental", type))
262  {
264  _last_execute_time["elemental"] = _time;
265  }
266 
267  if (wantOutput("postprocessors", type))
268  {
270  _last_execute_time["postprocessors"] = _time;
271  }
272 
273  if (wantOutput("vector_postprocessors", type))
274  {
276  _last_execute_time["vector_postprocessors"] = _time;
277  }
278 
279  if (wantOutput("scalars", type))
280  {
282  _last_execute_time["scalars"] = _time;
283  }
284 
285  if (wantOutput("system_information", type))
286  {
288  _last_execute_time["system_information"] = _time;
289  }
290 
291  if (wantOutput("input", type))
292  {
293  outputInput();
294  _last_execute_time["input"] = _time;
295  }
296 }
virtual void outputVectorPostprocessors()
Performs output of VectorPostprocessors The child class must define this method to output the VectorP...
virtual void outputSystemInformation()
std::map< std::string, Real > _last_execute_time
Storage for the last output time for the various output types, this is used to avoid duplicate output...
virtual void outputElementalVariables()
Performs output of elemental nonlinear variables The child class must define this method to output th...
virtual void outputScalarVariables()
Performs output of scalar variables The child class must define this method to output the scalar vari...
virtual void outputNodalVariables()
Performs output of nodal nonlinear variables The child class must define this method to output the no...
virtual void outputInput()
Performs the output of the input file By default this method does nothing and is not called...
bool wantOutput(const std::string &name, const ExecFlagType &type)
Handles logic for determining if a step should be output.
MatType type
virtual void outputPostprocessors()
Performs output of postprocessors The child class must define this method to output the postprocessor...
Real & _time
The current time for output purposes.
Definition: Output.h:189
void AdvancedOutput::outputElementalVariables ( )
protectedvirtual

Performs output of elemental nonlinear variables The child class must define this method to output the nonlinear variables as desired.

See also
Exodus::outputElementalVariables

Reimplemented in Exodus.

Definition at line 192 of file AdvancedOutput.C.

Referenced by output().

193 {
194  mooseError(
195  "Individual output of elemental variables is not support for this output object named '",
196  name(),
197  "'");
198 }
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::outputInput ( )
protectedvirtual

Performs the output of the input file By default this method does nothing and is not called, the individual Output objects are responsible for calling it.

Reimplemented in Exodus, and Console.

Definition at line 232 of file AdvancedOutput.C.

Referenced by output().

233 {
234  mooseError("Output of the input file information is not support for this output object named '",
235  name(),
236  "'");
237 }
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::outputNodalVariables ( )
protectedvirtual

Performs output of nodal nonlinear variables The child class must define this method to output the nonlinear variables as desired.

See also
Exodus::outputNodalVariables

Reimplemented in Exodus.

Definition at line 184 of file AdvancedOutput.C.

Referenced by output().

185 {
186  mooseError("Individual output of nodal variables is not support for the output object named '",
187  name(),
188  "'");
189 }
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::outputPostprocessors ( )
protectedvirtual

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

See also
Exodus::outputPostprocessors

Reimplemented in Console, Exodus, CSV, Nemesis, and TableOutput.

Definition at line 201 of file AdvancedOutput.C.

Referenced by output().

202 {
203  mooseError("Individual output of postprocessors is not support for this output object named '",
204  name(),
205  "'");
206 }
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::outputScalarVariables ( )
protectedvirtual

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

See also
Exodus::outputScalarVariables

Reimplemented in Console, Exodus, Nemesis, CSV, and TableOutput.

Definition at line 218 of file AdvancedOutput.C.

Referenced by output().

219 {
220  mooseError(
221  "Individual output of scalars is not support for this output object named '", name(), "'");
222 }
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 Output::outputStep ( const ExecFlagType type)
virtualinherited

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 in OversampleOutput.

Definition at line 144 of file Output.C.

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

145 {
146  // Output is not allowed
147  if (!_allow_output && type != EXEC_FORCED)
148  return;
149 
150  // If recovering disable output of initial condition, it was already output
151  if (type == EXEC_INITIAL && _app.isRecovering())
152  return;
153 
154  // Return if the current output is not on the desired interval
155  if (type != EXEC_FINAL && !onInterval())
156  return;
157 
158  // Call the output method
159  if (shouldOutput(type))
160  output(type);
161 }
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:607
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
virtual void output(const ExecFlagType &type)=0
Overload this function with the desired output activities.
virtual bool shouldOutput(const ExecFlagType &type)
Handles logic for determining if a step should be output.
Definition: Output.C:164
Forces execution to occur (output only)
Definition: MooseTypes.h:106
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 ( )
protectedvirtual

Reimplemented in Console.

Definition at line 225 of file AdvancedOutput.C.

Referenced by 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 ( )
protectedvirtual

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 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 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)
protectedvirtual

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(), Exodus::outputEmptyTimestep(), Exodus::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 }
bool AdvancedOutput::wantOutput ( const std::string &  name,
const ExecFlagType type 
)
private

Handles logic for determining if a step should be output.

Returns
True if a call if output should be preformed

Definition at line 299 of file AdvancedOutput.C.

Referenced by hasOutput(), Console::initialSetup(), Console::output(), and output().

300 {
301  // Ignore EXEC_FORCED for system information and input, there is no reason to force this
302  if (type == EXEC_FORCED && (name == "system_information" || name == "input"))
303  return false;
304 
305  // Do not output if the 'none' is contained by the execute_on
307  return false;
308 
309  // Data output flag, true if data exists to be output
310  bool execute_data_flag = true;
311 
312  // Set flag to false, if the OutputData exists and the output variable list is empty
313  std::map<std::string, OutputData>::const_iterator iter = _execute_data.find(name);
314  if (iter != _execute_data.end() && iter->second.output.empty())
315  execute_data_flag = false;
316 
317  // Set flag to false, if the OutputOnWarehouse DOES NOT contain an entry
319  execute_data_flag = false;
320 
321  // Force the output, if there is something to output and the time has not been output
322  if (type == EXEC_FORCED && execute_data_flag && _last_execute_time[name] != _time)
323  return true;
324 
325  // Return true (output should occur) if three criteria are satisfied, else do not output:
326  // (1) The execute_data_flag = true (i.e, there is data to output)
327  // (2) The current output type is contained in the list of output execution types
328  // (3) The current execution time is "final" or "forced" and the data has not already been
329  // output
330  if (execute_data_flag && _advanced_execute_on[name].contains(type) &&
332  return true;
333  else
334  return false;
335 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< std::string, Real > _last_execute_time
Storage for the last output time for the various output types, this is used to avoid duplicate output...
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.
Forces execution to occur (output only)
Definition: MooseTypes.h:106
bool contains(const std::string &name)
A method for testing of a key exists.
std::map< std::string, T >::iterator end()
MatType type
Object is evaluated at the end of the simulations (output only)
Definition: MooseTypes.h:104
std::map< std::string, T >::iterator find(const std::string &name)
Real & _time
The current time for output purposes.
Definition: Output.h:189

Friends And Related Function Documentation

friend class Console
friend

Definition at line 334 of file AdvancedOutput.h.

friend class OutputWarehouse
friend

Definition at line 333 of file AdvancedOutput.h.

friend class TransientMultiApp
friend

Definition at line 335 of file AdvancedOutput.h.

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(), initOutputList(), FEProblemBase::initPetscOutput(), initPostprocessorOrVectorPostprocessorLists(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), MooseMesh::MooseMesh(), NonlinearEigen::NonlinearEigen(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::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().

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().

OutputDataWarehouse AdvancedOutput::_execute_data
private
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(), Console::Console(), Output::executeOn(), Console::initialSetup(), Output::Output(), Console::output(), PetscOutput::PetscOutput(), Output::shouldOutput(), and PetscOutput::solveSetup().

std::string FileOutput::_file_base
protectedinherited
unsigned int& FileOutput::_file_num
protectedinherited
bool Output::_initialized
protectedinherited

True if init() has been called.

Definition at line 225 of file Output.h.

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

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(), and Output::isAdvanced().

std::map<std::string, Real> AdvancedOutput::_last_execute_time
private

Storage for the last output time for the various output types, this is used to avoid duplicate output when using OUTPUT_FINAL flag.

Definition at line 330 of file AdvancedOutput.h.

Referenced by output(), and wantOutput().

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().

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().

unsigned int FileOutput::_padding
protectedinherited
const InputParameters& MooseObject::_pars
protectedinherited
FEProblemBase* Output::_problem_ptr
protectedinherited
bool Output::_sequence
protectedinherited

Flag for forcing call to outputSetup() with every call to output() (restartable)

Definition at line 183 of file Output.h.

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

The current time for output purposes.

Definition at line 189 of file Output.h.

Referenced by Output::onInterval(), output(), TableOutput::outputVectorPostprocessors(), PetscOutput::solveSetup(), Output::time(), and wantOutput().

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: