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

Creates AuxVariables and AuxKernels for automatic output of material properties. More...

#include <MaterialOutputAction.h>

Inheritance diagram for MaterialOutputAction:
[legend]

Public Member Functions

 MaterialOutputAction (InputParameters params)
 
virtual void act () override
 Method to add objects to the simulation or perform other setup tasks. More...
 
void timedAct ()
 The method called externally that causes the action to act() More...
 
virtual void addRelationshipManagers (Moose::RelationshipManagerType when_type)
 Method to add a relationship manager for the objects being added to the system. More...
 
const std::string & name () const
 The name of the action. More...
 
const std::string & type () const
 
InputParametersparameters ()
 
const InputParametersparameters () const
 
const std::string & specificTaskName () const
 
const std::set< std::string > & getAllTasks () const
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 
void appendTask (const std::string &task)
 
template<typename... Args>
void paramError (const std::string &param, Args... args)
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args)
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args)
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
std::string getBaseName () const
 Deprecated name methods, use name() More...
 
std::string getShortName () const
 DEPRECATED METHODS. More...
 
template<typename T >
const T & getParamTempl (const std::string &name) const
 Retrieve a parameter for the object. More...
 

Static Public Member Functions

static InputParameters validParams ()
 Class constructor. More...
 

Public Attributes

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

Static Public Attributes

static constexpr auto FILE_SUFFIX = "_mesh"
 The suffix appended when writing the restartable data file. More...
 
static constexpr auto SYSTEM = "MeshMetaData"
 The system name used when initializing the Restartable interface. More...
 
static constexpr auto NAME = "<empty>"
 The data name used when initializing the Restartable interface for non-MeshGenerator objects. More...
 

Protected Member Functions

void addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars)
 Method to add a relationship manager for the objects being added to the system. More...
 
template<typename T >
const T & getMeshProperty (const std::string &data_name, const std::string &prefix)
 Method for retrieving a property with the given type and name exists in the mesh meta-data store. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

InputParameters _pars
 Input parameters for the action. More...
 
std::string _registered_identifier
 
std::string _name
 The name of the action. More...
 
std::string _action_type
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
std::string _specific_task_name
 This member will only be populated if this Action instance is only designed to handle one task. More...
 
std::set< std::string > _all_tasks
 A list of all the tasks that this Action will satisfy. More...
 
ActionWarehouse_awh
 Reference to ActionWarehouse where we store object build by actions. More...
 
const std::string & _current_task
 The current action (even though we have seperate instances for each action) More...
 
std::shared_ptr< MooseMesh > & _mesh
 
std::shared_ptr< MooseMesh > & _displaced_mesh
 
std::shared_ptr< FEProblemBase > & _problem
 Convenience reference to a problem this action works on. More...
 
PerfID _act_timer
 Timers. More...
 
const InputParameters_pg_params
 Params. More...
 
PerfGraph_perf_graph
 The performance graph to add to. More...
 
std::string _prefix
 A prefix to use for all sections. More...
 

Private Member Functions

template<typename T >
bool hasProperty (const std::string &property_name)
 Helper method for testing if the material exists as a block or boundary material. More...
 
template<typename T >
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 Template method for creating the necessary objects for the various material property types. More...
 
InputParameters getParams (const std::string &type, const std::string &property_name, const std::string &variable_name, const MaterialBase &material)
 A method for retrieving and partially filling the InputParameters object for an AuxVariable. More...
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &material_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &material_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &material_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &material_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &material_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 
template<>
std::vector< std::string > materialOutputHelper (const std::string &property_name, const MaterialBase &material, bool get_names_only)
 
void addRelationshipManager (Moose::RelationshipManagerType input_rm_type, const InputParameters &moose_object_pars, std::string rm_name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback rm_input_parameter_func, Moose::RMSystemType sys_type)
 Method for adding a single relationship manager. More...
 
RestartableDataValueregisterMetaDataOnApp (const std::string &name, std::unique_ptr< RestartableDataValue > data)
 Helper function for actually registering the restartable data. More...
 

Private Attributes

std::shared_ptr< MaterialData_block_material_data
 Pointer the MaterialData object storing the block restricted materials. More...
 
std::shared_ptr< MaterialData_boundary_material_data
 Pointer the MaterialData object storing the boundary restricted materials. More...
 
std::map< std::string, std::set< SubdomainID > > _block_variable_map
 Map of variable name that contains the blocks to which the variable should be restricted. More...
 
std::set< std::string > _material_variable_names
 List of variables for the current MaterialBase object. More...
 
std::map< OutputName, std::set< std::string > > _material_variable_names_map
 Map of output names and list of variables associated with the output. More...
 
OutputWarehouse_output_warehouse
 Reference to the OutputWarehouse. More...
 
MooseApp_meta_data_app
 Reference to the application. More...
 

Detailed Description

Creates AuxVariables and AuxKernels for automatic output of material properties.

Definition at line 27 of file MaterialOutputAction.h.

Constructor & Destructor Documentation

◆ MaterialOutputAction()

MaterialOutputAction::MaterialOutputAction ( InputParameters  params)

Definition at line 57 of file MaterialOutputAction.C.

59 {
60 }

Member Function Documentation

◆ act()

void MaterialOutputAction::act ( )
overridevirtual

Method to add objects to the simulation or perform other setup tasks.

Implements Action.

Definition at line 63 of file MaterialOutputAction.C.

