Action to automatically ensure that PorousFlowMaterials are correctly evaluated at either the qps, nodes, or both. More...
#include <PorousFlowAddMaterialAction.h>
Public Types | |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
PorousFlowAddMaterialAction (const InputParameters ¶ms) | |
virtual void | act () override |
void | timedAct () |
virtual void | addRelationshipManagers (Moose::RelationshipManagerType when_type) |
MooseObjectName | uniqueActionName () const |
const std::string & | specificTaskName () const |
const std::set< std::string > & | getAllTasks () const |
void | appendTask (const std::string &task) |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
PerfGraph & | perfGraph () |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Member Functions | |
void | createDependencyList () |
Creates a set of all actions, kernels, etc to check material dependency against in order to determine whether to add nodal and/or qp materials. More... | |
bool | isPFMaterialRequired (std::string pf_material_type, bool at_nodes) |
Check to see if the material with a given at_nodes parameter is required. More... | |
bool | isPFMaterialPresent (AddMaterialAction *material, bool at_nodes) |
Check to see if the material with a given at_nodes parameter has already been included in the input file (to void duplicate material property errors) More... | |
void | addPFMaterial (AddMaterialAction *material, bool at_nodes) |
Adds the material for the given at_nodes parameter. More... | |
bool | addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars) |
void | associateWithParameter (const std::string ¶m_name, InputParameters ¶ms) const |
void | associateWithParameter (const InputParameters &from_params, const std::string ¶m_name, InputParameters ¶ms) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
std::string | _dictator_name |
Name of the PorousFlowDictator. More... | |
std::set< std::string > | _dependency_list |
List of kernels, actions etc that may depend on PorousFlow materials. More... | |
std::vector< AddMaterialAction * > | _ama_materials |
List of all materials added in the input file by AddMaterialAction. More... | |
std::string | _registered_identifier |
std::string | _specific_task_name |
std::set< std::string > | _all_tasks |
ActionWarehouse & | _awh |
const std::string & | _current_task |
std::shared_ptr< MooseMesh > & | _mesh |
std::shared_ptr< MooseMesh > & | _displaced_mesh |
std::shared_ptr< FEProblemBase > & | _problem |
PerfID | _act_timer |
MooseApp & | _app |
const std::string | _type |
const std::string | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
MooseApp & | _pg_moose_app |
const std::string | _prefix |
const Parallel::Communicator & | _communicator |
DependencyResolver< std::string > | _deps |
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies. More... | |
Action to automatically ensure that PorousFlowMaterials are correctly evaluated at either the qps, nodes, or both.
This action works by checking all materials added in the input file. If a material is a valid PorousFlowMaterial, then it does one of the following: 1) If the at_nodes parameter has been set by the user, then it leaves that material alone (this assumes that the user has correctly added that material). 2) If the at_nodes parameter has not been set by the user, then the action checks to see if this material is required at the qps, nodes or both, and makes sure that the correct versions are added. 3) If a PorousFlowJoiner material is included in the input file, it does nothing (as the PorousFlowAddMaterialJoiner action will check for these and give a message that these materials are no longer required in the input file)
Definition at line 32 of file PorousFlowAddMaterialAction.h.
PorousFlowAddMaterialAction::PorousFlowAddMaterialAction | ( | const InputParameters & | params | ) |
Definition at line 35 of file PorousFlowAddMaterialAction.C.
|
overridevirtual |
Implements Action.
Definition at line 41 of file PorousFlowAddMaterialAction.C.
|
protected |
Adds the material for the given at_nodes parameter.
material | pointer to the material in the action warehouse |
at_nodes | true if material is evaluates at the nodes, false otherwise |
Definition at line 210 of file PorousFlowAddMaterialAction.C.
Referenced by act().
|
protected |
Creates a set of all actions, kernels, etc to check material dependency against in order to determine whether to add nodal and/or qp materials.
Definition at line 110 of file PorousFlowAddMaterialAction.C.
Referenced by act().
|
protected |
Check to see if the material with a given at_nodes parameter has already been included in the input file (to void duplicate material property errors)
material | pointer to the material in the action warehouse |
at_nodes | true if material is evaluated at the nodes, false otherwise |
Definition at line 166 of file PorousFlowAddMaterialAction.C.
Referenced by act().
|
protected |
Check to see if the material with a given at_nodes parameter is required.
at_nodes | true if material is evaluated at the nodes, false otherwise |
Definition at line 149 of file PorousFlowAddMaterialAction.C.
Referenced by act().
|
static |
Definition at line 27 of file PorousFlowAddMaterialAction.C.
|
protected |
List of all materials added in the input file by AddMaterialAction.
Definition at line 77 of file PorousFlowAddMaterialAction.h.
Referenced by act(), and isPFMaterialPresent().
|
protected |
List of kernels, actions etc that may depend on PorousFlow materials.
Definition at line 75 of file PorousFlowAddMaterialAction.h.
Referenced by createDependencyList(), and isPFMaterialRequired().
|
protectedinherited |
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies.
Definition at line 37 of file PorousFlowDependencies.h.
Referenced by PorousFlowFullySaturated::addMaterials(), PorousFlowSinglePhaseBase::addMaterials(), PorousFlowUnsaturated::addMaterials(), PorousFlowBasicTHM::addMaterials(), PorousFlowActionBase::addMaterials(), isPFMaterialRequired(), and PorousFlowDependencies::PorousFlowDependencies().
|
protected |
Name of the PorousFlowDictator.
Definition at line 73 of file PorousFlowAddMaterialAction.h.