Creates AuxVariables and AuxKernels for automatic output of material properties.
More...
#include <MaterialOutputAction.h>
|
| 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 |
|
InputParameters & | parameters () |
|
const InputParameters & | parameters () const |
|
const std::string & | specificTaskName () const |
|
const std::set< std::string > & | getAllTasks () const |
|
template<typename T > |
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 ¶m, 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 ¶m, 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 ¶m, 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 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...
|
|
|
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...
|
|
RestartableDataValue & | registerMetaDataOnApp (const std::string &name, std::unique_ptr< RestartableDataValue > data) |
| Helper function for actually registering the restartable data. More...
|
|
Creates AuxVariables and AuxKernels for automatic output of material properties.
Definition at line 27 of file MaterialOutputAction.h.
◆ MaterialOutputAction()
◆ 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.
66 "FEProblemBase pointer is nullptr, it is needed for auto material property output");
72 bool get_names_only =
_current_task ==
"add_output_aux_variables" ? true :
false;
80 const auto & material_ptrs =
_problem->getMaterialWarehouse().getObjects();
87 bool outputs_has_properties =
false;
88 std::set<std::string> output_object_properties;
91 for (
const auto &
act : output_actions)
101 if (params.
isParamValid(
"output_material_properties") &&
102 params.get<
bool>(
"output_material_properties"))
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());
112 std::set<std::string> material_names;
113 for (
const auto & mat : material_ptrs)
116 std::set<OutputName> outputs = mat->getOutputs();
119 std::vector<std::string> output_properties =
120 mat->getParamTempl<std::vector<std::string>>(
"output_properties");
123 if (outputs_has_properties)
124 output_properties.insert(output_properties.end(),
125 output_object_properties.begin(),
126 output_object_properties.end());
138 if (outputs_has_properties || outputs.find(
"none") == outputs.end())
143 const std::set<std::string> names = mat->getSuppliedItems();
144 std::vector<std::string> curr_material_names;
145 for (
const auto &
name : names)
148 if (output_properties.empty() ||
149 std::find(output_properties.begin(), output_properties.end(),
name) !=
150 output_properties.end())
152 if (hasProperty<Real>(
name))
154 curr_material_names = materialOutputHelper<Real>(
name, *mat, get_names_only);
155 material_names.insert(curr_material_names.begin(), curr_material_names.end());
158 else if (hasProperty<RealVectorValue>(
name))
160 curr_material_names = materialOutputHelper<RealVectorValue>(
name, *mat, get_names_only);
161 material_names.insert(curr_material_names.begin(), curr_material_names.end());
164 else if (hasProperty<RealTensorValue>(
name))
166 curr_material_names = materialOutputHelper<RealTensorValue>(
name, *mat, get_names_only);
167 material_names.insert(curr_material_names.begin(), curr_material_names.end());
170 else if (hasProperty<RankTwoTensor>(
name))
172 curr_material_names = materialOutputHelper<RankTwoTensor>(
name, *mat, get_names_only);
173 material_names.insert(curr_material_names.begin(), curr_material_names.end());
176 else if (hasProperty<RankFourTensor>(
name))
178 curr_material_names = materialOutputHelper<RankFourTensor>(
name, *mat, get_names_only);
179 material_names.insert(curr_material_names.begin(), curr_material_names.end());
185 "' is not supported for automatic output.");
190 if (!outputs.empty())
191 for (
const auto & output_name : outputs)
206 for (
const auto & var_name : material_names)
207 _problem->addAuxVariable(
"MooseVariableConstMonomial", var_name, params);
216 std::set<std::string> hide;
217 std::set_difference(material_names.begin(),
218 material_names.end(),
221 std::inserter(hide, hide.begin()));
◆ addRelationshipManager()
Method for adding a single relationship manager.
- Parameters
-
input_rm_type | What relationship manager type we are currently adding |
moose_object_pars | The parameters of the MooseObject that requested the RM |
rm_name | The class type of the RM, e.g. ElementSideNeighborLayers |
rm_type | The RelationshipManagerType, e.g. geometric, algebraic, coupling |
rm_input_parameter_func | The RM callback function, typically a lambda defined in the requesting MooseObject's validParams function |
sys_type | A 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.
106 static unsigned int unique_object_id = 0;
108 auto new_name = moose_object_pars.get<std::string>(
"_moose_base") +
'_' +
name() +
'_' + rm_name +
115 auto for_whom =
name();
120 rm_params.set<std::string>(
"for_whom") = for_whom;
123 if (((rm_type & input_rm_type) != input_rm_type)
131 !rm_params.template get<bool>(
"attach_geometric_early"))
139 rm_params.template get<bool>(
"attach_geometric_early"))))
143 if (rm_input_parameter_func)
144 rm_input_parameter_func(moose_object_pars, rm_params);
150 !rm_params.get<
bool>(
"attach_geometric_early"))
154 _mesh->getMesh().allow_remote_element_removal(
false);
156 if (
_problem->getDisplacedProblem())
157 _problem->getDisplacedProblem()->mesh().getMesh().allow_remote_element_removal(
false);
170 !rm_params.get<
bool>(
"attach_geometric_early") &&
_mesh->isDistributedMesh())
172 _mesh->needsRemoteElemDeletion(
true);
179 if (rm_params.areAllRequiredParamsValid())
190 mooseError(
"Missing required parameters for RelationshipManager " + rm_name +
" for object " +
Referenced by Action::addRelationshipManagers().
◆ addRelationshipManagers() [1/2]
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_type | The 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.
◆ addRelationshipManagers() [2/2]
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_type | The 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_pars | The MooseObject to inspect for RelationshipManagers to add |
Definition at line 197 of file Action.C.
204 for (
const auto & buildable_type : buildable_types)
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);
219 bool is_algebraic = RM::isAlgebraic(rm_type);
220 bool is_coupleable = RM::isCoupling(rm_type);
226 input_rm_type, moose_object_pars, rm_name, rm_type, rm_input_parameter_func, sys_type);
236 rm_input_parameter_func,
Referenced by CouplingFunctorCheckAction::act().
◆ appendTask()
void Action::appendTask |
( |
const std::string & |
task | ) |
|
|
inlineinherited |
◆ getAllTasks()
const std::set<std::string>& Action::getAllTasks |
( |
| ) |
const |
|
inlineinherited |
◆ getBaseName()
std::string Action::getBaseName |
( |
| ) |
const |
|
inherited |
◆ 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.
◆ 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.
75 std::string full_name = std::string(
SYSTEM) +
"/" + prefix +
"/" + data_name;
76 auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name,
nullptr);
82 auto & restartable_data_ref =
85 return restartable_data_ref.
get();
◆ 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
-
type | The type of AuxVariable |
property_name | The property name to associated with that action |
variable_name | The AuxVariable name to create |
material | A MaterialBase object containing the property of interest |
- Returns
- An InputParameter object with common properties added.
Definition at line 229 of file MaterialOutputAction.C.
240 params.
set<MaterialPropertyName>(
"property") = property_name;
241 params.
set<AuxVariableName>(
"variable") = variable_name;
245 params.
set<std::vector<BoundaryName>>(
"boundary") = material.
boundaryNames();
247 params.
set<std::vector<SubdomainName>>(
"block") = material.
blocks();
Referenced by materialOutputHelper().
◆ getParamTempl()
template<typename T >
const T & Action::getParamTempl |
( |
const std::string & |
name | ) |
const |
|
inherited |
◆ getShortName()
std::string Action::getShortName |
( |
| ) |
const |
|
inherited |
DEPRECATED METHODS.
Definition at line 244 of file Action.C.
◆ 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
-
T | The property type (e.g., REAL) |
- Parameters
-
property_name | The name of the property to test |
Definition at line 110 of file MaterialOutputAction.h.
◆ 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
-
T | The type of material property that automatic output is being performed |
- Parameters
-
property_name | The name of the material property to output |
material | A pointer to the MaterialBase object containing the property of interest |
get_names_only | A 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.
105 mooseError(
"Unknown type, you must create a specialization of materialOutputHelper");
◆ 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.
299 std::vector<std::string> names(LIBMESH_DIM * LIBMESH_DIM);
301 for (
unsigned int i = 0; i < LIBMESH_DIM; ++i)
302 for (
unsigned int j = 0; j < LIBMESH_DIM; ++j)
304 std::ostringstream oss;
305 oss << property_name <<
"_" << i << j;
306 names[i * LIBMESH_DIM + j] = oss.str();
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);
◆ 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.
258 std::vector<std::string> names = {property_name};
261 auto params =
getParams(
"MaterialRealAux", property_name, property_name, material);
262 _problem->addAuxKernel(
"MaterialRealAux", material.
name() + property_name, params);
◆ 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.
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)
278 std::ostringstream oss;
279 oss << property_name <<
"_" << suffix[i];
280 names[i] = oss.str();
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);
◆ 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.
326 std::vector<std::string> names(LIBMESH_DIM * LIBMESH_DIM);
328 for (
unsigned int i = 0; i < LIBMESH_DIM; ++i)
329 for (
unsigned int j = 0; j < LIBMESH_DIM; ++j)
331 std::ostringstream oss;
332 oss << property_name <<
"_" << i << j;
333 names[i * LIBMESH_DIM + j] = oss.str();
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);
◆ 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.
353 std::vector<std::string> names(Utility::pow<4>(LIBMESH_DIM));
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)
361 std::ostringstream oss;
362 oss << property_name <<
"_" << i << j << k << l;
363 names[counter++] = oss.str();
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;
374 "MaterialRankFourTensorAux", material.
name() + oss.str(), params);
◆ name()
const std::string& Action::name |
( |
| ) |
const |
|
inlineinherited |
The name of the action.
Definition at line 105 of file Action.h.
Referenced by AddElementalFieldAction::act(), CopyNodalVarsAction::act(), AdaptivityAction::act(), DeprecatedBlockAction::act(), DisplayGhostingAction::act(), AddVariableAction::act(), AddPeriodicBCAction::act(), act(), Action::addRelationshipManager(), AddVariableAction::createInitialConditionAction(), Action::getCheckedPointerParam(), Action::getParamTempl(), Action::isParamValid(), GlobalParamsAction::remove(), GlobalParamsAction::setDoubleIndexParam(), GlobalParamsAction::setScalarParam(), and GlobalParamsAction::setVectorParam().
◆ 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.
157 auto prefix = param +
": ";
◆ parameters() [1/2]
◆ parameters() [2/2]
◆ 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.
188 auto prefix = param +
": ";
◆ 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.
172 auto prefix = param +
": ";
◆ registerMetaDataOnApp()
◆ registerTimedSection()
PerfID PerfGraphInterface::registerTimedSection |
( |
const std::string & |
section_name, |
|
|
const unsigned int |
level |
|
) |
| |
|
protectedinherited |
Call to register a named section for timing.
- Parameters
-
section_name | The name of the code section to be timed |
level | The 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.
◆ specificTaskName()
const std::string& Action::specificTaskName |
( |
| ) |
const |
|
inlineinherited |
◆ timedAct()
void Action::timedAct |
( |
| ) |
|
|
inherited |
The method called externally that causes the action to act()
Definition at line 90 of file Action.C.
◆ type()
const std::string& Action::type |
( |
| ) |
const |
|
inlineinherited |
◆ validParams()
Class constructor.
- Parameters
-
params | Input parameters for this action object |
Definition at line 51 of file MaterialOutputAction.C.
◆ _act_timer
◆ _action_factory
◆ _action_type
std::string Action::_action_type |
|
protectedinherited |
◆ _all_tasks
std::set<std::string> Action::_all_tasks |
|
protectedinherited |
◆ _app
The MOOSE application this is associated with.
Definition at line 213 of file Action.h.
Referenced by CheckIntegrityAction::act(), CreateExecutionerAction::act(), ExecuteMeshGenerators::act(), CopyNodalVarsAction::act(), SetAdaptivityOptionsAction::act(), AddMeshModifierAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), AddMeshGeneratorAction::act(), SplitMeshAction::act(), MeshOnlyAction::act(), SetupMeshAction::act(), AdaptivityAction::act(), SetupMeshCompleteAction::act(), SetupTimeStepperAction::act(), SetupPredictorAction::act(), CouplingFunctorCheckAction::act(), AddRelationshipManager::act(), DisplayGhostingAction::act(), SetupRecoverFileBaseAction::act(), AddPeriodicBCAction::act(), act(), CommonOutputAction::act(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), CheckOutputAction::checkConsoleOutput(), CheckOutputAction::checkMaterialOutput(), CheckOutputAction::checkPerfLogOutput(), CheckOutputAction::checkVariableOutput(), SetupMeshCompleteAction::completeSetup(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), SetupMeshAction::modifyParamsForUseSplit(), and SetupMeshAction::setupMesh().
◆ _awh
Reference to ActionWarehouse where we store object build by actions.
Definition at line 237 of file Action.h.
Referenced by CheckIntegrityAction::act(), SetupDampersAction::act(), CreateExecutionerAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), AddRelationshipManager::act(), CommonOutputAction::create(), AddVariableAction::createInitialConditionAction(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), CommonOutputAction::hasConsole(), CreateExecutionerAction::setupAutoPreconditioning(), and SetupDebugAction::SetupDebugAction().
◆ _block_material_data
std::shared_ptr<MaterialData> MaterialOutputAction::_block_material_data |
|
private |
◆ _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 |
◆ _console
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 |
The current action (even though we have seperate instances for each action)
Definition at line 240 of file Action.h.
Referenced by AddDGKernelAction::act(), AddKernelAction::act(), AddScalarKernelAction::act(), SetAdaptivityOptionsAction::act(), CheckIntegrityAction::act(), CopyNodalVarsAction::act(), AddInterfaceKernelAction::act(), CreateProblemDefaultAction::act(), SetupMeshCompleteAction::act(), AdaptivityAction::act(), SetupMeshAction::act(), CreateDisplacedProblemAction::act(), AddRelationshipManager::act(), MaterialDerivativeTestAction::act(), DisplayGhostingAction::act(), AddOutputAction::act(), SetupRecoverFileBaseAction::act(), AddPeriodicBCAction::act(), act(), and AddNodalNormalsAction::act().
◆ _displaced_mesh
std::shared_ptr<MooseMesh>& Action::_displaced_mesh |
|
protectedinherited |
◆ _factory
The Factory associated with the MooseApp.
Definition at line 216 of file Action.h.
Referenced by CreateExecutionerAction::act(), PartitionerAction::act(), SetAdaptivityOptionsAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), AdaptivityAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), SetupPredictorAction::act(), SetupPreconditionerAction::act(), SetupTimeStepperAction::act(), SetupResidualDebugAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), DisplayGhostingAction::act(), AddPeriodicBCAction::act(), act(), AddControlAction::act(), AddNodalNormalsAction::act(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), and getParams().
◆ _material_variable_names
std::set<std::string> MaterialOutputAction::_material_variable_names |
|
private |
◆ _material_variable_names_map
std::map<OutputName, std::set<std::string> > MaterialOutputAction::_material_variable_names_map |
|
private |
◆ _mesh
Definition at line 242 of file Action.h.
Referenced by PartitionerAction::act(), SetAdaptivityOptionsAction::act(), AddMeshGeneratorAction::act(), AddMeshModifierAction::act(), CreateProblemDefaultAction::act(), CreateProblemAction::act(), SetupMeshCompleteAction::act(), AdaptivityAction::act(), SetupMeshAction::act(), CreateDisplacedProblemAction::act(), AddPeriodicBCAction::act(), and Action::addRelationshipManager().
◆ _meta_data_app
MooseApp& MeshMetaDataInterface::_meta_data_app |
|
privateinherited |
◆ _name
std::string Action::_name |
|
protectedinherited |
The name of the action.
Definition at line 207 of file Action.h.
Referenced by AddBCAction::act(), AddConstraintAction::act(), AddTransferAction::act(), AddIndicatorAction::act(), AddDGKernelAction::act(), AddUserObjectAction::act(), AddPostprocessorAction::act(), AddMarkerAction::act(), AddNodalKernelAction::act(), AddDamperAction::act(), AddScalarKernelAction::act(), PartitionerAction::act(), AddDiracKernelAction::act(), AddVectorPostprocessorAction::act(), AddMaterialAction::act(), AddKernelAction::act(), AddInterfaceKernelAction::act(), AddInitialConditionAction::act(), AddMultiAppAction::act(), AddMeshGeneratorAction::act(), AddFieldSplitAction::act(), AddMeshModifierAction::act(), SetupTimeIntegratorAction::act(), SetupPreconditionerAction::act(), AddDistributionAction::act(), AddFunctionAction::act(), AddSamplerAction::act(), AddOutputAction::act(), AddPeriodicBCAction::act(), AddControlAction::act(), SetupPostprocessorDataAction::act(), AddVariableAction::addVariable(), CouplingFunctorCheckAction::CouplingFunctorCheckAction(), Action::getBaseName(), Action::getShortName(), and Action::name().
◆ _output_warehouse
◆ _pars
Input parameters for the action.
Definition at line 201 of file Action.h.
Referenced by AddICAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), Action::getParamTempl(), AddVariableAction::init(), Action::isParamValid(), Action::paramError(), Action::parameters(), Action::paramInfo(), Action::paramWarning(), and SetupMeshAction::setupMesh().
◆ _perf_graph
◆ _pg_params
◆ _prefix
std::string PerfGraphInterface::_prefix |
|
protectedinherited |
◆ _problem
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 |
◆ _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 |
◆ NAME
constexpr auto MeshMetaDataInterface::NAME = "<empty>" |
|
staticconstexprinherited |
◆ SYSTEM
constexpr auto MeshMetaDataInterface::SYSTEM = "MeshMetaData" |
|
staticconstexprinherited |
The documentation for this class was generated from the following files:
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.
MooseApp & _app
The MOOSE application this is associated with.
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, InputParameters ¶meters, THREAD_ID tid=0, bool print_deprecated=true)
Build an object (must be registered) - THIS METHOD IS DEPRECATED (Use create<T>())
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
void addInterfaceHideVariables(const std::string &output_name, const std::set< std::string > &variable_names)
Insert variable names for hiding via the OutoutInterface.
PerfGraph & _perf_graph
The performance graph to add to.
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
const std::string & _current_task
The current action (even though we have seperate instances for each action)
OutputWarehouse & _output_warehouse
Reference to the OutputWarehouse.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
PerfID registerSection(const std::string §ion_name, unsigned int level)
Registers a named section of code.
std::set< std::string > _material_variable_names
List of variables for the current MaterialBase object.
const std::string & name() const
The name of the action.
std::set< std::string > _all_tasks
A list of all the tasks that this Action will satisfy.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Action for creating output objects.
std::string stringify(const T &t)
conversion to string
const std::list< Action * > & getActionListByName(const std::string &task) const
Retrieve a constant list of Action pointers associated with the passed in task.
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
virtual void act()=0
Method to add objects to the simulation or perform other setup tasks.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
void mooseWarning(Args &&... args)
Emit a warning message with the given stringified, concatenated args.
std::map< OutputName, std::set< std::string > > _material_variable_names_map
Map of output names and list of variables associated with the output.
std::string _prefix
A prefix to use for all sections.
Factory & _factory
The Factory associated with the MooseApp.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
std::string shortName(const std::string &name)
Function for stripping name after the file / in parser block.
RelationshipManagerType
Main types of Relationship Managers.
std::string _name
The name of the action.
std::shared_ptr< MaterialData > _block_material_data
Pointer the MaterialData object storing the block restricted materials.
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
RestartableDataValue & registerRestartableData(const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool mesh_meta_data, bool read_only)
const std::string & type() const
Action(InputParameters parameters)
InputParameters _pars
Input parameters for the action.
const ExecFlagType EXEC_TIMESTEP_END
ActionWarehouse & actionWarehouse()
Return a writable reference to the ActionWarehouse associated with this app.
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.
std::string baseName(const std::string &name)
Function for string the information before the final / in a parser block.
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
InputParameters & getObjectParams()
Retreive the parameters of the object to be created by this action.
std::shared_ptr< MooseMesh > & _displaced_mesh
std::shared_ptr< MaterialData > _boundary_material_data
Pointer the MaterialData object storing the boundary restricted materials.
bool addRelationshipManager(std::shared_ptr< RelationshipManager > relationship_manager)
Transfers ownership of a RelationshipManager to the application for lifetime management.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
const std::vector< SubdomainName > & blocks() const
Return the block names for this object.
std::shared_ptr< MooseMesh > & _mesh
static InputParameters validParams()
std::string _specific_task_name
This member will only be populated if this Action instance is only designed to handle one task.
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
InputParameters & parameters()
A MultiMooseEnum object to hold "execute_on" flags.
Concrete definition of a parameter value for a specified type.
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...
bool hasActions(const std::string &task) const
Check if Actions associated with passed in task exist.
virtual const std::string & name() const
Get the name of the object.
const std::vector< BoundaryName > & boundaryNames() const
Return the boundary names for this object.