64 {
65  mooseAssert(_problem,
66  "FEProblemBase pointer is nullptr, it is needed for auto material property output");
67 
68  // Do nothing if the application does not have output
69  if (!_app.actionWarehouse().hasActions("add_output"))
70  return;
71 
72  bool get_names_only = _current_task == "add_output_aux_variables" ? true : false;
73 
74  // Set the pointers to the MaterialData objects (Note, these pointers are not available at
75  // construction)
78 
79  // A complete list of all MaterialBase objects
80  const auto & material_ptrs = _problem->getMaterialWarehouse().getObjects();
81 
82  // Handle setting of material property output in [Outputs] sub-blocks
83  // Output objects can enable material property output, the following code examines the parameters
84  // for each Output object and sets a flag if any Output object has output set and also builds a
85  // list if the
86  // properties are limited via the 'show_material_properties' parameters
87  bool outputs_has_properties = false;
88  std::set<std::string> output_object_properties;
89 
90  const auto & output_actions = _app.actionWarehouse().getActionListByName("add_output");
91  for (const auto & act : output_actions)
92  {
93  // Extract the Output action
94  AddOutputAction * action = dynamic_cast<AddOutputAction *>(act);
95  if (!action)
96  continue;
97 
98  // Add the material property names from the output object parameters to the list of properties
99  // to output
100  InputParameters & params = action->getObjectParams();
101  if (params.isParamValid("output_material_properties") &&
102  params.get<bool>("output_material_properties"))
103  {
104  outputs_has_properties = true;
105  std::vector<std::string> prop_names =
106  params.get<std::vector<std::string>>("show_material_properties");
107  output_object_properties.insert(prop_names.begin(), prop_names.end());
108  }
109  }
110 
111  // Loop through each material object
112  std::set<std::string> material_names;
113  for (const auto & mat : material_ptrs)
114  {
115  // Extract the names of the output objects to which the material properties will be exported
116  std::set<OutputName> outputs = mat->getOutputs();
117 
118  // Extract the property names that will actually be output
119  std::vector<std::string> output_properties =
120  mat->getParamTempl<std::vector<std::string>>("output_properties");
121 
122  // Append the properties listed in the Outputs block
123  if (outputs_has_properties)
124  output_properties.insert(output_properties.end(),
125  output_object_properties.begin(),
126  output_object_properties.end());
127 
128  // Clear the list of variable names for the current material object, this list will be populated
129  // with all the
130  // variables names for the current material object and is needed for purposes of controlling the
131  // which output objects
132  // show the material property data
133  _material_variable_names.clear();
134 
135  // Create necessary outputs for the properties if:
136  // (1) The Outputs block has material output enabled
137  // (2) If the MaterialBase object itself has set the 'outputs' parameter
138  if (outputs_has_properties || outputs.find("none") == outputs.end())
139  {
140  // Add the material property for output if the name is contained in the 'output_properties'
141  // list
142  // or if the list is empty (all properties)
143  const std::set<std::string> names = mat->getSuppliedItems();
144  std::vector<std::string> curr_material_names;
145  for (const auto & name : names)
146  {
147  // Add the material property for output
148  if (output_properties.empty() ||
149  std::find(output_properties.begin(), output_properties.end(), name) !=
150  output_properties.end())
151  {
152  if (hasProperty<Real>(name))
153  {
154  curr_material_names = materialOutputHelper<Real>(name, *mat, get_names_only);
155  material_names.insert(curr_material_names.begin(), curr_material_names.end());
156  }
157 
158  else if (hasProperty<RealVectorValue>(name))
159  {
160  curr_material_names = materialOutputHelper<RealVectorValue>(name, *mat, get_names_only);
161  material_names.insert(curr_material_names.begin(), curr_material_names.end());
162  }
163 
164  else if (hasProperty<RealTensorValue>(name))
165  {
166  curr_material_names = materialOutputHelper<RealTensorValue>(name, *mat, get_names_only);
167  material_names.insert(curr_material_names.begin(), curr_material_names.end());
168  }
169 
170  else if (hasProperty<RankTwoTensor>(name))
171  {
172  curr_material_names = materialOutputHelper<RankTwoTensor>(name, *mat, get_names_only);
173  material_names.insert(curr_material_names.begin(), curr_material_names.end());
174  }
175 
176  else if (hasProperty<RankFourTensor>(name))
177  {
178  curr_material_names = materialOutputHelper<RankFourTensor>(name, *mat, get_names_only);
179  material_names.insert(curr_material_names.begin(), curr_material_names.end());
180  }
181 
182  else
183  mooseWarning("The type for material property '",
184  name,
185  "' is not supported for automatic output.");
186  }
187 
188  // If the material object as limited outputs, store the variables associated with the output
189  // objects
190  if (!outputs.empty())
191  for (const auto & output_name : outputs)
192  _material_variable_names_map[output_name].insert(_material_variable_names.begin(),
194  }
195  }
196  }
197 
198  if (_current_task == "add_output_aux_variables")
199  {
200  auto params = _factory.getValidParams("MooseVariableConstMonomial");
201  // currently only elemental variables are support for material property output
202  params.set<MooseEnum>("order") = "CONSTANT";
203  params.set<MooseEnum>("family") = "MONOMIAL";
204 
205  // Create the AuxVariables
206  for (const auto & var_name : material_names)
207  _problem->addAuxVariable("MooseVariableConstMonomial", var_name, params);
208  }
209  else
210  {
211  // When a MaterialBase object has 'output_properties' defined all other properties not listed
212  // must be added to the hide list for the output objects so that properties that are not desired
213  // do not appear.
214  for (const auto & it : _material_variable_names_map)
215  {
216  std::set<std::string> hide;
217  std::set_difference(material_names.begin(),
218  material_names.end(),
219  it.second.begin(),
220  it.second.end(),
221  std::inserter(hide, hide.begin()));
222 
224  }
225  }
226 }

◆ addRelationshipManager()

void Action::addRelationshipManager ( Moose::RelationshipManagerType  input_rm_type,
const InputParameters moose_object_pars,
std::string  rm_name,
Moose::RelationshipManagerType  rm_type,
Moose::RelationshipManagerInputParameterCallback  rm_input_parameter_func,
Moose::RMSystemType  sys_type 
)
privateinherited

Method for adding a single relationship manager.

Parameters
input_rm_typeWhat relationship manager type we are currently adding
moose_object_parsThe parameters of the MooseObject that requested the RM
rm_nameThe class type of the RM, e.g. ElementSideNeighborLayers
rm_typeThe RelationshipManagerType, e.g. geometric, algebraic, coupling
rm_input_parameter_funcThe RM callback function, typically a lambda defined in the requesting MooseObject's validParams function
sys_typeA RMSystemType that can be used to limit the systems and consequent dof_maps that the RM can be attached to

Definition at line 97 of file Action.C.

104 {
105  // These need unique names
106  static unsigned int unique_object_id = 0;
107 
108  auto new_name = moose_object_pars.get<std::string>("_moose_base") + '_' + name() + '_' + rm_name +
109  "_" + Moose::stringify(rm_type) + " " + std::to_string(unique_object_id);
110 
111  auto rm_params = _factory.getValidParams(rm_name);
112  rm_params.set<Moose::RelationshipManagerType>("rm_type") = rm_type;
113  rm_params.set<Moose::RMSystemType>("system_type") = sys_type;
114 
115  auto for_whom = name();
116  if (sys_type == Moose::RMSystemType::NONLINEAR)
117  for_whom += "_nl";
118  else if (sys_type == Moose::RMSystemType::AUXILIARY)
119  for_whom += "_aux";
120  rm_params.set<std::string>("for_whom") = for_whom;
121 
122  // Figure out if we shouldn't be adding this one yet
123  if (((rm_type & input_rm_type) != input_rm_type)
124 
125  || // Or are we adding Geometric but this one needs to be delayed
126 
127  (((input_rm_type & Moose::RelationshipManagerType::GEOMETRIC) ==
131  !rm_params.template get<bool>("attach_geometric_early"))
132 
133  || // Or is this an Algebraic/Coupling and Geometric one that we already added earlier?
134 
135  (((input_rm_type != Moose::RelationshipManagerType::GEOMETRIC) &&
139  rm_params.template get<bool>("attach_geometric_early"))))
140  return;
141 
142  // If there is a callback for setting the RM parameters let's use it
143  if (rm_input_parameter_func)
144  rm_input_parameter_func(moose_object_pars, rm_params);
145 
146  // If we're doing geometric but we can't build it early - then let's not build it yet
147  // (It will get built when we do algebraic)
148  if ((input_rm_type & Moose::RelationshipManagerType::GEOMETRIC) ==
150  !rm_params.get<bool>("attach_geometric_early"))
151  {
152  // We also need to tell the mesh not to delete remote elements yet
153  // Note this will get reset in AddRelationshipManager::act() when attaching Algebraic
154  _mesh->getMesh().allow_remote_element_removal(false);
155 
156  if (_problem->getDisplacedProblem())
157  _problem->getDisplacedProblem()->mesh().getMesh().allow_remote_element_removal(false);
158 
159  // Keep looking for more RMs
160  return;
161  }
162  // Ok the above block may have told the mesh not to allow remote element removal during the
163  // initial MeshBase::prepare_for_use, which is called after attaching geometric ghosting
164  // functors. If we did tell the mesh not to allow remote element removal **and** we're using a
165  // DistributedMesh, then we need to tell the mesh to allow remote element removal and ensure
166  // that the mesh will delete its remote elements after the EquationSystems init
167  else if (input_rm_type != Moose::RelationshipManagerType::GEOMETRIC &&
170  !rm_params.get<bool>("attach_geometric_early") && _mesh->isDistributedMesh())
171  {
172  _mesh->needsRemoteElemDeletion(true);
173  if (_displaced_mesh)
174  _displaced_mesh->needsRemoteElemDeletion(true);
175  }
176 
177  rm_params.set<MooseMesh *>("mesh") = _mesh.get();
178 
179  if (rm_params.areAllRequiredParamsValid())
180  {
181  auto rm_obj = _factory.create<RelationshipManager>(rm_name, new_name, rm_params);
182 
183  // Delete the resources created on behalf of the RM if it ends up not being added to the App.
184  if (!_app.addRelationshipManager(rm_obj))
186  else // we added it
187  unique_object_id++;
188  }
189  else
190  mooseError("Missing required parameters for RelationshipManager " + rm_name + " for object " +
191  name());
192 }

Referenced by Action::addRelationshipManagers().

◆ addRelationshipManagers() [1/2]

void Action::addRelationshipManagers ( Moose::RelationshipManagerType  when_type)
virtualinherited

Method to add a relationship manager for the objects being added to the system.

Relationship managers have to be added relatively early. In many cases before the Action::act() method is called.

Parameters
when_typeThe parameter indicating the normal time for adding either Geometric or Algebraic RelationshipManagers. It may not always be possible to add your RelationshipManager as early as you'd like. In these cases, your DistributedMesh may consume more memory during the problem setup.

Reimplemented in MooseObjectAction.

Definition at line 194 of file Action.C.

194 {}

◆ addRelationshipManagers() [2/2]

void Action::addRelationshipManagers ( Moose::RelationshipManagerType  when_type,
const InputParameters moose_object_pars 
)
protectedinherited

Method to add a relationship manager for the objects being added to the system.

Relationship managers have to be added relatively early. In many cases before the Action::act() method is called.

Parameters
when_typeThe parameter indicating the normal time for adding either Geometric or Algebraic RelationshipManagers. It may not always be possible to add your RelationshipManager as early as you'd like. In these cases, your DistributedMesh may consume more memory during the problem setup.
moose_object_parsThe MooseObject to inspect for RelationshipManagers to add

Definition at line 197 of file Action.C.

199 {
200  typedef RelationshipManager RM;
201 
202  const auto & buildable_types = moose_object_pars.getBuildableRelationshipManagerTypes();
203 
204  for (const auto & buildable_type : buildable_types)
205  {
206  auto & rm_name = std::get<0>(buildable_type);
207  auto & rm_type = std::get<1>(buildable_type);
208  auto rm_input_parameter_func = std::get<2>(buildable_type);
209 
210  // If we have an algebraic ghosting functor, then we are going to duplicate the
211  // RelationshipManager object. This makes bookkeeping for relationship manager coverage more
212  // straightforward, i.e. when we are deciding whether to add an algebraic relationship manager,
213  // we can easily check whether a given System/DofMap is already covered or not. If we have an
214  // object that is strictly a coupling functor, we will not duplicate it and we will apply it
215  // just to the NonlinearSystem(Base). Duplicating RMs for the DofMaps is also very important for
216  // ensuring that a non-null CouplingMatrix (reflecting coupling in the nonlinear system) doesn't
217  // get applied to the auxiliary system
218 
219  bool is_algebraic = RM::isAlgebraic(rm_type);
220  bool is_coupleable = RM::isCoupling(rm_type);
221 
222  auto sys_type = (is_algebraic || is_coupleable) ? Moose::RMSystemType::NONLINEAR
224 
226  input_rm_type, moose_object_pars, rm_name, rm_type, rm_input_parameter_func, sys_type);
227 
228  if (is_algebraic)
229  {
230  auto duplicate_rm_type = Moose::RelationshipManagerType::ALGEBRAIC;
232  addRelationshipManager(input_rm_type,
233  moose_object_pars,
234  rm_name,
235  duplicate_rm_type,
236  rm_input_parameter_func,
237  sys_type);
238  }
239  }
240 }

Referenced by CouplingFunctorCheckAction::act().

◆ appendTask()

void Action::appendTask ( const std::string &  task)
inlineinherited

Definition at line 146 of file Action.h.

146 { _all_tasks.insert(task); }

◆ getAllTasks()

const std::set<std::string>& Action::getAllTasks ( ) const
inlineinherited

Definition at line 122 of file Action.h.

122 { return _all_tasks; }

Referenced by AddKernelAction::act().

◆ getBaseName()

std::string Action::getBaseName ( ) const
inherited

Deprecated name methods, use name()

Definition at line 251 of file Action.C.

252 {
253  mooseDeprecated("getBaseName() is deprecated.");
254  return MooseUtils::baseName(_name);
255 }

◆ getCheckedPointerParam()

template<typename T >
T Action::getCheckedPointerParam ( const std::string &  name,
const std::string &  error_string = "" 
) const
inlineinherited

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

The template parameter must be a pointer or an error will be thrown.

Definition at line 139 of file Action.h.

140  {
141  return parameters().getCheckedPointerParam<T>(name, error_string);
142  }

◆ getMeshProperty()

template<typename T >
const T & MeshMetaDataInterface::getMeshProperty ( const std::string &  data_name,
const std::string &  prefix 
)
protectedinherited

Method for retrieving a property with the given type and name exists in the mesh meta-data store.

This method will throw an error if the property does not exist.

Definition at line 72 of file MeshMetaDataInterface.h.

74 {
75  std::string full_name = std::string(SYSTEM) + "/" + prefix + "/" + data_name;
76  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, nullptr);
77 
78  // Here we will create the RestartableData even though we may not use this instance.
79  // If it's already in use, the App will return a reference to the existing instance and we'll
80  // return that one instead. We might refactor this to have the app create the RestartableData
81  // at a later date.
82  auto & restartable_data_ref =
83  static_cast<RestartableData<T> &>(registerMetaDataOnApp(full_name, std::move(data_ptr)));
84 
85  return restartable_data_ref.get();
86 }

