22 #include "libmesh/parallel_object.h" 121 virtual void act() = 0;
148 const std::string & param_name,
Every object that can be built by the factory should be derived from this class.
Interface for objects that need to resolve data file paths (MooseObject and Action) ...
RelationshipManagerType
Main types of Relationship Managers.
Base class for everything in MOOSE with a name and a type.
ActionWarehouse & _awh
Reference to ActionWarehouse where we store object build by actions.
Generic factory class for build all sorts of objects.
Action(const InputParameters ¶meters)
Interface that provides APIs to output errors/warnings/info messages.
Base class for MOOSE-based applications.
Storage for action instances.
bool 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=Moose::RMSystemType::NONE)
Method for adding a single relationship manager.
MooseObjectName uniqueActionName() const
The unique name for accessing input parameters of this action in the InputParameterWarehouse.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::string _specific_task_name
This member will only be populated if this Action instance is only designed to handle one task...
MooseObjectName uniqueName() const
The unique name for accessing input parameters of this object in the InputParameterWarehouse.
static InputParameters validParams()
std::string _registered_identifier
std::set< std::string > _all_tasks
A list of all the tasks that this Action will satisfy.
std::shared_ptr< MooseMesh > & _displaced_mesh
std::function< void(const InputParameters &, InputParameters &)> RelationshipManagerInputParameterCallback
The type for the callback to set RelationshipManager parameters.
Specialized factory for generic Action System objects.
const std::set< std::string > & getAllTasks() const
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
const std::string & _current_task
The current action (even though we have separate instances for each action)
Executioners are objects that do the actual work of solving your problem.
MooseApp & _app
The MOOSE application this is associated with.
Interface for objects interacting with the PerfGraph.
std::shared_ptr< MooseMesh > & _mesh
void timedAct()
The method called externally that causes the action to act()
void associateWithParameter(const std::string ¶m_name, InputParameters ¶ms) const
Associates the object's parameters params with the input location from this Action's parameter with t...
bool addRelationshipManagers(Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars)
Method to add a relationship manager for the objects being added to the system.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
const InputParameters & parameters() const
Get the parameters of the object.
virtual void act()=0
Method to add objects to the simulation or perform other setup tasks.
const std::string & specificTaskName() const
A class for storing the names of MooseObject by tag and object name.
void appendTask(const std::string &task)
virtual ~Action()=default