◆ getParams()

InputParameters MaterialOutputAction::getParams ( const std::string &  type,
const std::string &  property_name,
const std::string &  variable_name,
const MaterialBase material 
)
private

A method for retrieving and partially filling the InputParameters object for an AuxVariable.

Parameters
typeThe type of AuxVariable
property_nameThe property name to associated with that action
variable_nameThe AuxVariable name to create
materialA MaterialBase object containing the property of interest
Returns
An InputParameter object with common properties added.

Definition at line 229 of file MaterialOutputAction.C.

233 {
234  // Append the list of output variables for the current material
235  _material_variable_names.insert(variable_name);
236 
237  // Set the action parameters
239 
240  params.set<MaterialPropertyName>("property") = property_name;
241  params.set<AuxVariableName>("variable") = variable_name;
242  params.set<ExecFlagEnum>("execute_on") = EXEC_TIMESTEP_END;
243 
244  if (material.boundaryRestricted())
245  params.set<std::vector<BoundaryName>>("boundary") = material.boundaryNames();
246  else
247  params.set<std::vector<SubdomainName>>("block") = material.blocks();
248 
249  return params;
250 }

Referenced by materialOutputHelper().

◆ getParamTempl()

template<typename T >
const T & Action::getParamTempl ( 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 254 of file Action.h.

255 {
256  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
257 }

Referenced by MooseApp::getCheckpointDirectories().

◆ getShortName()

std::string Action::getShortName ( ) const
inherited

DEPRECATED METHODS.

Definition at line 244 of file Action.C.

245 {
246  mooseDeprecated("getShortName() is deprecated.");
248 }

◆ hasProperty()

template<typename T >
bool MaterialOutputAction::hasProperty ( const std::string &  property_name)
private

Helper method for testing if the material exists as a block or boundary material.

Template Parameters
TThe property type (e.g., REAL)
Parameters
property_nameThe name of the property to test

Definition at line 110 of file MaterialOutputAction.h.

111 {
112  if (_block_material_data->haveProperty<T>(property_name) ||
113  _boundary_material_data->haveProperty<T>(property_name))
114  return true;
115  else
116  return false;
117 }

◆ isParamValid()

bool Action::isParamValid ( const std::string &  name) const
inlineinherited

◆ materialOutputHelper() [1/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  material_name,
const MaterialBase material,
bool  get_names_only 
)
private

◆ materialOutputHelper() [2/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  material_name,
const MaterialBase material,
bool  get_names_only 
)
private

◆ materialOutputHelper() [3/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  material_name,
const MaterialBase material,
bool  get_names_only 
)
private

◆ materialOutputHelper() [4/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  material_name,
const MaterialBase material,
bool  get_names_only 
)
private

◆ materialOutputHelper() [5/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  material_name,
const MaterialBase material,
bool  get_names_only 
)
private

◆ materialOutputHelper() [6/11]

template<typename T >
std::vector< std::string > MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Template method for creating the necessary objects for the various material property types.

Template Parameters
TThe type of material property that automatic output is being performed
Parameters
property_nameThe name of the material property to output
materialA pointer to the MaterialBase object containing the property of interest
get_names_onlyA bool used to indicate that only the variable names should be returned
Returns
A vector of names that can be used as AuxVariable names

By default this function produces an mooseError, you must create a specialization for any type that you wish to have the automatic output capability. Also, you need to add a test for this type within the act() method.

Definition at line 101 of file MaterialOutputAction.h.

104 {
105  mooseError("Unknown type, you must create a specialization of materialOutputHelper");
106 }

◆ materialOutputHelper() [7/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Definition at line 295 of file MaterialOutputAction.C.

298 {
299  std::vector<std::string> names(LIBMESH_DIM * LIBMESH_DIM);
300 
301  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
302  for (unsigned int j = 0; j < LIBMESH_DIM; ++j)
303  {
304  std::ostringstream oss;
305  oss << property_name << "_" << i << j;
306  names[i * LIBMESH_DIM + j] = oss.str();
307 
308  if (!get_names_only)
309  {
310  auto params = getParams("MaterialRealTensorValueAux", property_name, oss.str(), material);
311  params.set<unsigned int>("row") = i;
312  params.set<unsigned int>("column") = j;
313  _problem->addAuxKernel("MaterialRealTensorValueAux", material.name() + oss.str(), params);
314  }
315  }
316 
317  return names;
318 }

◆ materialOutputHelper() [8/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Definition at line 254 of file MaterialOutputAction.C.

257 {
258  std::vector<std::string> names = {property_name};
259  if (!get_names_only)
260  {
261  auto params = getParams("MaterialRealAux", property_name, property_name, material);
262  _problem->addAuxKernel("MaterialRealAux", material.name() + property_name, params);
263  }
264 
265  return names;
266 }

◆ materialOutputHelper() [9/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Definition at line 270 of file MaterialOutputAction.C.

273 {
274  std::array<char, 3> suffix = {{'x', 'y', 'z'}};
275  std::vector<std::string> names(3);
276  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
277  {
278  std::ostringstream oss;
279  oss << property_name << "_" << suffix[i];
280  names[i] = oss.str();
281 
282  if (!get_names_only)
283  {
284  auto params = getParams("MaterialRealVectorValueAux", property_name, oss.str(), material);
285  params.set<unsigned int>("component") = i;
286  _problem->addAuxKernel("MaterialRealVectorValueAux", material.name() + oss.str(), params);
287  }
288  }
289 
290  return names;
291 }

◆ materialOutputHelper() [10/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Definition at line 322 of file MaterialOutputAction.C.

325 {
326  std::vector<std::string> names(LIBMESH_DIM * LIBMESH_DIM);
327 
328  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
329  for (unsigned int j = 0; j < LIBMESH_DIM; ++j)
330  {
331  std::ostringstream oss;
332  oss << property_name << "_" << i << j;
333  names[i * LIBMESH_DIM + j] = oss.str();
334 
335  if (!get_names_only)
336  {
337  auto params = getParams("MaterialRankTwoTensorAux", property_name, oss.str(), material);
338  params.set<unsigned int>("i") = i;
339  params.set<unsigned int>("j") = j;
340  _problem->addAuxKernel("MaterialRankTwoTensorAux", material.name() + oss.str(), params);
341  }
342  }
343 
344  return names;
345 }

◆ materialOutputHelper() [11/11]

template<>
std::vector<std::string> MaterialOutputAction::materialOutputHelper ( const std::string &  property_name,
const MaterialBase material,
bool  get_names_only 
)
private

Definition at line 349 of file MaterialOutputAction.C.

352 {
353  std::vector<std::string> names(Utility::pow<4>(LIBMESH_DIM));
354 
355  unsigned int counter = 0;
356  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
357  for (unsigned int j = 0; j < LIBMESH_DIM; ++j)
358  for (unsigned int k = 0; k < LIBMESH_DIM; ++k)
359  for (unsigned int l = 0; l < LIBMESH_DIM; ++l)
360  {
361  std::ostringstream oss;
362  oss << property_name << "_" << i << j << k << l;
363  names[counter++] = oss.str();
364 
365  if (!get_names_only)
366  {
367  auto params =
368  getParams("MaterialRankFourTensorAux", property_name, oss.str(), material);
369  params.set<unsigned int>("i") = i;
370  params.set<unsigned int>("j") = j;
371  params.set<unsigned int>("k") = k;
372  params.set<unsigned int>("l") = l;
373  _problem->addAuxKernel(
374  "MaterialRankFourTensorAux", material.name() + oss.str(), params);
375  }
376  }
377 
378  return names;
379 }

◆ name()

const std::string& Action::name ( ) const
inlineinherited

◆ paramError()

template<typename... Args>
void Action::paramError ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 155 of file Action.h.

156  {
157  auto prefix = param + ": ";
158  if (!_pars.inputLocation(param).empty())
159  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
160  mooseError(prefix, args...);
161  }

◆ parameters() [1/2]

InputParameters& Action::parameters ( )
inlineinherited

◆ parameters() [2/2]

const InputParameters& Action::parameters ( ) const
inlineinherited

Definition at line 118 of file Action.h.

118 { return _pars; }

◆ paramInfo()

template<typename... Args>
void Action::paramInfo ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 186 of file Action.h.

187  {
188  auto prefix = param + ": ";
189  if (!_pars.inputLocation(param).empty())
190  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
191  mooseInfo(prefix, args...);
192  }

◆ paramWarning()

template<typename... Args>
void Action::paramWarning ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 170 of file Action.h.

171  {
172  auto prefix = param + ": ";
173  if (!_pars.inputLocation(param).empty())
174  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
175  mooseWarning(prefix, args...);
176  }

◆ registerMetaDataOnApp()

RestartableDataValue & MeshMetaDataInterface::registerMetaDataOnApp ( const std::string &  name,
std::unique_ptr< RestartableDataValue data 
)
privateinherited

Helper function for actually registering the restartable data.

Definition at line 23 of file MeshMetaDataInterface.C.

25 {
26  return _meta_data_app.registerRestartableData(name, std::move(data), 0, true, true);
27 }

Referenced by MeshMetaDataInterface::getMeshProperty().

◆ registerTimedSection()

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
)
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
Returns
The ID of the section - use when starting timing

Definition at line 51 of file PerfGraphInterface.C.

52 {
53  if (_prefix != "")
54  return _perf_graph.registerSection(_prefix + "::" + section_name, level);
55  else
56  return _perf_graph.registerSection(section_name, level);
57 }

◆ specificTaskName()

const std::string& Action::specificTaskName ( ) const
inlineinherited

Definition at line 120 of file Action.h.

120 { return _specific_task_name; }

◆ timedAct()

void Action::timedAct ( )
inherited

The method called externally that causes the action to act()

Definition at line 90 of file Action.C.

91 {
92  TIME_SECTION(_act_timer);
93  act();
94 }

◆ type()

const std::string& Action::type ( ) const
inlineinherited

◆ validParams()

InputParameters MaterialOutputAction::validParams ( )
static

Class constructor.

Parameters
paramsInput parameters for this action object

Definition at line 51 of file MaterialOutputAction.C.

52 {
54  return params;
55 }

Member Data Documentation

◆ _act_timer

PerfID Action::_act_timer
protectedinherited

Timers.

Definition at line 249 of file Action.h.

Referenced by Action::timedAct().

◆ _action_factory

ActionFactory& Action::_action_factory
protectedinherited

◆ _action_type

std::string Action::_action_type
protectedinherited

Definition at line 210 of file Action.h.

Referenced by Action::type().

◆ _all_tasks

std::set<std::string> Action::_all_tasks
protectedinherited

A list of all the tasks that this Action will satisfy.

Note: That this is not populated at construction time. However, all tasks will be added prior to act().

Definition at line 234 of file Action.h.

Referenced by Action::appendTask(), and Action::getAllTasks().

◆ _app

MooseApp& Action::_app
protectedinherited

◆ _awh

ActionWarehouse& Action::_awh
protectedinherited

◆ _block_material_data

std::shared_ptr<MaterialData> MaterialOutputAction::_block_material_data
private

Pointer the MaterialData object storing the block restricted materials.

Definition at line 81 of file MaterialOutputAction.h.

Referenced by act(), and hasProperty().

◆ _block_variable_map

std::map<std::string, std::set<SubdomainID> > MaterialOutputAction::_block_variable_map
private

Map of variable name that contains the blocks to which the variable should be restricted.

Definition at line 87 of file MaterialOutputAction.h.

◆ _boundary_material_data

std::shared_ptr<MaterialData> MaterialOutputAction::_boundary_material_data
private

Pointer the MaterialData object storing the boundary restricted materials.

Definition at line 84 of file MaterialOutputAction.h.

Referenced by act(), and hasProperty().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), SimplePredictor::apply(), MultiApp::backup(), FEProblemBase::backupMultiApps(), ReferenceResidualProblem::checkNonlinearConvergence(), FEProblemBase::checkProblemIntegrity(), CoarsenedPiecewiseLinear::CoarsenedPiecewiseLinear(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), NonlinearSystem::computeScaling(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), Steady::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), 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(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), MultiAppConservativeTransfer::postExecute(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), AutomaticMortarGeneration::projectMasterNodesSinglePair(), AutomaticMortarGeneration::projectSlaveNodesSinglePair(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), PicardSolve::solve(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), PicardSolve::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Transient::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _current_task

const std::string& Action::_current_task
protectedinherited

◆ _displaced_mesh

std::shared_ptr<MooseMesh>& Action::_displaced_mesh
protectedinherited

◆ _factory

Factory& Action::_factory
protectedinherited

◆ _material_variable_names

std::set<std::string> MaterialOutputAction::_material_variable_names
private

List of variables for the current MaterialBase object.

Definition at line 90 of file MaterialOutputAction.h.

Referenced by act(), and getParams().

◆ _material_variable_names_map

std::map<OutputName, std::set<std::string> > MaterialOutputAction::_material_variable_names_map
private

Map of output names and list of variables associated with the output.

Definition at line 93 of file MaterialOutputAction.h.

Referenced by act().

◆ _mesh

std::shared_ptr<MooseMesh>& Action::_mesh
protectedinherited

◆ _meta_data_app

MooseApp& MeshMetaDataInterface::_meta_data_app
privateinherited

Reference to the application.

Definition at line 67 of file MeshMetaDataInterface.h.

Referenced by MeshMetaDataInterface::registerMetaDataOnApp().

◆ _name

std::string Action::_name
protectedinherited

◆ _output_warehouse

OutputWarehouse& MaterialOutputAction::_output_warehouse
private

Reference to the OutputWarehouse.

Definition at line 96 of file MaterialOutputAction.h.

Referenced by act().

◆ _pars

InputParameters Action::_pars
protectedinherited

◆ _perf_graph

PerfGraph& PerfGraphInterface::_perf_graph
protectedinherited

The performance graph to add to.

Definition at line 67 of file PerfGraphInterface.h.

Referenced by PerfGraphData::getValue(), and PerfGraphInterface::registerTimedSection().

◆ _pg_params

const InputParameters* PerfGraphInterface::_pg_params
protectedinherited

Params.

Definition at line 64 of file PerfGraphInterface.h.

◆ _prefix

std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 70 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::registerTimedSection().

◆ _problem

std::shared_ptr<FEProblemBase>& Action::_problem
protectedinherited

Convenience reference to a problem this action works on.

Definition at line 246 of file Action.h.

Referenced by AddBCAction::act(), AddBoundsVectorsAction::act(), AddDGKernelAction::act(), AddInitialConditionAction::act(), AddConstraintAction::act(), AddInterfaceKernelAction::act(), AddVectorPostprocessorAction::act(), AddDiracKernelAction::act(), AddKernelAction::act(), AddICAction::act(), AddMultiAppAction::act(), CopyNodalVarsAction::act(), AddUserObjectAction::act(), AddTransferAction::act(), AddMarkerAction::act(), SetupDampersAction::act(), AddNodalKernelAction::act(), InitProblemAction::act(), AddDamperAction::act(), SetAdaptivityOptionsAction::act(), CreateExecutionerAction::act(), CheckIntegrityAction::act(), AddScalarKernelAction::act(), AddIndicatorAction::act(), AddPostprocessorAction::act(), AddMaterialAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), AddFieldSplitAction::act(), SetupDebugAction::act(), AdaptivityAction::act(), SetupTimeStepperAction::act(), SetupPredictorAction::act(), AddDistributionAction::act(), AddFunctionAction::act(), SetupPreconditionerAction::act(), SetupTimeIntegratorAction::act(), SetupResidualDebugAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), CouplingFunctorCheckAction::act(), SetupQuadratureAction::act(), AddSamplerAction::act(), DisplayGhostingAction::act(), AddOutputAction::act(), AddExternalAuxVariableAction::act(), AddPeriodicBCAction::act(), act(), AddControlAction::act(), SetupPostprocessorDataAction::act(), AddNodalNormalsAction::act(), Action::addRelationshipManager(), AddVariableAction::addVariable(), AddPeriodicBCAction::autoTranslationBoundaries(), CheckOutputAction::checkMaterialOutput(), CheckOutputAction::checkVariableOutput(), AddVariableAction::getSubdomainIDs(), materialOutputHelper(), and AddPeriodicBCAction::setPeriodicVars().

◆ _registered_identifier

std::string Action::_registered_identifier
protectedinherited

Definition at line 204 of file Action.h.

Referenced by SetupMeshAction::act().

◆ _specific_task_name

std::string Action::_specific_task_name
protectedinherited

This member will only be populated if this Action instance is only designed to handle one task.

This happens when an Action is registered with several pieces of syntax in which case separate instances are built to handle the different incoming parameter values.

Definition at line 227 of file Action.h.

Referenced by Action::specificTaskName().

◆ FILE_SUFFIX

constexpr auto MeshMetaDataInterface::FILE_SUFFIX = "_mesh"
staticconstexprinherited

The suffix appended when writing the restartable data file.

Definition at line 32 of file MeshMetaDataInterface.h.

Referenced by SetupRecoverFileBaseAction::act(), and Checkpoint::output().

◆ NAME

constexpr auto MeshMetaDataInterface::NAME = "<empty>"
staticconstexprinherited

The data name used when initializing the Restartable interface for non-MeshGenerator objects.

Definition at line 38 of file MeshMetaDataInterface.h.

◆ SYSTEM

constexpr auto MeshMetaDataInterface::SYSTEM = "MeshMetaData"
staticconstexprinherited

The system name used when initializing the Restartable interface.

Definition at line 35 of file MeshMetaDataInterface.h.

Referenced by MeshGenerator::declareMeshProperty(), and MeshMetaDataInterface::getMeshProperty().


The documentation for this class was generated from the following files:
InputParameters::getParamHelper
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
Definition: InputParameters.h:1517
MaterialOutputAction::getParams
InputParameters getParams(const std::string &type, const std::string &property_name, const std::string &variable_name, const MaterialBase &material)
A method for retrieving and partially filling the InputParameters object for an AuxVariable.
Definition: MaterialOutputAction.C:229
Action::_app
MooseApp & _app
The MOOSE application this is associated with.
Definition: Action.h:213
Factory::create
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, InputParameters &parameters, THREAD_ID tid=0, bool print_deprecated=true)
Build an object (must be registered) - THIS METHOD IS DEPRECATED (Use create<T>())
Definition: Factory.C:93
Factory::getValidParams
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
Definition: Factory.C:67
OutputWarehouse::addInterfaceHideVariables
void addInterfaceHideVariables(const std::string &output_name, const std::set< std::string > &variable_names)
Insert variable names for hiding via the OutoutInterface.
Definition: OutputWarehouse.C:274
PerfGraphInterface::_perf_graph
PerfGraph & _perf_graph
The performance graph to add to.
Definition: PerfGraphInterface.h:67
InputParameters::getBuildableRelationshipManagerTypes
const std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > & getBuildableRelationshipManagerTypes() const
Returns the list of buildable (or required) RelationshipManager object types for this object.
Definition: InputParameters.C:361
MooseApp::getOutputWarehouse
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:1122
Action::_current_task
const std::string & _current_task
The current action (even though we have seperate instances for each action)
Definition: Action.h:240
Moose::RelationshipManagerType::GEOMETRIC
MaterialOutputAction::_output_warehouse
OutputWarehouse & _output_warehouse
Reference to the OutputWarehouse.
Definition: MaterialOutputAction.h:96
MooseEnum
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:31
PerfGraph::registerSection
PerfID registerSection(const std::string &section_name, unsigned int level)
Registers a named section of code.
Definition: PerfGraph.C:45
MaterialOutputAction::_material_variable_names
std::set< std::string > _material_variable_names
List of variables for the current MaterialBase object.
Definition: MaterialOutputAction.h:90
Action::name
const std::string & name() const
The name of the action.
Definition: Action.h:105
Action::_all_tasks
std::set< std::string > _all_tasks
A list of all the tasks that this Action will satisfy.
Definition: Action.h:234
MeshMetaDataInterface::_meta_data_app
MooseApp & _meta_data_app
Reference to the application.
Definition: MeshMetaDataInterface.h:67
MeshMetaDataInterface::registerMetaDataOnApp
RestartableDataValue & registerMetaDataOnApp(const std::string &name, std::unique_ptr< RestartableDataValue > data)
Helper function for actually registering the restartable data.
Definition: MeshMetaDataInterface.C:23
Action::_problem
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:246
InputParameters::paramFullpath
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.
Definition: InputParameters.h:785
Moose::RelationshipManagerType::ALGEBRAIC
AddOutputAction
Action for creating output objects.
Definition: AddOutputAction.h:24
Moose::stringify
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:61
ActionWarehouse::getActionListByName
const std::list< Action * > & getActionListByName(const std::string &task) const
Retrieve a constant list of Action pointers associated with the passed in task.
Definition: ActionWarehouse.C:188
mooseInfo
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:255
Action::act
virtual void act()=0
Method to add objects to the simulation or perform other setup tasks.
mooseError
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition: MooseError.h:210
Moose::RMSystemType
RMSystemType
Definition: MooseTypes.h:860
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
Moose::BOUNDARY_MATERIAL_DATA
Definition: MooseTypes.h:586
InputParameters::set
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
Definition: InputParameters.h:987
InputParameters::inputLocation
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i....
Definition: InputParameters.h:773
mooseWarning
void mooseWarning(Args &&... args)
Emit a warning message with the given stringified, concatenated args.
Definition: MooseError.h:222
MaterialOutputAction::_material_variable_names_map
std::map< OutputName, std::set< std::string > > _material_variable_names_map
Map of output names and list of variables associated with the output.
Definition: MaterialOutputAction.h:93
MeshMetaDataInterface::SYSTEM
static constexpr auto SYSTEM
The system name used when initializing the Restartable interface.
Definition: MeshMetaDataInterface.h:35
PerfGraphInterface::_prefix
std::string _prefix
A prefix to use for all sections.
Definition: PerfGraphInterface.h:70
Action::_factory
Factory & _factory
The Factory associated with the MooseApp.
Definition: Action.h:216
MaterialOutputAction::act
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
Definition: MaterialOutputAction.C:63
MooseUtils::shortName
std::string shortName(const std::string &name)
Function for stripping name after the file / in parser block.
Definition: MooseUtils.C:375
InputParameters::isParamValid
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another,...
Definition: InputParameters.C:257
Moose::RelationshipManagerType
RelationshipManagerType
Main types of Relationship Managers.
Definition: MooseTypes.h:852
Action::_name
std::string _name
The name of the action.
Definition: Action.h:207
Action::_action_type
std::string _action_type
Definition: Action.h:210
MaterialOutputAction::_block_material_data
std::shared_ptr< MaterialData > _block_material_data
Pointer the MaterialData object storing the block restricted materials.
Definition: MaterialOutputAction.h:81
mooseDeprecated
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:239
MooseApp::registerRestartableData
RestartableDataValue & registerRestartableData(const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool mesh_meta_data, bool read_only)
Definition: MooseApp.C:1156
Action::type
const std::string & type() const
Definition: Action.h:115
Action::Action
Action(InputParameters parameters)
Definition: Action.C:51
Action::_pars
InputParameters _pars
Input parameters for the action.
Definition: Action.h:201
EXEC_TIMESTEP_END
const ExecFlagType EXEC_TIMESTEP_END
MooseApp::actionWarehouse
ActionWarehouse & actionWarehouse()
Return a writable reference to the ActionWarehouse associated with this app.
Definition: MooseApp.h:153
Action::addRelationshipManager
void addRelationshipManager(Moose::RelationshipManagerType input_rm_type, const InputParameters &moose_object_pars, std::string rm_name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback rm_input_parameter_func, Moose::RMSystemType sys_type)
Method for adding a single relationship manager.
Definition: Action.C:97
MooseUtils::baseName
std::string baseName(const std::string &name)
Function for string the information before the final / in a parser block.
Definition: MooseUtils.C:381
RelationshipManager
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
Definition: RelationshipManager.h:31
MooseObjectAction::getObjectParams
InputParameters & getObjectParams()
Retreive the parameters of the object to be created by this action.
Definition: MooseObjectAction.h:34
Action::_displaced_mesh
std::shared_ptr< MooseMesh > & _displaced_mesh
Definition: Action.h:243
MaterialOutputAction::_boundary_material_data
std::shared_ptr< MaterialData > _boundary_material_data
Pointer the MaterialData object storing the boundary restricted materials.
Definition: MaterialOutputAction.h:84
InputParameters::getCheckedPointerParam
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller.
Definition: InputParameters.h:1162
MooseApp::addRelationshipManager
bool addRelationshipManager(std::shared_ptr< RelationshipManager > relationship_manager)
Transfers ownership of a RelationshipManager to the application for lifetime management.
Definition: MooseApp.C:1860
Moose::NONE
Definition: MooseTypes.h:864
MooseMesh
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
BlockRestrictable::blocks
const std::vector< SubdomainName > & blocks() const
Return the block names for this object.
Definition: BlockRestrictable.C:168
Action::_mesh
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:242
Action::validParams
static InputParameters validParams()
Definition: Action.C:23
Action::_specific_task_name
std::string _specific_task_name
This member will only be populated if this Action instance is only designed to handle one task.
Definition: Action.h:227
BoundaryRestrictable::boundaryRestricted
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
Definition: BoundaryRestrictable.C:188
Action::parameters
InputParameters & parameters()
Definition: Action.h:117
ExecFlagEnum
A MultiMooseEnum object to hold "execute_on" flags.
Definition: ExecFlagEnum.h:24
RestartableData
Concrete definition of a parameter value for a specified type.
Definition: RestartableData.h:76
Factory::releaseSharedObjects
void releaseSharedObjects(const MooseObject &moose_object, THREAD_ID tid=0)
Releases any shared resources created as a side effect of creating an object through the Factory::cre...
Definition: Factory.C:172
ActionWarehouse::hasActions
bool hasActions(const std::string &task) const
Check if Actions associated with passed in task exist.
Definition: ActionWarehouse.C:198
Action::_act_timer
PerfID _act_timer
Timers.
Definition: Action.h:249
MooseObject::name
virtual const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:70
Moose::AUXILIARY
Definition: MooseTypes.h:863
RestartableData::get
T & get()
Definition: RestartableData.h:92
Moose::BLOCK_MATERIAL_DATA
Definition: MooseTypes.h:585
Moose::NONLINEAR
Definition: MooseTypes.h:862
BoundaryRestrictable::boundaryNames
const std::vector< BoundaryName > & boundaryNames() const
Return the boundary names for this object.
Definition: BoundaryRestrictable.C:176