https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
DiffusionCG Class Reference

Creates all the objects needed to solve a diffusion equation with a continuous Galerkin finite element discretization. More...

#include <DiffusionCG.h>

Inheritance diagram for DiffusionCG:
[legend]

Public Types

using DataFileParameterType = DataFileName
 The parameter type this interface expects for a data file name. More...
 

Public Member Functions

 DiffusionCG (const InputParameters &parameters)
 
virtual InputParameters getAdditionalRMParams () const
 Provide additional parameters for the relationship managers. More...
 
virtual void act () override final
 Forwards from the action tasks to the implemented addXYZ() in the derived classes If you need more than these: More...
 
virtual void actOnAdditionalTasks ()
 Routine to add additional setup work on additional registered tasks to a Physics. More...
 
void addBlocks (const std::vector< SubdomainName > &blocks)
 Add new blocks to the Physics. More...
 
void addBlocksById (const std::vector< SubdomainID > &block_ids)
 
const std::vector< SubdomainName > & blocks () const
 Return the blocks this physics is defined on. More...
 
bool checkBlockRestrictionIdentical (const std::string &object_name, const std::vector< SubdomainName > &blocks, const bool error_if_not_identical=true) const
 Check if an external object has the same block restriction. More...
 
template<typename T >
const T * getCoupledPhysics (const PhysicsName &phys_name, const bool allow_fail=false) const
 Get a Physics from the ActionWarehouse with the requested type and name. More...
 
template<typename T >
const std::vector< T * > getCoupledPhysics (const bool allow_fail=false) const
 Get all Physics from the ActionWarehouse with the requested type. More...
 
unsigned int dimension () const
 Return the maximum dimension of the blocks the Physics is active on. More...
 
const ActionComponentgetActionComponent (const ComponentName &comp_name) const
 Get a component with the requested name. More...
 
template<typename T >
void checkComponentType (const ActionComponent &component) const
 Check that the component is of the desired type. More...
 
virtual void addComponent (const ActionComponent &component)
 Most basic way of adding a component: simply adding the blocks to the block restriction of the Physics. More...
 
virtual void addComponent (const ActionComponent &component) override
 Adds various info from the component. More...
 
const std::vector< VariableName > & solverVariableNames () const
 Return the list of solver (nonlinear + linear) variables in this physics. More...
 
const std::vector< VariableName > & auxVariableNames () const
 Return the list of aux variables in this physics. More...
 
void timedAct ()
 The method called externally that causes the action to act() More...
 
MooseObjectName uniqueActionName () const
 The unique name for accessing input parameters of this action in the InputParameterWarehouse. More...
 
const std::string & specificTaskName () const
 
const std::set< std::string > & getAllTasks () const
 
void appendTask (const std::string &task)
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
virtual const std::string & name () const
 Get the name of the class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 Calls moose error with the message msg. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 The unique parameter name of a valid parameter of this object for accessing parameter controls. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
MooseObjectName uniqueName () const
 The unique name for accessing input parameters of this object in the InputParameterWarehouse. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object. More...
 
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
 Test if the supplied parameter is valid. More...
 
bool isParamSetByUser (const std::string &nm) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 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) const
 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) const
 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...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type. More...
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 Emits a documented error with object name and type. More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Deprecated method. More...
 
std::string getDataFileNameByName (const std::string &relative_path) const
 Deprecated method. More...
 
std::string getDataFilePath (const std::string &relative_path) const
 Returns the path of a data file for a given relative file path. More...
 
PerfGraphperfGraph ()
 Get the PerfGraph. More...
 
void assertParamDefined (const std::string &libmesh_dbg_var(param)) const
 
void addInitialCondition (const ComponentName &component_name, const VariableName &var_name, const MooseFunctorName &ic_value)
 Add an initial condition from a component. More...
 
void addBoundaryCondition (const ComponentName &component_name, const VariableName &var_name, const BoundaryName &boundary_name, const MooseFunctorName &bc_value, const ComponentBoundaryConditionInterface::BoundaryConditionType &bc_type)
 Add a boundary condition from a component. More...
 

Static Public Member Functions

static InputParameters validParams ()
 

Public Attributes

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

Static Public Attributes

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

bool isTransient () const
 Return whether the Physics is solved using a transient. More...
 
FactorygetFactory ()
 Get the factory for this physics The factory lets you get the parameters for objects. More...
 
FactorygetFactory () const
 
virtual FEProblemBasegetProblem ()
 Get the problem for this physics Useful to add objects to the simulation. More...
 
virtual const FEProblemBasegetProblem () const
 
void prepareCopyVariablesFromMesh () const
 Tell the app if we want to use Exodus restart. More...
 
void copyVariablesFromMesh (const std::vector< VariableName > &variables_to_copy, bool are_nonlinear=true)
 Copy nonlinear or aux variables from the mesh file. More...
 
std::string prefix () const
 Use prefix() to disambiguate names. More...
 
void saveSolverVariableName (const VariableName &var_name)
 Keep track of the name of the solver variable defined in the Physics. More...
 
void saveAuxVariableName (const VariableName &var_name)
 Keep track of the name of an aux variable defined in the Physics. More...
 
bool variableExists (const VariableName &var_name, bool error_if_aux) const
 Check whether a variable already exists. More...
 
bool solverVariableExists (const VariableName &var_name) const
 Check whether a variable already exists and is a solver variable. More...
 
const SolverSystemName & getSolverSystem (unsigned int variable_index) const
 Get the solver system for this variable index. More...
 
const SolverSystemName & getSolverSystem (const VariableName &variable_name) const
 Get the solver system for this variable name. More...
 
void addRequiredPhysicsTask (const std::string &task)
 Add a new required task for all physics deriving from this class NOTE: This does not register the task, you still need to call registerMooseAction. More...
 
void assignBlocks (InputParameters &params, const std::vector< SubdomainName > &blocks) const
 Set the blocks parameter to the input parameters of an object this Physics will create. More...
 
bool allMeshBlocks (const std::vector< SubdomainName > &blocks) const
 Check if a vector contains all the mesh blocks. More...
 
bool allMeshBlocks (const std::set< SubdomainName > &blocks) const
 
std::set< SubdomainIDgetSubdomainIDs (const std::set< SubdomainName > &blocks) const
 Get the set of subdomain ids for the incoming vector of subdomain names. More...
 
std::vector< std::string > getSubdomainNamesAndIDs (const std::set< SubdomainID > &blocks) const
 Get the vector of subdomain names and ids for the incoming set of subdomain IDs. More...
 
void addPetscPairsToPetscOptions (const std::vector< std::pair< MooseEnumItem, std::string >> &petsc_pair_options)
 Process the given petsc option pairs into the system solver settings. More...
 
bool isVariableFV (const VariableName &var_name) const
 Whether the variable is a finite volume variable. More...
 
bool isVariableScalar (const VariableName &var_name) const
 Whether the variable is a scalar variable (global single scalar, not a field) More...
 
bool shouldCreateVariable (const VariableName &var_name, const std::vector< SubdomainName > &blocks, const bool error_if_aux)
 Returns whether this Physics should create the variable. More...
 
bool shouldCreateIC (const VariableName &var_name, const std::vector< SubdomainName > &blocks, const bool ic_is_default_ic, const bool error_if_already_defined) const
 Returns whether this Physics should create the variable. More...
 
bool shouldCreateTimeDerivative (const VariableName &var_name, const std::vector< SubdomainName > &blocks, const bool error_if_already_defined) const
 Returns whether this Physics should create the variable. More...
 
void reportPotentiallyMissedParameters (const std::vector< std::string > &param_names, const std::string &object_type) const
 When this is called, we are knowingly not using the value of these parameters. More...
 
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. More...
 
void associateWithParameter (const std::string &param_name, InputParameters &params) const
 Associates the object's parameters params with the input location from this Action's parameter with the name param_name, if one exists. More...
 
void associateWithParameter (const InputParameters &from_params, const std::string &param_name, InputParameters &params) const
 The same as associateWithParameter() without from_params, but instead allows you to associate this with another object's parameters instead of the parameters from this action. 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...
 
template<typename T >
const T & getMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
template<typename T >
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
template<typename T >
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 Call to register a named section for timing. More...
 
std::string timedSectionName (const std::string &section_name) const
 
void assertParamDefined (const std::string &param) const
 Check in debug mode that this parameter has been added to the validParams. More...
 
void checkParamsBothSetOrNotSet (const std::string &param1, const std::string &param2) const
 Check that two parameters are either both set or both not set. More...
 
void checkSecondParamSetOnlyIfFirstOneTrue (const std::string &param1, const std::string &param2) const
 Check that a parameter is set only if the first one is set to true. More...
 
void checkSecondParamSetOnlyIfFirstOneSet (const std::string &param1, const std::string &param2) const
 Check that a parameter is set only if the first one is set. More...
 
void checkSecondParamNotSetIfFirstOneSet (const std::string &param1, const std::string &param2) const
 Check that a parameter is not set if the first one is set. More...
 
void checkVectorParamsSameLength (const std::string &param1, const std::string &param2) const
 Check that the two vector parameters are of the same length. More...
 
void checkVectorParamAndMultiMooseEnumLength (const std::string &param1, const std::string &param2) const
 Check that this vector parameter (with name defined in param1) has the same length as the MultiMooseEnum (with name defined in param2) More...
 
void checkTwoDVectorParamsSameLength (const std::string &param1, const std::string &param2) const
 Check that the two-D vectors have exactly the same length in both dimensions. More...
 
void checkVectorParamsNoOverlap (const std::vector< std::string > &param_vecs) const
 Check that there is no overlap between the items in each vector parameters Each vector parameter should also have unique items. More...
 
void checkTwoDVectorParamsNoRespectiveOverlap (const std::vector< std::string > &param_vecs) const
 Check that there is no overlap between the respective items in each vector of the two-D parameters Each vector of the two-D vector parameter should also have unique items. More...
 
void checkTwoDVectorParamInnerSameLengthAsOneDVector (const std::string &param1, const std::string &param2) const
 Check that each inner vector of a two-D vector parameter are the same size as another one-D vector parameter. More...
 
void checkTwoDVectorParamMultiMooseEnumSameLength (const std::string &param1, const std::string &param2, const bool error_for_param2) const
 Check that the size of a two-D vector parameter matches the size of a MultiMooseEnum parameter. More...
 
void checkVectorParamNotEmpty (const std::string &param1) const
 Check that the user did not pass an empty vector. More...
 
void checkVectorParamsSameLengthIfSet (const std::string &param1, const std::string &param2, const bool ignore_empty_default_param2=false) const
 Check that two vector parameters are the same length if both are set. More...
 
void checkVectorParamLengthSameAsCombinedOthers (const std::string &param1, const std::string &param2, const std::string &param3) const
 Check that a vector parameter is the same length as two others combined. More...
 
void checkBlockwiseConsistency (const std::string &block_param_name, const std::vector< std::string > &parameter_names) const
 Check if the user commited errors during the definition of block-wise parameters. More...
 
bool parameterConsistent (const InputParameters &other_param, const std::string &param_name) const
 Return whether two parameters are consistent. More...
 
void warnInconsistent (const InputParameters &parameters, const std::string &param_name) const
 Emits a warning if two parameters are not equal to each other. More...
 
void errorDependentParameter (const std::string &param1, const std::string &value_not_set, const std::vector< std::string > &dependent_params) const
 Error messages for parameters that should depend on another parameter. More...
 
void errorInconsistentDependentParameter (const std::string &param1, const std::string &value_set, const std::vector< std::string > &dependent_params) const
 Error messages for parameters that should depend on another parameter but with a different error message. More...
 

Static Protected Member Functions

static std::string meshPropertyName (const std::string &data_name, const std::string &prefix)
 

Protected Attributes

const VariableName & _var_name
 Name of the diffused variable. More...
 
const std::vector< BoundaryName > & _neumann_boundaries
 Boundaries on which a Neumann boundary condition is applied. More...
 
const std::vector< BoundaryName > & _dirichlet_boundaries
 Boundaries on which a Dirichlet boundary condition is applied. More...
 
std::vector< SolverSystemName > _system_names
 System names for the system(s) owning the solver variables. More...
 
std::vector< unsigned int_system_numbers
 System numbers for the system(s) owning the solver variables. More...
 
const bool _verbose
 Whether to output additional information. More...
 
const MooseEnum_preconditioning
 Whether to add a default preconditioning. More...
 
std::vector< SubdomainName > _blocks
 Keep track of the subdomains the Physics is defined on. More...
 
std::string _registered_identifier
 
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 separate 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...
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
const std::string _type
 The type of this class. More...
 
const std::string _name
 The name of this class. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
const Parallel::Communicator_communicator
 
MooseApp_pg_moose_app
 The MooseApp that owns the PerfGraph. More...
 
const std::string _prefix
 A prefix to use for all sections. More...
 
std::map< std::string, std::map< VariableName, MooseFunctorName > > _components_initial_conditions
 Map of components to variables and initial conditions. More...
 
std::map< std::string, std::map< std::pair< VariableName, BoundaryName >, std::pair< MooseFunctorName, ComponentBoundaryConditionInterface::BoundaryConditionType > > > _components_boundary_conditions
 Map of components to variables and boundary conditions. More...
 

Private Member Functions

virtual void addSolverVariables () override
 The default implementation of these routines will do nothing as we do not expect all Physics to be defining an object of every type. More...
 
virtual void addFEKernels () override
 
virtual void addFEBCs () override
 
virtual void addBoundaryConditionsFromComponents () override
 

Private Attributes

const bool _use_ad
 Whether to use automatic differentiation or not. More...
 

Detailed Description

Creates all the objects needed to solve a diffusion equation with a continuous Galerkin finite element discretization.

Definition at line 18 of file DiffusionCG.h.

Member Typedef Documentation

◆ DataFileParameterType

using DataFileInterface::DataFileParameterType = DataFileName
inherited

The parameter type this interface expects for a data file name.

Definition at line 27 of file DataFileInterface.h.

Constructor & Destructor Documentation

◆ DiffusionCG()

DiffusionCG::DiffusionCG ( const InputParameters parameters)

Definition at line 34 of file DiffusionCG.C.

38  _use_ad(getParam<bool>("use_automatic_differentiation"))
39 {
40 }
const bool _use_ad
Whether to use automatic differentiation or not.
Definition: DiffusionCG.h:33
PhysicsComponentInterface(const InputParameters &parameters)
DiffusionPhysicsBase(const InputParameters &parameters)
PhysicsBase(const InputParameters &parameters)
Definition: PhysicsBase.C:103
const InputParameters & parameters() const
Get the parameters of the object.

Member Function Documentation

◆ act()

void PhysicsBase::act ( )
finaloverridevirtualinherited

Forwards from the action tasks to the implemented addXYZ() in the derived classes If you need more than these:

  • register your action to the new task using registerMooseAction("AppName", ActionClass, "task_name");
  • override actOnAdditionalTasks and add your additional work there

Implements Action.

Definition at line 121 of file PhysicsBase.C.

122 {
123  mooseDoOnce(checkRequiredTasks());
124 
125  // Lets a derived Physics class implement additional tasks
127 
128  // Initialization and variables
129  if (_current_task == "init_physics")
131  else if (_current_task == "add_variable" && !getParam<bool>("dont_create_solver_variables"))
133  else if (_current_task == "add_ic" && !getParam<bool>("dont_create_ics"))
135 
136  // Kernels
137  else if (_current_task == "add_kernel" && !getParam<bool>("dont_create_kernels"))
138  addFEKernels();
139  else if (_current_task == "add_nodal_kernel" && !getParam<bool>("dont_create_kernels"))
140  addNodalKernels();
141  else if ((_current_task == "add_fv_kernel" || _current_task == "add_linear_fv_kernel") &&
142  !getParam<bool>("dont_create_kernels"))
143  addFVKernels();
144  else if (_current_task == "add_dirac_kernel" && !getParam<bool>("dont_create_kernels"))
145  addDiracKernels();
146  else if (_current_task == "add_dg_kernel" && !getParam<bool>("dont_create_kernels"))
147  addDGKernels();
148  else if (_current_task == "add_scalar_kernel" && !getParam<bool>("dont_create_kernels"))
150  else if (_current_task == "add_interface_kernel" && !getParam<bool>("dont_create_kernels"))
152  else if (_current_task == "add_fv_ik" && !getParam<bool>("dont_create_kernels"))
154 
155  // Boundary conditions
156  else if (_current_task == "add_bc" && !getParam<bool>("dont_create_bcs"))
157  addFEBCs();
158  else if (_current_task == "add_nodal_bc" && !getParam<bool>("dont_create_bcs"))
159  addNodalBCs();
160  else if ((_current_task == "add_fv_bc" || _current_task == "add_linear_fv_bc") &&
161  !getParam<bool>("dont_create_bcs"))
162  addFVBCs();
163  else if (_current_task == "add_periodic_bc" && !getParam<bool>("dont_create_bcs"))
164  addPeriodicBCs();
165 
166  // Auxiliary quantities
167  else if (_current_task == "add_function" && !getParam<bool>("dont_create_functions"))
168  addFunctions();
169  else if (_current_task == "add_aux_variable" && !getParam<bool>("dont_create_aux_variables"))
171  else if (_current_task == "add_aux_kernel" && !getParam<bool>("dont_create_aux_kernels"))
173  else if (_current_task == "add_material" && !getParam<bool>("dont_create_materials"))
174  addMaterials();
175  else if (_current_task == "add_functor_material" && !getParam<bool>("dont_create_materials"))
177 
178  // Multiapp
179  else if (_current_task == "add_multi_app")
180  addMultiApps();
181  else if (_current_task == "add_transfer")
182  addTransfers();
183 
184  // User objects and output
185  else if (_current_task == "add_user_object" && !getParam<bool>("dont_create_user_objects"))
186  addUserObjects();
187  else if (_current_task == "add_corrector" && !getParam<bool>("dont_create_correctors"))
188  addCorrectors();
189  else if (_current_task == "add_postprocessor" && !getParam<bool>("dont_create_postprocessors"))
191  else if (_current_task == "add_vector_postprocessor" &&
192  !getParam<bool>("dont_create_vectorpostprocessors"))
194  else if (_current_task == "add_reporter")
195  addReporters();
196  else if (_current_task == "add_output")
197  addOutputs();
198 
199  // Equation solver-related tasks
200  else if (_current_task == "add_preconditioning")
202  else if (_current_task == "add_executioner")
203  addExecutioner();
204  else if (_current_task == "add_executor")
205  addExecutors();
206 
207  // Checks
208  else if (_current_task == "check_integrity_early_physics")
210  else if (_current_task == "check_integrity")
211  checkIntegrity();
212 
213  // Exodus restart capabilities
214  if (_current_task == "copy_vars_physics")
215  {
217  if (_aux_var_names.size() > 0)
219  }
220 }
const std::vector< VariableName > & auxVariableNames() const
Return the list of aux variables in this physics.
Definition: PhysicsBase.h:100
virtual void addInitialConditions()
Definition: PhysicsBase.h:282
std::vector< VariableName > _aux_var_names
Vector of the aux variables in the Physics.
Definition: PhysicsBase.h:321
virtual void addFVInterfaceKernels()
Definition: PhysicsBase.h:290
virtual void addPreconditioning()
Definition: PhysicsBase.h:307
void initializePhysics()
Process some parameters that require the problem to be created. Executed on init_physics.
Definition: PhysicsBase.C:324
virtual void checkIntegrity() const
Additional checks performed near the end of the setup phase.
Definition: PhysicsBase.h:276
virtual void checkIntegrityEarly() const
Additional checks performed once the executioner / executor has been created.
Definition: PhysicsBase.C:371
virtual void addMultiApps()
Definition: PhysicsBase.h:301
virtual void addAuxiliaryKernels()
Definition: PhysicsBase.h:296
virtual void addPeriodicBCs()
Definition: PhysicsBase.h:294
virtual void addFVBCs()
Definition: PhysicsBase.h:292
virtual void addNodalBCs()
Definition: PhysicsBase.h:293
virtual void addNodalKernels()
Definition: PhysicsBase.h:285
virtual void addDGKernels()
Definition: PhysicsBase.h:287
virtual void addMaterials()
Definition: PhysicsBase.h:297
void copyVariablesFromMesh(const std::vector< VariableName > &variables_to_copy, bool are_nonlinear=true)
Copy nonlinear or aux variables from the mesh file.
Definition: PhysicsBase.C:399
virtual void addReporters()
Definition: PhysicsBase.h:305
const std::string & _current_task
The current action (even though we have separate instances for each action)
Definition: Action.h:162
virtual void addPostprocessors()
Definition: PhysicsBase.h:303
virtual void addFunctions()
Definition: PhysicsBase.h:295
virtual void addFEBCs()
Definition: PhysicsBase.h:291
virtual void addSolverVariables()
The default implementation of these routines will do nothing as we do not expect all Physics to be de...
Definition: PhysicsBase.h:280
virtual void addExecutioner()
Definition: PhysicsBase.h:308
const std::vector< VariableName > & solverVariableNames() const
Return the list of solver (nonlinear + linear) variables in this physics.
Definition: PhysicsBase.h:98
virtual void addFVKernels()
Definition: PhysicsBase.h:284
virtual void addFEKernels()
Definition: PhysicsBase.h:283
virtual void addUserObjects()
Definition: PhysicsBase.h:299
virtual void actOnAdditionalTasks()
Routine to add additional setup work on additional registered tasks to a Physics. ...
Definition: PhysicsBase.h:49
virtual void addOutputs()
Definition: PhysicsBase.h:306
virtual void addDiracKernels()
Definition: PhysicsBase.h:286
virtual void addVectorPostprocessors()
Definition: PhysicsBase.h:304
virtual void addExecutors()
Definition: PhysicsBase.h:309
virtual void addInterfaceKernels()
Definition: PhysicsBase.h:289
virtual void addFunctorMaterials()
Definition: PhysicsBase.h:298
virtual void addTransfers()
Definition: PhysicsBase.h:302
virtual void addCorrectors()
Definition: PhysicsBase.h:300
virtual void addAuxiliaryVariables()
Definition: PhysicsBase.h:281
virtual void addScalarKernels()
Definition: PhysicsBase.h:288
void checkRequiredTasks() const
Check the list of required tasks for missing tasks.
Definition: PhysicsBase.C:468

◆ actOnAdditionalTasks()

virtual void PhysicsBase::actOnAdditionalTasks ( )
inlinevirtualinherited

Routine to add additional setup work on additional registered tasks to a Physics.

Reimplemented in PhysicsComponentInterface.

Definition at line 49 of file PhysicsBase.h.

Referenced by PhysicsBase::act().

49 {}

◆ addBlocks()

void PhysicsBase::addBlocks ( const std::vector< SubdomainName > &  blocks)
inherited

Add new blocks to the Physics.

Parameters
blockslist of blocks to add to the physics

Definition at line 283 of file PhysicsBase.C.

284 {
285  if (blocks.size())
286  {
287  _blocks.insert(_blocks.end(), blocks.begin(), blocks.end());
288  _dim = _mesh->getBlocksMaxDimension(_blocks);
289  }
290 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
unsigned int _dim
Dimension of the physics, which we expect for now to be the dimension of the mesh NOTE: this is not k...
Definition: PhysicsBase.h:325
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ addBlocksById()

void PhysicsBase::addBlocksById ( const std::vector< SubdomainID > &  block_ids)
inherited

Definition at line 293 of file PhysicsBase.C.

294 {
295  if (block_ids.size())
296  {
297  for (const auto bid : block_ids)
298  _blocks.push_back(_mesh->getSubdomainName(bid));
299  _dim = _mesh->getBlocksMaxDimension(_blocks);
300  }
301 }
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
unsigned int _dim
Dimension of the physics, which we expect for now to be the dimension of the mesh NOTE: this is not k...
Definition: PhysicsBase.h:325
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ addBoundaryCondition()

void PhysicsComponentInterface::addBoundaryCondition ( const ComponentName &  component_name,
const VariableName &  var_name,
const BoundaryName &  boundary_name,
const MooseFunctorName &  bc_value,
const ComponentBoundaryConditionInterface::BoundaryConditionType bc_type 
)
inherited

Add a boundary condition from a component.

Parameters
component_namethe name of the component with the boundary condition
var_namethe variable to provide the initial condition
boundary_namethe name of the boundary condition
bc_valuethe functor providing the boundary condition
bc_typethe type of the boundary condition, defined in ComponentBoundaryConditionInterface at the moment

Definition at line 87 of file PhysicsComponentInterface.C.

Referenced by PhysicsComponentInterface::addComponent().

93 {
94  _components_boundary_conditions[component_name][std::make_pair(var_name, boundary_name)] =
95  std::make_pair(bc_value, bc_type);
96 }
std::map< std::string, std::map< std::pair< VariableName, BoundaryName >, std::pair< MooseFunctorName, ComponentBoundaryConditionInterface::BoundaryConditionType > > > _components_boundary_conditions
Map of components to variables and boundary conditions.

◆ addBoundaryConditionsFromComponents()

void DiffusionCG::addBoundaryConditionsFromComponents ( )
overrideprivatevirtual

Reimplemented from PhysicsComponentInterface.

Definition at line 239 of file DiffusionCG.C.

240 {
241  const auto bc_type_fixed = "FunctorDirichletBC";
242  InputParameters params_fixed = getFactory().getValidParams(bc_type_fixed);
243  const auto bc_type_flux = "FunctorNeumannBC";
244  InputParameters params_flux = getFactory().getValidParams(bc_type_flux);
245 
246  for (const auto & comp_pair : _components_boundary_conditions)
247  {
248  for (const auto & bc_pair : comp_pair.second)
249  {
250  params_fixed.set<NonlinearVariableName>("variable") = _var_name;
251  params_flux.set<NonlinearVariableName>("variable") = _var_name;
252 
253  const auto bc_type = bc_pair.second.second;
254  const auto functor_name = bc_pair.second.first;
255  params_fixed.set<MooseFunctorName>("functor") = functor_name;
256  params_flux.set<MooseFunctorName>("functor") = functor_name;
257 
258  const auto surface_name = bc_pair.first.second;
259  params_fixed.set<std::vector<BoundaryName>>("boundary") = {surface_name};
260  params_flux.set<std::vector<BoundaryName>>("boundary") = {surface_name};
261 
262  if (bc_type == ComponentBoundaryConditionInterface::BoundaryConditionType::FIXED_VALUE)
263  getProblem().addBoundaryCondition(bc_type_fixed,
264  prefix() + _var_name + "_comp_" + comp_pair.first +
265  "_fixed_value_" + surface_name,
266  params_fixed);
267  else if (bc_type == ComponentBoundaryConditionInterface::BoundaryConditionType::FLUX)
268  getProblem().addBoundaryCondition(bc_type_flux,
269  prefix() + _var_name + "_comp_" + comp_pair.first +
270  "_flux_" + surface_name,
271  params_flux);
272  else
273  mooseError("Boundary condition type not implemented");
274  }
275  }
276 }
std::string prefix() const
Use prefix() to disambiguate names.
Definition: PhysicsBase.h:135
Factory & getFactory()
Get the factory for this physics The factory lets you get the parameters for objects.
Definition: PhysicsBase.h:108
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:68
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const VariableName & _var_name
Name of the diffused variable.
std::map< std::string, std::map< std::pair< VariableName, BoundaryName >, std::pair< MooseFunctorName, ComponentBoundaryConditionInterface::BoundaryConditionType > > > _components_boundary_conditions
Map of components to variables and boundary conditions.
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters &parameters)
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ addComponent() [1/2]

void PhysicsComponentInterface::addComponent ( const ActionComponent component)
overridevirtualinherited

Adds various info from the component.

Reimplemented from PhysicsBase.

Definition at line 38 of file PhysicsComponentInterface.C.

39 {
40  // Adds the component's blocks to the block restriction at least
42 
43  // Move initial conditions from components to the Physics
44  if (const auto comp_ic = dynamic_cast<const ComponentInitialConditionInterface *>(&comp))
45  {
46  for (const auto & var_name : solverVariableNames())
47  if (comp_ic->hasInitialCondition(var_name))
48  addInitialCondition(comp.name(), var_name, comp_ic->getInitialCondition(var_name, name()));
49  for (const auto & var_name : auxVariableNames())
50  if (comp_ic->hasInitialCondition(var_name))
51  addInitialCondition(comp.name(), var_name, comp_ic->getInitialCondition(var_name, name()));
52  }
53 
54  // Move boundary conditions from components to the Physics
55  if (const auto comp_bc = dynamic_cast<const ComponentBoundaryConditionInterface *>(&comp))
56  {
57  for (const auto & var_name : solverVariableNames())
58  if (comp_bc->hasBoundaryCondition(var_name))
59  for (const auto & boundary : comp_bc->getBoundaryConditionBoundaries(var_name))
60  {
62  const auto boundary_functor =
63  comp_bc->getBoundaryCondition(var_name, boundary, name(), bc_type);
64  addBoundaryCondition(comp.name(), var_name, boundary, boundary_functor, bc_type);
65  }
66  for (const auto & var_name : auxVariableNames())
67  if (comp_bc->hasBoundaryCondition(var_name))
68  for (const auto & boundary : comp_bc->getBoundaryConditionBoundaries(var_name))
69  {
71  const auto boundary_functor =
72  comp_bc->getBoundaryCondition(var_name, boundary, name(), bc_type);
73  addBoundaryCondition(comp.name(), var_name, boundary, boundary_functor, bc_type);
74  }
75  }
76 }
const std::vector< VariableName > & auxVariableNames() const
Return the list of aux variables in this physics.
Definition: PhysicsBase.h:100
void addBoundaryCondition(const ComponentName &component_name, const VariableName &var_name, const BoundaryName &boundary_name, const MooseFunctorName &bc_value, const ComponentBoundaryConditionInterface::BoundaryConditionType &bc_type)
Add a boundary condition from a component.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
void addInitialCondition(const ComponentName &component_name, const VariableName &var_name, const MooseFunctorName &ic_value)
Add an initial condition from a component.
const std::vector< VariableName > & solverVariableNames() const
Return the list of solver (nonlinear + linear) variables in this physics.
Definition: PhysicsBase.h:98
virtual void addComponent(const ActionComponent &component)
Most basic way of adding a component: simply adding the blocks to the block restriction of the Physic...
Definition: PhysicsBase.C:304

◆ addComponent() [2/2]

void PhysicsBase::addComponent ( const ActionComponent component)
virtualinherited

Most basic way of adding a component: simply adding the blocks to the block restriction of the Physics.

More complex behavior should be implemented by overriding

Reimplemented in PhysicsComponentInterface.

Definition at line 304 of file PhysicsBase.C.

Referenced by PhysicsComponentInterface::addComponent().

305 {
306  for (const auto & block : component.blocks())
307  _blocks.push_back(block);
308 }
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
const std::vector< SubdomainName > & blocks() const
Returns the subdomains for the component mesh, if any.

◆ addFEBCs()

void DiffusionCG::addFEBCs ( )
overrideprivatevirtual

Reimplemented from PhysicsBase.

Definition at line 134 of file DiffusionCG.C.

135 {
136  if (isParamSetByUser("neumann_boundaries"))
137  {
138  const auto & boundary_fluxes = getParam<std::vector<MooseFunctorName>>("boundary_fluxes");
139  for (const auto i : index_range(_neumann_boundaries))
140  {
141  const auto & bc_flux = boundary_fluxes[i];
142  // Select the boundary type based on the user parameters and what we know to be most efficient
143  // We could actually just use the very last option for everything but the performance is
144  // better if one uses the specialized objects
145  std::string bc_type = "";
146  if (MooseUtils::parsesToReal(bc_flux))
147  bc_type = _use_ad ? "ADNeumannBC" : "NeumannBC";
148  else if (getProblem().hasVariable(bc_flux))
149  bc_type = "CoupledVarNeumannBC"; // not AD, but still perfect Jacobian
150  else if (getProblem().hasFunction(bc_flux))
151  bc_type = _use_ad ? "ADFunctionNeumannBC" : "FunctionNeumannBC";
152  else if (getProblem().hasPostprocessorValueByName(bc_flux))
153  bc_type = "PostprocessorNeumannBC";
154  else // this is AD, but we can mix AD and non-AD
155  bc_type = "FunctorNeumannBC";
156 
157  // Get the parameters for the object type chosen and set the common parameters
158  InputParameters params = getFactory().getValidParams(bc_type);
159  params.set<NonlinearVariableName>("variable") = _var_name;
160  params.set<std::vector<BoundaryName>>("boundary") = {_neumann_boundaries[i]};
161 
162  // Set the flux parameter for the specific type of NeumannBC used
163  if (MooseUtils::parsesToReal(bc_flux))
164  params.set<Real>("value") = MooseUtils::convert<Real>(bc_flux);
165  else if (getProblem().hasVariable(bc_flux))
166  params.set<std::vector<VariableName>>("v") = {bc_flux};
167  else if (getProblem().hasFunction(bc_flux))
168  params.set<FunctionName>("function") = bc_flux;
169  else if (getProblem().hasPostprocessorValueByName(bc_flux))
170  params.set<PostprocessorName>("postprocessor") = bc_flux;
171  else
172  params.set<MooseFunctorName>("functor") = bc_flux;
173 
175  bc_type, prefix() + _var_name + "_neumann_bc_" + _neumann_boundaries[i], params);
176  }
177  }
178  if (isParamSetByUser("dirichlet_boundaries"))
179  {
180  const auto & boundary_values = getParam<std::vector<MooseFunctorName>>("boundary_values");
181  for (const auto i : index_range(_dirichlet_boundaries))
182  {
183  const auto & bc_value = boundary_values[i];
184  // Select the boundary type based on the user parameters and what we know to be most efficient
185  std::string bc_type = "";
186  if (MooseUtils::parsesToReal(bc_value))
187  bc_type = _use_ad ? "ADDirichletBC" : "DirichletBC";
188  else if (getProblem().hasVariable(bc_value))
189  bc_type = _use_ad ? "ADMatchedValueBC" : "MatchedValueBC";
190  else if (getProblem().hasFunction(bc_value))
191  bc_type = _use_ad ? "ADFunctionDirichletBC" : "FunctionDirichletBC";
192  else if (getProblem().hasPostprocessorValueByName(bc_value))
193  bc_type = "PostprocessorDirichletBC";
194  else // this is AD, but we can mix AD and non-AD
195  bc_type = "FunctorDirichletBC";
196 
197  InputParameters params = getFactory().getValidParams(bc_type);
198  params.set<NonlinearVariableName>("variable") = _var_name;
199  params.set<std::vector<BoundaryName>>("boundary") = {_dirichlet_boundaries[i]};
200 
201  // Set the flux parameter for the specific type of DirichletBC used
202  if (MooseUtils::parsesToReal(bc_value))
203  params.set<Real>("value") = MooseUtils::convert<Real>(bc_value);
204  else if (getProblem().hasVariable(bc_value))
205  params.set<std::vector<VariableName>>("v") = {bc_value};
206  else if (getProblem().hasFunction(bc_value))
207  params.set<FunctionName>("function") = bc_value;
208  else if (getProblem().hasPostprocessorValueByName(bc_value))
209  params.set<PostprocessorName>("postprocessor") = bc_value;
210  else
211  params.set<MooseFunctorName>("functor") = bc_value;
212 
214  bc_type, prefix() + _var_name + "_dirichlet_bc_" + _dirichlet_boundaries[i], params);
215  }
216  }
217 }
std::string prefix() const
Use prefix() to disambiguate names.
Definition: PhysicsBase.h:135
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
bool parsesToReal(const std::string &input)
Check if the input string can be parsed into a Real.
Definition: MooseUtils.C:89
const bool _use_ad
Whether to use automatic differentiation or not.
Definition: DiffusionCG.h:33
Factory & getFactory()
Get the factory for this physics The factory lets you get the parameters for objects.
Definition: PhysicsBase.h:108
const std::vector< BoundaryName > & _neumann_boundaries
Boundaries on which a Neumann boundary condition is applied.
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:68
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const VariableName & _var_name
Name of the diffused variable.
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters &parameters)
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
bool hasPostprocessorValueByName(const PostprocessorName &name) const
Whether or not a Postprocessor value exists by a given name.
const std::vector< BoundaryName > & _dirichlet_boundaries
Boundaries on which a Dirichlet boundary condition is applied.
bool isParamSetByUser(const std::string &nm) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)
auto index_range(const T &sizable)

◆ addFEKernels()

void DiffusionCG::addFEKernels ( )
overrideprivatevirtual

Reimplemented from PhysicsBase.

Definition at line 43 of file DiffusionCG.C.

44 {
45  // Diffusion term
46  {
47  // Select the kernel type based on the user parameters
48  std::string kernel_type;
49  if (isParamValid("diffusivity_matprop"))
50  kernel_type = _use_ad ? "ADMatDiffusion" : "MatDiffusion";
51  else if (isParamValid("diffusivity_functor"))
52  {
53  const auto & d = getParam<MooseFunctorName>("diffusivity_functor");
55  kernel_type = "FunctionDiffusion";
56  else
57  paramError("diffusivity_functor",
58  "No diffusion kernel implemented for the diffusivity type of ",
59  d);
60  }
61  else
62  kernel_type = _use_ad ? "ADDiffusion" : "Diffusion";
63  InputParameters params = getFactory().getValidParams(kernel_type);
64  params.set<NonlinearVariableName>("variable") = _var_name;
65  assignBlocks(params, _blocks);
66 
67  // Transfer the diffusivity parameter from the Physics to the kernel
68  // From parameters
69  if (isParamValid("diffusivity_matprop"))
70  params.set<MaterialPropertyName>("diffusivity") =
71  getParam<MaterialPropertyName>("diffusivity_matprop");
72  else if (isParamValid("diffusivity_functor"))
73  params.set<FunctionName>("function") = getParam<MooseFunctorName>("diffusivity_functor");
74 
75  getProblem().addKernel(kernel_type, prefix() + _var_name + "_diffusion", params);
76  }
77 
78  // Source term
79  if (isParamValid("source_functor"))
80  {
81  // Select the kernel type based on the user parameters
82  std::string kernel_type;
83  const auto & source = getParam<MooseFunctorName>("source_functor");
84  if (MooseUtils::parsesToReal(source) || getProblem().hasFunction(source) ||
86  kernel_type = _use_ad ? "ADBodyForce" : "BodyForce";
87  else if (getProblem().hasVariable(source))
88  kernel_type = _use_ad ? "ADCoupledForce" : "CoupledForce";
89  else
90  paramError("source_functor",
91  "No kernel defined for a source term in CG for the type of '",
92  source,
93  "'");
94 
95  InputParameters params = getFactory().getValidParams(kernel_type);
96  params.set<NonlinearVariableName>("variable") = _var_name;
97  assignBlocks(params, _blocks);
98 
99  // Transfer the source and coefficient parameter from the Physics to the kernel
100  const auto coef = getParam<Real>("source_coef");
101  if (MooseUtils::parsesToReal(source))
102  params.set<Real>("value") = MooseUtils::convert<Real>(source) * coef;
103  else if (getProblem().hasFunction(source))
104  {
105  params.set<Real>("value") = coef;
106  params.set<FunctionName>("function") = source;
107  }
108  else if (getProblem().hasPostprocessorValueByName(source))
109  {
110  params.set<Real>("value") = coef;
111  params.set<PostprocessorName>("postprocessor") = source;
112  }
113  else
114  {
115  params.set<Real>("coef") = coef;
116  params.set<std::vector<VariableName>>("v") = {source};
117  }
118 
119  getProblem().addKernel(kernel_type, prefix() + _var_name + "_source", params);
120  }
121 
122  // Time derivative term
124  {
125  const std::string kernel_type = _use_ad ? "ADTimeDerivative" : "TimeDerivative";
126  InputParameters params = getFactory().getValidParams(kernel_type);
127  params.set<NonlinearVariableName>("variable") = _var_name;
128  assignBlocks(params, _blocks);
129  getProblem().addKernel(kernel_type, prefix() + _var_name + "_time", params);
130  }
131 }
std::string prefix() const
Use prefix() to disambiguate names.
Definition: PhysicsBase.h:135
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
bool parsesToReal(const std::string &input)
Check if the input string can be parsed into a Real.
Definition: MooseUtils.C:89
const bool _use_ad
Whether to use automatic differentiation or not.
Definition: DiffusionCG.h:33
void assignBlocks(InputParameters &params, const std::vector< SubdomainName > &blocks) const
Set the blocks parameter to the input parameters of an object this Physics will create.
Definition: PhysicsBase.C:484
Factory & getFactory()
Get the factory for this physics The factory lets you get the parameters for objects.
Definition: PhysicsBase.h:108
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:68
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
bool shouldCreateTimeDerivative(const VariableName &var_name, const std::vector< SubdomainName > &blocks, const bool error_if_already_defined) const
Returns whether this Physics should create the variable.
Definition: PhysicsBase.C:678
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
const VariableName & _var_name
Name of the diffused variable.
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
bool hasPostprocessorValueByName(const PostprocessorName &name) const
Whether or not a Postprocessor value exists by a given name.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)

◆ addInitialCondition()

void PhysicsComponentInterface::addInitialCondition ( const ComponentName &  component_name,
const VariableName &  var_name,
const MooseFunctorName &  ic_value 
)
inherited

Add an initial condition from a component.

Parameters
component_namethe name of the component to set the variable IC on
var_namethe variable to provide the initial condition
ic_valuethe functor providing the initial condition

Definition at line 79 of file PhysicsComponentInterface.C.

Referenced by PhysicsComponentInterface::addComponent().

82 {
83  _components_initial_conditions[component_name][var_name] = ic_value;
84 }
std::map< std::string, std::map< VariableName, MooseFunctorName > > _components_initial_conditions
Map of components to variables and initial conditions.

◆ addPetscPairsToPetscOptions()

void PhysicsBase::addPetscPairsToPetscOptions ( const std::vector< std::pair< MooseEnumItem, std::string >> &  petsc_pair_options)
protectedinherited

Process the given petsc option pairs into the system solver settings.

Definition at line 575 of file PhysicsBase.C.

Referenced by DiffusionPhysicsBase::addPreconditioning().

577 {
578  Moose::PetscSupport::PetscOptions & po = _problem->getPetscOptions();
579  for (const auto solver_sys_num : _system_numbers)
581  petsc_pair_options,
582  _problem->mesh().dimension(),
583  _problem->getSolverSystem(solver_sys_num).prefix(),
584  *this,
585  po);
586 }
A struct for storing the various types of petsc options and values.
Definition: PetscSupport.h:39
void addPetscPairsToPetscOptions(const std::vector< std::pair< MooseEnumItem, std::string >> &petsc_pair_options, const unsigned int mesh_dimension, const std::string &prefix, const ParallelParamObject &param_object, PetscOptions &petsc_options)
Populate name and value pairs in a given PetscOptions object using vectors of input arguments...
Definition: PetscSupport.C:737
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168
std::vector< unsigned int > _system_numbers
System numbers for the system(s) owning the solver variables.
Definition: PhysicsBase.h:251

◆ addRelationshipManagers()

bool 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
Returns
Whether a relationship manager was added

Definition at line 136 of file Action.C.

Referenced by CouplingFunctorCheckAction::act(), and PhysicsBase::addRelationshipManagers().

138 {
139  const auto & buildable_types = moose_object_pars.getBuildableRelationshipManagerTypes();
140 
141  bool added = false;
142 
143  for (const auto & buildable_type : buildable_types)
144  {
145  auto & rm_name = std::get<0>(buildable_type);
146  auto & rm_type = std::get<1>(buildable_type);
147  auto rm_input_parameter_func = std::get<2>(buildable_type);
148 
149  added = addRelationshipManager(
150  input_rm_type, moose_object_pars, rm_name, rm_type, rm_input_parameter_func) ||
151  added;
152  }
153 
154  return added;
155 }
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...
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.
Definition: Action.C:88

◆ addRequiredPhysicsTask()

void PhysicsBase::addRequiredPhysicsTask ( const std::string &  task)
inlineprotectedinherited

Add a new required task for all physics deriving from this class NOTE: This does not register the task, you still need to call registerMooseAction.

Definition at line 158 of file PhysicsBase.h.

Referenced by DiffusionPhysicsBase::DiffusionPhysicsBase(), PhysicsBase::PhysicsBase(), and PhysicsComponentInterface::PhysicsComponentInterface().

158 { _required_tasks.insert(task); }
std::set< std::string > _required_tasks
Manually keeps track of the tasks required by each physics as tasks cannot be inherited.
Definition: PhysicsBase.h:328

◆ addSolverVariables()

void DiffusionCG::addSolverVariables ( )
overrideprivatevirtual

The default implementation of these routines will do nothing as we do not expect all Physics to be defining an object of every type.

Reimplemented from PhysicsBase.

Definition at line 220 of file DiffusionCG.C.

221 {
222  // If the variable was added outside the Physics
224  {
225  reportPotentiallyMissedParameters({"variable_order", "system_names"}, "MooseVariable");
226  return;
227  }
228 
229  const std::string variable_type = "MooseVariable";
230  InputParameters params = getFactory().getValidParams(variable_type);
231  params.set<MooseEnum>("order") = getParam<MooseEnum>("variable_order");
232  assignBlocks(params, _blocks);
233  params.set<SolverSystemName>("solver_sys") = getSolverSystem(_var_name);
234 
235  getProblem().addVariable(variable_type, _var_name, params);
236 }
void assignBlocks(InputParameters &params, const std::vector< SubdomainName > &blocks) const
Set the blocks parameter to the input parameters of an object this Physics will create.
Definition: PhysicsBase.C:484
bool shouldCreateVariable(const VariableName &var_name, const std::vector< SubdomainName > &blocks, const bool error_if_aux)
Returns whether this Physics should create the variable.
Definition: PhysicsBase.C:602
Factory & getFactory()
Get the factory for this physics The factory lets you get the parameters for objects.
Definition: PhysicsBase.h:108
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:68
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const VariableName & _var_name
Name of the diffused variable.
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
const SolverSystemName & getSolverSystem(unsigned int variable_index) const
Get the solver system for this variable index.
Definition: PhysicsBase.C:440
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
virtual void addVariable(const std::string &var_type, const std::string &var_name, InputParameters &params)
Canonical method for adding a non-linear variable.
void reportPotentiallyMissedParameters(const std::vector< std::string > &param_names, const std::string &object_type) const
When this is called, we are knowingly not using the value of these parameters.
Definition: PhysicsBase.C:779

◆ allMeshBlocks() [1/2]

bool PhysicsBase::allMeshBlocks ( const std::vector< SubdomainName > &  blocks) const
protectedinherited

Check if a vector contains all the mesh blocks.

Parameters
blocksthe vector blocks to check for whether it contains every block in the mesh

Definition at line 544 of file PhysicsBase.C.

Referenced by PhysicsBase::allMeshBlocks(), PhysicsBase::checkBlockRestrictionIdentical(), PhysicsBase::getSubdomainIDs(), and PhysicsBase::shouldCreateVariable().

545 {
546  mooseAssert(_mesh, "The mesh should exist already");
547  // Try to return faster without examining every single block
548  if (std::find(blocks.begin(), blocks.end(), "ANY_BLOCK_ID") != blocks.end())
549  return true;
550  else if (blocks.size() != _mesh->meshSubdomains().size())
551  return false;
552 
553  for (const auto mesh_block : _mesh->meshSubdomains())
554  {
555  const auto & subdomain_name = _mesh->getSubdomainName(mesh_block);
556  // Check subdomain name
557  if (!subdomain_name.empty() &&
558  std::find(blocks.begin(), blocks.end(), subdomain_name) == blocks.end())
559  return false;
560  // no subdomain name, check the IDs being used as names instead
561  else if (std::find(blocks.begin(), blocks.end(), std::to_string(mesh_block)) == blocks.end())
562  return false;
563  }
564  return true;
565 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ allMeshBlocks() [2/2]

bool PhysicsBase::allMeshBlocks ( const std::set< SubdomainName > &  blocks) const
protectedinherited

Definition at line 568 of file PhysicsBase.C.

569 {
570  std::vector<SubdomainName> blocks_vec(blocks.begin(), blocks.end());
571  return allMeshBlocks(blocks_vec);
572 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool allMeshBlocks(const std::vector< SubdomainName > &blocks) const
Check if a vector contains all the mesh blocks.
Definition: PhysicsBase.C:544

◆ appendTask()

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

Definition at line 104 of file Action.h.

104 { _all_tasks.insert(task); }
std::set< std::string > _all_tasks
A list of all the tasks that this Action will satisfy.
Definition: Action.h:156

◆ assertParamDefined() [1/2]

void InputParametersChecksUtils< PhysicsBase >::assertParamDefined ( const std::string &  param) const
protectedinherited

Check in debug mode that this parameter has been added to the validParams.

Parameters
paramparameter that should be defined

◆ assertParamDefined() [2/2]

void InputParametersChecksUtils< PhysicsBase >::assertParamDefined ( const std::string &  libmesh_dbg_varparam) const
inherited

Definition at line 206 of file InputParametersChecksUtils.h.

207 {
208  mooseAssert(forwardParameters().template have_parameter<T>(param),
209  "Parameter '" + param + "' is not defined with type '" +
210  MooseUtils::prettyCppType<T>() + "' in object type '" +
211  MooseUtils::prettyCppType(forwardType()) + "'. Check your code.");
212 }
const InputParameters & forwardParameters() const
Forwards obtaining parameters to the class using this utility.
const std::string & forwardType() const
Get the type of the class using this utility.
std::string prettyCppType(const std::string &cpp_type)
Definition: MooseUtils.C:1246

◆ assignBlocks()

void PhysicsBase::assignBlocks ( InputParameters params,
const std::vector< SubdomainName > &  blocks 
) const
protectedinherited

Set the blocks parameter to the input parameters of an object this Physics will create.

Parameters
paramsthe parameters of the object
blocksthe blocks to set as the parameter

Definition at line 484 of file PhysicsBase.C.

Referenced by addFEKernels(), DiffusionFV::addFVKernels(), DiffusionPhysicsBase::addInitialConditions(), DiffusionPhysicsBase::addInitialConditionsFromComponents(), DiffusionFV::addSolverVariables(), and addSolverVariables().

485 {
486  // We only set the blocks if we don't have `ANY_BLOCK_ID` defined because the subproblem
487  // (through the mesh) errors out if we use this keyword during the addVariable/Kernel
488  // functions
489  if (std::find(blocks.begin(), blocks.end(), "ANY_BLOCK_ID") == blocks.end())
490  params.set<std::vector<SubdomainName>>("block") = blocks;
491  if (blocks.empty())
492  mooseInfoRepeated("Empty block restriction assigned to an object created by Physics '" +
493  name() + "'.\n Did you mean to do this?");
494 }
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
void mooseInfoRepeated(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:377
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57

◆ associateWithParameter() [1/2]

void Action::associateWithParameter ( const std::string &  param_name,
InputParameters params 
) const
protectedinherited

Associates the object's parameters params with the input location from this Action's parameter with the name param_name, if one exists.

For example, you have a parameter in this action of type bool with name "add_mesh". You then add an action within this action that creates a mesh if this param is true. If you call associateWithParameter("add_mesh", action_params) where action_params are the parameters for the action, we then associate that action with the "add_mesh" parameter. Therefore, the resulting created mesh will also be associated with the "add_mesh" param and any errors that are non-parameter errors (i.e., mooseError/mooseWarning) will have the line context of the "add_mesh" parameter in this action. The same goes for any errors that are produce within the created action.

Definition at line 158 of file Action.C.

Referenced by CommonOutputAction::create(), AddVariableAction::createInitialConditionAction(), CreateExecutionerAction::setupAutoPreconditioning(), and ReadExecutorParamsAction::setupAutoPreconditioning().

159 {
160  associateWithParameter(parameters(), param_name, params);
161 }
void associateWithParameter(const std::string &param_name, InputParameters &params) const
Associates the object&#39;s parameters params with the input location from this Action&#39;s parameter with t...
Definition: Action.C:158
const InputParameters & parameters() const
Get the parameters of the object.

◆ associateWithParameter() [2/2]

void Action::associateWithParameter ( const InputParameters from_params,
const std::string &  param_name,
InputParameters params 
) const
protectedinherited

The same as associateWithParameter() without from_params, but instead allows you to associate this with another object's parameters instead of the parameters from this action.

An example here is when you want to associate the creation of an action with an argument from the application.

Definition at line 164 of file Action.C.

167 {
168  const auto to_hit_node = params.getHitNode();
169  if (!to_hit_node || to_hit_node->isRoot())
170  {
171  if (const auto hit_node = from_params.getHitNode(param_name))
172  params.setHitNode(*hit_node, {});
173  else if (const auto hit_node = from_params.getHitNode())
174  params.setHitNode(*hit_node, {});
175  }
176 }
const hit::Node * getHitNode(const std::string &param) const
void setHitNode(const std::string &param, const hit::Node &node, const SetParamHitNodeKey)
Sets the hit node associated with the parameter param to node.

◆ auxVariableNames()

const std::vector<VariableName>& PhysicsBase::auxVariableNames ( ) const
inlineinherited

Return the list of aux variables in this physics.

Definition at line 100 of file PhysicsBase.h.

Referenced by PhysicsBase::act(), and PhysicsComponentInterface::addComponent().

100 { return _aux_var_names; };
std::vector< VariableName > _aux_var_names
Vector of the aux variables in the Physics.
Definition: PhysicsBase.h:321

◆ blocks()

const std::vector<SubdomainName>& PhysicsBase::blocks ( ) const
inlineinherited

◆ callMooseError()

void MooseBase::callMooseError ( std::string  msg,
const bool  with_prefix 
) const
inherited

Calls moose error with the message msg.

Will prefix the message with the subapp name if one exists.

If with_prefix, then add the prefix from errorPrefix() to the error.

Definition at line 33 of file MooseBase.C.

Referenced by InputParameters::callMooseErrorHelper(), MooseBaseErrorInterface::mooseDocumentedError(), MooseBaseErrorInterface::mooseError(), MooseBaseErrorInterface::mooseErrorNonPrefixed(), and MooseBaseParameterInterface::paramError().

34 {
36  const std::string prefix = _app.isUltimateMaster() ? "" : _app.name();
37  if (with_prefix)
38  msg = errorPrefix("error") + msg;
39  moose::internal::mooseErrorRaw(msg, prefix);
40 }
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition: MooseApp.h:847
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
std::string errorPrefix(const std::string &error_type) const
Definition: MooseBase.C:43
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:84
void mooseErrorRaw(std::string msg, const std::string prefix="")
Definition: MooseError.C:53
void mooseConsole()
Send current output buffer to Console output objects.
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:2381

◆ checkBlockRestrictionIdentical()

bool PhysicsBase::checkBlockRestrictionIdentical ( const std::string &  object_name,
const std::vector< SubdomainName > &  blocks,
const bool  error_if_not_identical = true 
) const
inherited

Check if an external object has the same block restriction.

Parameters
object_namename of the object to check the block restriction of
blocksthe blocks for this object
error_if_not_identicalwhether to error if the block restrictions dont match

Definition at line 497 of file PhysicsBase.C.

500 {
501  // If identical, we can return fast
502  if (_blocks == blocks)
503  return true;
504  // If one is block restricted to anywhere and the other is block restricted to anywhere manually
505  if ((std::find(_blocks.begin(), _blocks.end(), "ANY_BLOCK_ID") != _blocks.end() &&
506  allMeshBlocks(blocks)) ||
507  (std::find(blocks.begin(), blocks.end(), "ANY_BLOCK_ID") != blocks.end() &&
509  return true;
510 
511  // Copy, sort and unique is the only way to check that they are actually the same
512  auto copy_blocks = _blocks;
513  auto copy_blocks_other = blocks;
514  std::sort(copy_blocks.begin(), copy_blocks.end());
515  copy_blocks.erase(unique(copy_blocks.begin(), copy_blocks.end()), copy_blocks.end());
516  std::sort(copy_blocks_other.begin(), copy_blocks_other.end());
517  copy_blocks_other.erase(unique(copy_blocks_other.begin(), copy_blocks_other.end()),
518  copy_blocks_other.end());
519 
520  if (copy_blocks == copy_blocks_other)
521  return true;
522  std::vector<SubdomainName> diff;
523  std::set_difference(copy_blocks.begin(),
524  copy_blocks.end(),
525  copy_blocks_other.begin(),
526  copy_blocks_other.end(),
527  std::inserter(diff, diff.begin()));
528  if (error_if_not_identical)
529  mooseError("Physics '",
530  name(),
531  "' and object '",
532  object_name,
533  "' have different block restrictions.\nPhysics: ",
535  "\nObject: ",
537  "\nDifference: ",
538  Moose::stringify(diff));
539  else
540  return false;
541 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool allMeshBlocks(const std::vector< SubdomainName > &blocks) const
Check if a vector contains all the mesh blocks.
Definition: PhysicsBase.C:544
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
std::vector< SubdomainName > _blocks
Keep track of the subdomains the Physics is defined on.
Definition: PhysicsBase.h:261
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ checkBlockwiseConsistency()

void InputParametersChecksUtils< PhysicsBase >::checkBlockwiseConsistency ( const std::string &  block_param_name,
const std::vector< std::string > &  parameter_names 
) const
protectedinherited

Check if the user commited errors during the definition of block-wise parameters.

Parameters
block_param_namethe name of the parameter that provides the groups of blocks
parameter_namesvector of the names of the parameters that are defined on a per-block basis

Definition at line 483 of file InputParametersChecksUtils.h.

485 {
486  const std::vector<std::vector<SubdomainName>> & block_names =
487  forwardGetParam<std::vector<std::vector<SubdomainName>>>(block_param_name);
488 
489  if (block_names.size())
490  {
491  // We only check block-restrictions if the customer class is not restricted to `ANY_BLOCK_ID`.
492  // If the users define blocks that are not on the mesh, they will receive errors from the
493  // objects created by the customer class
494  const auto & object_blocks = forwardBlocks();
495  if (std::find(object_blocks.begin(), object_blocks.end(), "ANY_BLOCK_ID") ==
496  object_blocks.end())
497  for (const auto & block_group : block_names)
498  for (const auto & block : block_group)
499  if (std::find(object_blocks.begin(), object_blocks.end(), block) == object_blocks.end())
500  forwardParamError(block_param_name,
501  "Block '" + block + "' is not present in the block restriction of " +
502  forwardName() +
503  "!\nBlock restriction: " + Moose::stringify(object_blocks));
504 
505  for (const auto & param_name : parameter_names)
506  {
507  const std::vector<T> & param_vector = forwardGetParam<std::vector<T>>(param_name);
508  if (block_names.size() != param_vector.size())
509  forwardParamError(param_name,
510  "The number of entries in '" + param_name + "' (" +
511  std::to_string(param_vector.size()) +
512  ") is not the same as the number of blocks"
513  " (" +
514  std::to_string(block_names.size()) + ") in '" + block_param_name +
515  "'!");
516  }
517  }
518  else
519  {
520  unsigned int previous_size = 0;
521  for (const auto param_i : index_range(parameter_names))
522  {
523  const std::vector<T> & param_vector =
524  forwardGetParam<std::vector<T>>(parameter_names[param_i]);
525  if (param_i == 0)
526  {
527  if (param_vector.size() > 1)
528  forwardParamError(parameter_names[param_i],
529  "The user should only use one or zero entries in " +
530  parameter_names[param_i] + " if " + block_param_name +
531  " not defined!");
532  previous_size = param_vector.size();
533  }
534  else
535  {
536  if (previous_size != param_vector.size())
537  forwardParamError(parameter_names[param_i],
538  "The number of entries in '" + parameter_names[param_i] +
539  "' is not the same as the number of entries in '" +
540  parameter_names[param_i - 1] + "'!");
541  }
542  }
543  }
544 }
const std::vector< SubdomainName > & forwardBlocks() const
Get the blocks for the class using this utility.
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
virtual const std::string & forwardName() const
Get the name of the class using this utility.
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
auto index_range(const T &sizable)

◆ checkComponentType()

template<typename T >
void PhysicsBase::checkComponentType ( const ActionComponent component) const
inherited

Check that the component is of the desired type.

Definition at line 370 of file PhysicsBase.h.

371 {
372  if (!dynamic_cast<const T *>(&component))
373  mooseError("Component '" + component.name() + "' must be of type '" +
374  MooseUtils::prettyCppType<T>() + "'.\nIt is currently of type '" + component.type() +
375  "'");
376 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:51
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ checkParamsBothSetOrNotSet()

void InputParametersChecksUtils< PhysicsBase >::checkParamsBothSetOrNotSet ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that two parameters are either both set or both not set.

Parameters
param1first parameter to check
param2second parameter to check

Definition at line 593 of file InputParametersChecksUtils.h.

Referenced by DiffusionPhysicsBase::DiffusionPhysicsBase().

595 {
596  if ((forwardIsParamValid(param1) + forwardIsParamValid(param2)) % 2 != 0)
597  forwardParamError(param1,
598  "Parameters '" + param1 + "' and '" + param2 +
599  "' must be either both set or both not set.");
600 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamValid(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkSecondParamNotSetIfFirstOneSet()

void InputParametersChecksUtils< PhysicsBase >::checkSecondParamNotSetIfFirstOneSet ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that a parameter is not set if the first one is set.

Parameters
param1first parameter to check, check that the second is not if this one is set
param2second parameter to check, that should not be set if first one is set

Definition at line 629 of file InputParametersChecksUtils.h.

631 {
632  if (forwardIsParamSetByUser(param1) && forwardIsParamSetByUser(param2))
633  forwardParamError(param2,
634  "Parameter '" + param2 + "' should not be specified if parameter '" + param1 +
635  "' is specified.");
636 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkSecondParamSetOnlyIfFirstOneSet()

void InputParametersChecksUtils< PhysicsBase >::checkSecondParamSetOnlyIfFirstOneSet ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that a parameter is set only if the first one is set.

Parameters
param1first parameter to check, check the second if set
param2second parameter to check, that should be set if first one is set

Definition at line 618 of file InputParametersChecksUtils.h.

620 {
621  if (!forwardIsParamSetByUser(param1) && forwardIsParamSetByUser(param2))
622  forwardParamError(param2,
623  "Parameter '" + param2 + "' should not be set if parameter '" + param1 +
624  "' is not specified.");
625 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkSecondParamSetOnlyIfFirstOneTrue()

void InputParametersChecksUtils< PhysicsBase >::checkSecondParamSetOnlyIfFirstOneTrue ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that a parameter is set only if the first one is set to true.

Parameters
param1first parameter to check, check the second if true
param2second parameter to check, that should be set if first one is true

Definition at line 604 of file InputParametersChecksUtils.h.

Referenced by PhysicsBase::PhysicsBase(), and PhysicsBase::prepareCopyVariablesFromMesh().

606 {
607  mooseAssert(forwardParameters().template have_parameter<bool>(param1),
608  "Cannot check if parameter " + param1 +
609  " is true if it's not a bool parameter of this object");
610  if (!forwardGetParam<bool>(param1) && forwardIsParamSetByUser(param2))
611  forwardParamError(param2,
612  "Parameter '" + param1 + "' cannot be set to false if parameter '" + param2 +
613  "' is set by the user");
614 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.
const InputParameters & forwardParameters() const
Forwards obtaining parameters to the class using this utility.

◆ checkTwoDVectorParamInnerSameLengthAsOneDVector()

void InputParametersChecksUtils< PhysicsBase >::checkTwoDVectorParamInnerSameLengthAsOneDVector ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that each inner vector of a two-D vector parameter are the same size as another one-D vector parameter.

Parameters
param1two-D vector parameter to check the dimensions of
param2one-D vector parameter to set the desired size

Definition at line 296 of file InputParametersChecksUtils.h.

298 {
299  assertParamDefined<std::vector<std::vector<T>>>(param1);
300  assertParamDefined<std::vector<S>>(param2);
301  for (const auto & sub_vec_i : index_range(forwardGetParam<std::vector<std::vector<T>>>(param1)))
302  {
303  const auto size_1 = forwardGetParam<std::vector<std::vector<T>>>(param1)[sub_vec_i].size();
304  const auto size_2 = forwardGetParam<std::vector<S>>(param2).size();
305  if (size_1 != size_2)
306  forwardParamError(param1,
307  "Vector at index " + std::to_string(sub_vec_i) + " (size " +
308  std::to_string(size_1) +
309  ") "
310  " of this parameter should be the same length as parameter '" +
311  param2 + "' (size " + std::to_string(size_2) + ")");
312  }
313 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.
auto index_range(const T &sizable)

◆ checkTwoDVectorParamMultiMooseEnumSameLength()

void InputParametersChecksUtils< PhysicsBase >::checkTwoDVectorParamMultiMooseEnumSameLength ( const std::string &  param1,
const std::string &  param2,
const bool  error_for_param2 
) const
protectedinherited

Check that the size of a two-D vector parameter matches the size of a MultiMooseEnum parameter.

Parameters
param1two-D vector parameter to check the unrolled size of
param2MultiMooseEnum parameter to set the desired size

Definition at line 318 of file InputParametersChecksUtils.h.

320 {
321  assertParamDefined<std::vector<std::vector<T>>>(param1);
322  assertParamDefined<MultiMooseEnum>(param2);
323  const auto vec1 = forwardGetParam<std::vector<std::vector<T>>>(param1);
324  const auto enum2 = forwardGetParam<MultiMooseEnum>(param2);
325  const auto size_1 = vec1.empty() ? 0 : vec1.size() * vec1[0].size();
326  const auto size_2 = enum2.size();
327  if (size_1 != size_2)
328  {
329  if (error_for_param2)
330  forwardParamError(param2,
331  "Vector enumeration parameter (size " + std::to_string(size_2) +
332  ") is not the same size as the vector of vector parameter '" + param1 +
333  "' (size " + std::to_string(size_1) + ")");
334  else
335  forwardParamError(param1,
336  "Vector of vector parameter '" + param1 + "' (total size " +
337  std::to_string(size_1) +
338  ") is not the same size as vector-enumeration parameter '" + param2 +
339  "' (size " + std::to_string(size_2) + ")");
340  }
341 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.

◆ checkTwoDVectorParamsNoRespectiveOverlap()

void InputParametersChecksUtils< PhysicsBase >::checkTwoDVectorParamsNoRespectiveOverlap ( const std::vector< std::string > &  param_vecs) const
protectedinherited

Check that there is no overlap between the respective items in each vector of the two-D parameters Each vector of the two-D vector parameter should also have unique items.

Parameters
param_vecsvector of parameters that should not overlap with each other

Definition at line 395 of file InputParametersChecksUtils.h.

397 {
398  // Outer loop, each param is the name of a parameter for a vector of vectors
399  for (const auto & param : param_vec)
400  {
401  assertParamDefined<std::vector<std::vector<T>>>(param);
402  const auto & twoD_vec = forwardGetParam<std::vector<std::vector<T>>>(param);
403  std::vector<std::set<T>> unique_params(twoD_vec.size());
404 
405  // Loop over each outer vector and compare the inner vectors respectively to other parameters
406  for (const auto i : index_range(twoD_vec))
407  {
408  for (const auto & value : twoD_vec[i])
409  if (!unique_params[i].insert(value).second)
410  {
411  auto copy_params = param_vec;
412  copy_params.erase(std::find(copy_params.begin(), copy_params.end(), param));
413  forwardMooseError("Item '" + value + "' specified in vector parameter '" + param +
414  "' is also present in one or more of the two-D vector parameters '" +
415  Moose::stringify(copy_params) +
416  "' in the inner vector of the same index, which is not allowed.");
417  }
418  }
419  }
420 }
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
void forwardMooseError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
auto index_range(const T &sizable)

◆ checkTwoDVectorParamsSameLength()

void InputParametersChecksUtils< PhysicsBase >::checkTwoDVectorParamsSameLength ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that the two-D vectors have exactly the same length in both dimensions.

Parameters
param1first two-D vector parameter to check the dimensions of
param2second two-D vector parameter to check the dimensions of

Definition at line 269 of file InputParametersChecksUtils.h.

271 {
272  checkVectorParamsSameLength<std::vector<T>, std::vector<S>>(param1, param2);
273  if (forwardIsParamValid(param1) && forwardIsParamValid(param2))
274  {
275  const auto value1 = forwardGetParam<std::vector<std::vector<T>>>(param1);
276  const auto value2 = forwardGetParam<std::vector<std::vector<S>>>(param2);
277  for (const auto index : index_range(value1))
278  if (value1[index].size() != value2[index].size())
280  param1,
281  "Vector at index " + std::to_string(index) + " of 2D vector parameter '" + param1 +
282  "' is not the same size as its counterpart from 2D vector parameter '" + param2 +
283  "'.\nSize first vector: " + std::to_string(value1[index].size()) +
284  "\nSize second vector: " + std::to_string(value2[index].size()));
285  }
286  // handle empty vector defaults
287  else if (forwardIsParamValid(param1) || forwardIsParamValid(param2))
288  if (forwardGetParam<std::vector<T>>(param1).size() ||
289  forwardGetParam<std::vector<T>>(param2).size())
290  checkParamsBothSetOrNotSet(param1, param2);
291 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
void checkParamsBothSetOrNotSet(const std::string &param1, const std::string &param2) const
Check that two parameters are either both set or both not set.
bool forwardIsParamValid(const std::string &param_name) const
Forwards parameter check to the class using this utility.
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.
auto index_range(const T &sizable)

◆ checkVectorParamAndMultiMooseEnumLength()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamAndMultiMooseEnumLength ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that this vector parameter (with name defined in param1) has the same length as the MultiMooseEnum (with name defined in param2)

Parameters
param1vector parameter to compare the size of
param2multiMooseEnum parameter to compare the size of

Definition at line 243 of file InputParametersChecksUtils.h.

245 {
246  assertParamDefined<std::vector<T>>(param1);
247  assertParamDefined<MultiMooseEnum>(param2);
248 
249  if (forwardIsParamValid(param1) && forwardIsParamValid(param2))
250  {
251  const auto size_1 = forwardGetParam<std::vector<T>>(param1).size();
252  const auto size_2 = forwardGetParam<MultiMooseEnum>(param2).size();
253  if (size_1 != size_2)
254  forwardParamError(param1,
255  "Vector parameters '" + param1 + "' (size " + std::to_string(size_1) +
256  ") and '" + param2 + "' (size " + std::to_string(size_2) +
257  ") must be the same size");
258  }
259  // handle empty vector defaults
260  else if (forwardIsParamValid(param1) || forwardIsParamValid(param2))
261  if (forwardGetParam<std::vector<T>>(param1).size() ||
262  forwardGetParam<MultiMooseEnum>(param2).size())
263  checkParamsBothSetOrNotSet(param1, param2);
264 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
void checkParamsBothSetOrNotSet(const std::string &param1, const std::string &param2) const
Check that two parameters are either both set or both not set.
bool forwardIsParamValid(const std::string &param_name) const
Forwards parameter check to the class using this utility.
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkVectorParamLengthSameAsCombinedOthers()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamLengthSameAsCombinedOthers ( const std::string &  param1,
const std::string &  param2,
const std::string &  param3 
) const
protectedinherited

Check that a vector parameter is the same length as two others combined.

Parameters
param1vector parameter that provides the target size
param2vector parameter that provides one term in the combined size
param3vector parameter that provides one term in the combined size

Definition at line 346 of file InputParametersChecksUtils.h.

348 {
349  assertParamDefined<std::vector<T>>(param1);
350  assertParamDefined<std::vector<S>>(param2);
351  assertParamDefined<std::vector<U>>(param3);
352  const auto size_1 = forwardGetParam<std::vector<T>>(param1).size();
353  const auto size_2 = forwardGetParam<std::vector<S>>(param2).size();
354  const auto size_3 = forwardGetParam<std::vector<U>>(param3).size();
355 
356  if (size_1 != size_2 + size_3)
357  forwardParamError(param1,
358  "Vector parameter '" + param1 + "' (size " + std::to_string(size_1) +
359  ") should be the same size as parameter '" + param2 + "' and '" + param3 +
360  " combined (total size " + std::to_string(size_2 + size_3) + ")");
361 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.

◆ checkVectorParamNotEmpty()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamNotEmpty ( const std::string &  param1) const
protectedinherited

Check that the user did not pass an empty vector.

Parameters
param1vector parameter that should not be empty

Definition at line 425 of file InputParametersChecksUtils.h.

426 {
427  assertParamDefined<std::vector<T>>(param);
428  if (!forwardGetParam<std::vector<T>>(param).size())
429  forwardParamError(param, "Parameter '" + param + "' should not be set to an empty vector.");
430 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkVectorParamsNoOverlap()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamsNoOverlap ( const std::vector< std::string > &  param_vecs) const
protectedinherited

Check that there is no overlap between the items in each vector parameters Each vector parameter should also have unique items.

Parameters
param_vecsvector of parameters that should not overlap with each other

Definition at line 366 of file InputParametersChecksUtils.h.

368 {
369  std::set<std::string> unique_params;
370  for (const auto & param : param_vec)
371  {
372  assertParamDefined<std::vector<T>>(param);
373 
374  for (const auto & value : forwardGetParam<std::vector<T>>(param))
375  if (!unique_params.insert(value).second)
376  {
377  auto copy_params = param_vec;
378  copy_params.erase(std::find(copy_params.begin(), copy_params.end(), param));
379  // Overlap between multiple vectors of parameters
380  if (copy_params.size())
381  forwardMooseError("Item '" + value + "' specified in vector parameter '" + param +
382  "' is also present in one or more of the parameters '" +
383  Moose::stringify(copy_params) + "', which is not allowed.");
384  // Overlap within a single vector parameter caused by a repeated item
385  else
386  forwardMooseError("Item '" + value + "' specified in vector parameter '" + param +
387  "' is repeated, which is not allowed.");
388  }
389  }
390 }
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
void forwardMooseError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.

◆ checkVectorParamsSameLength()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamsSameLength ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Check that the two vector parameters are of the same length.

Parameters
param1first vector parameter to compare the size of
param2second vector parameter to compare the size of

Definition at line 217 of file InputParametersChecksUtils.h.

219 {
220  assertParamDefined<std::vector<T>>(param1);
221  assertParamDefined<std::vector<S>>(param2);
222 
223  if (forwardIsParamValid(param1) && forwardIsParamValid(param2))
224  {
225  const auto size_1 = forwardGetParam<std::vector<T>>(param1).size();
226  const auto size_2 = forwardGetParam<std::vector<S>>(param2).size();
227  if (size_1 != size_2)
228  forwardParamError(param1,
229  "Vector parameters '" + param1 + "' (size " + std::to_string(size_1) +
230  ") and '" + param2 + "' (size " + std::to_string(size_2) +
231  ") must be the same size");
232  }
233  // handle empty vector defaults
234  else if (forwardIsParamValid(param1) || forwardIsParamValid(param2))
235  if (forwardGetParam<std::vector<T>>(param1).size() ||
236  forwardGetParam<std::vector<T>>(param2).size())
237  checkParamsBothSetOrNotSet(param1, param2);
238 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
void checkParamsBothSetOrNotSet(const std::string &param1, const std::string &param2) const
Check that two parameters are either both set or both not set.
bool forwardIsParamValid(const std::string &param_name) const
Forwards parameter check to the class using this utility.
T forwardGetParam(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ checkVectorParamsSameLengthIfSet()

void InputParametersChecksUtils< PhysicsBase >::checkVectorParamsSameLengthIfSet ( const std::string &  param1,
const std::string &  param2,
const bool  ignore_empty_default_param2 = false 
) const
protectedinherited

Check that two vector parameters are the same length if both are set.

Parameters
param1first vector parameter to check the size of
param2second vector parameter to check the size of

Definition at line 435 of file InputParametersChecksUtils.h.

439 {
440  assertParamDefined<std::vector<T>>(param1);
441  assertParamDefined<std::vector<S>>(param2);
442 
443  if (forwardIsParamValid(param1) && forwardIsParamValid(param2))
444  {
445  const auto size_1 = forwardGetParam<std::vector<T>>(param1).size();
446  const auto size_2 = forwardGetParam<std::vector<S>>(param2).size();
447  if (ignore_empty_default_param2 && (size_2 == 0) && !forwardIsParamSetByUser(param2))
448  return;
449  if (size_1 != size_2)
450  forwardParamError(param1,
451  "Parameter '" + param1 + "' (size " + std::to_string(size_1) + ") and '" +
452  param2 + "' (size " + std::to_string(size_2) +
453  ") must be the same size if set.");
454  }
455 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.
bool forwardIsParamValid(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ connectControllableParams()

void MooseBaseParameterInterface::connectControllableParams ( const std::string &  parameter,
const std::string &  object_type,
const std::string &  object_name,
const std::string &  object_parameter 
) const
inherited

Connect controllable parameter of this action with the controllable parameters of the objects added by this action.

Parameters
parameterName of the controllable parameter of this action
object_typeType of the object added by this action.
object_nameName of the object added by this action.
object_parameterName of the parameter of the object.

Definition at line 33 of file MooseBaseParameterInterface.C.

37 {
38  MooseObjectParameterName primary_name(uniqueName(), parameter);
39  const auto base_type = _factory.getValidParams(object_type).get<std::string>("_moose_base");
40  MooseObjectParameterName secondary_name(base_type, object_name, object_parameter);
42  primary_name, secondary_name);
43 
44  const auto & tags = _pars.get<std::vector<std::string>>("control_tags");
45  for (const auto & tag : tags)
46  {
47  if (!tag.empty())
48  {
49  // Only adds the parameter with the different control tags if the derived class
50  // properly registers the parameter to its own syntax
51  MooseObjectParameterName tagged_name(tag, _moose_base.name(), parameter);
53  tagged_name, secondary_name, /*error_on_empty=*/false);
54  }
55  }
56 }
void addControllableParameterConnection(const MooseObjectParameterName &primary, const MooseObjectParameterName &secondary, bool error_on_empty=true)
Method for linking control parameters of different names.
const MooseBase & _moose_base
The MooseBase object that inherits this class.
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition: MooseApp.C:2839
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:68
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:45
Factory & _factory
The Factory associated with the MooseApp.
MooseObjectName uniqueName() const
The unique name for accessing input parameters of this object in the InputParameterWarehouse.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing an input parameter name.

◆ copyVariablesFromMesh()

void PhysicsBase::copyVariablesFromMesh ( const std::vector< VariableName > &  variables_to_copy,
bool  are_nonlinear = true 
)
protectedinherited

Copy nonlinear or aux variables from the mesh file.

Parameters
variables_to_copyNonlinear or aux (not a mix) variables
are_nonlinearTrue if variables_to_copy are nonlinear; else, aux

Definition at line 399 of file PhysicsBase.C.

Referenced by PhysicsBase::act().

401 {
402  if (getParam<bool>("initialize_variables_from_mesh_file"))
403  {
404  mooseInfoRepeated("Adding Exodus restart for " + std::to_string(variables_to_copy.size()) +
405  " variables: " + Moose::stringify(variables_to_copy));
406  // TODO Check that the variable types and orders are actually supported for exodus restart
407  for (const auto i : index_range(variables_to_copy))
408  {
409  SystemBase & system = are_solver_var ? getProblem().getSystemBase(_system_numbers.size() == 1
410  ? _system_numbers[0]
411  : _system_numbers[i])
413  const auto & var_name = variables_to_copy[i];
414  system.addVariableToCopy(
415  var_name, var_name, getParam<std::string>("initial_from_file_timestep"));
416  }
417  }
418 }
void mooseInfoRepeated(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:377
virtual void addVariableToCopy(const std::string &dest_name, const std::string &source_name, const std::string &timestep)
Add info about variable that will be copied.
Definition: SystemBase.C:1177
Base class for a system (of equations)
Definition: SystemBase.h:84
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
virtual const SystemBase & systemBaseAuxiliary() const override
Return the auxiliary system object as a base class reference.
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
virtual const SystemBase & getSystemBase(const unsigned int sys_num) const
Get constant reference to a system in this problem.
std::vector< unsigned int > _system_numbers
System numbers for the system(s) owning the solver variables.
Definition: PhysicsBase.h:251
auto index_range(const T &sizable)

◆ dimension()

unsigned int PhysicsBase::dimension ( ) const
inherited

Return the maximum dimension of the blocks the Physics is active on.

Definition at line 245 of file PhysicsBase.C.

246 {
247  mooseAssert(_mesh, "We dont have a mesh yet");
248  mooseAssert(_dim < 4, "Dimension has not been set yet");
249  return _dim;
250 }
unsigned int _dim
Dimension of the physics, which we expect for now to be the dimension of the mesh NOTE: this is not k...
Definition: PhysicsBase.h:325
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ errorDependentParameter()

void InputParametersChecksUtils< PhysicsBase >::errorDependentParameter ( const std::string &  param1,
const std::string &  value_not_set,
const std::vector< std::string > &  dependent_params 
) const
protectedinherited

Error messages for parameters that should depend on another parameter.

Parameters
param1the parameter has not been set to the desired value (for logging purposes)
value_not_setthe desired value (for logging purposes)
dependent_paramsall the parameters that should not have been since 'param1' was not set to 'value_not_set'

Definition at line 563 of file InputParametersChecksUtils.h.

567 {
568  for (const auto & dependent_param : dependent_params)
569  if (forwardIsParamSetByUser(dependent_param))
570  forwardParamError(dependent_param,
571  "Parameter '" + dependent_param +
572  "' should not be set by the user if parameter '" + param1 +
573  "' has not been set to '" + value_not_set + "'");
574 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ errorInconsistentDependentParameter()

void InputParametersChecksUtils< PhysicsBase >::errorInconsistentDependentParameter ( const std::string &  param1,
const std::string &  value_set,
const std::vector< std::string > &  dependent_params 
) const
protectedinherited

Error messages for parameters that should depend on another parameter but with a different error message.

Parameters
param1the parameter has not been set to the desired value (for logging purposes)
value_setthe value it has been set to and which is not appropriate (for logging purposes)
dependent_paramsall the parameters that should not have been set since 'param1' was set to 'value_set'

Definition at line 578 of file InputParametersChecksUtils.h.

582 {
583  for (const auto & dependent_param : dependent_params)
584  if (forwardIsParamSetByUser(dependent_param))
585  forwardParamError(dependent_param,
586  "Parameter '" + dependent_param +
587  "' should not be set by the user if parameter '" + param1 +
588  "' has been set to '" + value_set + "'");
589 }
void forwardParamError(Args &&... args) const
Forwards error to the class using this utility to get better error messages.
bool forwardIsParamSetByUser(const std::string &param_name) const
Forwards parameter check to the class using this utility.

◆ errorPrefix()

std::string MooseBase::errorPrefix ( const std::string &  error_type) const
inherited
Returns
A prefix to be used in errors that contains the input file location associated with this object (if any) and the name and type of the object.

Definition at line 43 of file MooseBase.C.

Referenced by MooseBase::callMooseError(), MooseBaseErrorInterface::mooseDeprecated(), MooseBaseErrorInterface::mooseInfo(), MooseBaseErrorInterface::mooseWarning(), and MooseBaseParameterInterface::paramErrorMsg().

44 {
45  std::stringstream oss;
46  if (const auto node = _params.getHitNode())
47  if (!node->isRoot())
48  oss << node->fileLocation() << ":\n";
49  oss << "The following " << error_type << " occurred in the ";
50  if (const auto base_ptr = _params.getBase())
51  oss << *base_ptr;
52  else
53  oss << "object";
54  oss << " '" << name() << "' of type " << type() << ".\n\n";
55  return oss.str();
56 }
const hit::Node * getHitNode(const std::string &param) const
std::optional< std::string > getBase() const
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
const InputParameters & _params
The object&#39;s parameteres.
Definition: MooseBase.h:94
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:51

◆ getActionComponent()

const ActionComponent & PhysicsBase::getActionComponent ( const ComponentName &  comp_name) const
inherited

Get a component with the requested name.

Definition at line 318 of file PhysicsBase.C.

Referenced by DiffusionPhysicsBase::addInitialConditions(), and DiffusionPhysicsBase::addInitialConditionsFromComponents().

319 {
320  return _awh.getAction<ActionComponent>(comp_name);
321 }
const T & getAction(const std::string &name) const
Retrieve an action with its name and the desired type.
ActionWarehouse & _awh
Reference to ActionWarehouse where we store object build by actions.
Definition: Action.h:159
Base class for components that are defined using an action.

◆ getAdditionalRMParams()

virtual InputParameters PhysicsBase::getAdditionalRMParams ( ) const
inlinevirtualinherited

Provide additional parameters for the relationship managers.

Reimplemented in DiffusionFV.

Definition at line 38 of file PhysicsBase.h.

Referenced by PhysicsBase::addRelationshipManagers().

38 { return emptyInputParameters(); };
InputParameters emptyInputParameters()

◆ getAllTasks()

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

Definition at line 102 of file Action.h.

Referenced by AddKernelAction::act().

102 { return _all_tasks; }
std::set< std::string > _all_tasks
A list of all the tasks that this Action will satisfy.
Definition: Action.h:156

◆ getCheckedPointerParam()

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

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 286 of file MooseBaseParameterInterface.h.

288 {
289  return parameters().getCheckedPointerParam<T>(name, error_string);
290 }
std::string name(const ElemQuality q)
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...
const InputParameters & parameters() const
Get the parameters of the object.

◆ getCoupledPhysics() [1/2]

template<typename T >
const T * PhysicsBase::getCoupledPhysics ( const PhysicsName &  phys_name,
const bool  allow_fail = false 
) const
inherited

Get a Physics from the ActionWarehouse with the requested type and name.

Parameters
phys_namename of the Physics to retrieve
allow_failwhether to allow returning a nullptr if the physics does not exist

Definition at line 333 of file PhysicsBase.h.

334 {
335  constexpr bool is_physics = std::is_base_of<PhysicsBase, T>::value;
336  libmesh_ignore(is_physics);
337  mooseAssert(is_physics, "Must be a PhysicsBase to be retrieved by getCoupledPhysics");
338  const auto all_T_physics = _awh.getActions<T>();
339  for (const auto * const physics : all_T_physics)
340  {
341  if (physics->name() == phys_name)
342  return physics;
343  }
344  if (!allow_fail)
345  mooseError("Requested Physics '",
346  phys_name,
347  "' does not exist or is not of type '",
348  MooseUtils::prettyCppType<T>(),
349  "'");
350  else
351  return nullptr;
352 }
ActionWarehouse & _awh
Reference to ActionWarehouse where we store object build by actions.
Definition: Action.h:159
void libmesh_ignore(const Args &...)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::vector< const T * > getActions()
Retrieve all actions in a specific type ordered by their names.

◆ getCoupledPhysics() [2/2]

template<typename T >
const std::vector< T * > PhysicsBase::getCoupledPhysics ( const bool  allow_fail = false) const
inherited

Get all Physics from the ActionWarehouse with the requested type.

Definition at line 356 of file PhysicsBase.h.

357 {
358  constexpr bool is_physics = std::is_base_of<PhysicsBase, T>::value;
359  libmesh_ignore(is_physics);
360  mooseAssert(is_physics, "Must be a PhysicsBase to be retrieved by getCoupledPhysics");
361  const auto all_T_physics = _awh.getActions<T>();
362  if (!allow_fail && all_T_physics.empty())
363  mooseError("No Physics of requested type '", MooseUtils::prettyCppType<T>(), "'");
364  else
365  return all_T_physics;
366 }
ActionWarehouse & _awh
Reference to ActionWarehouse where we store object build by actions.
Definition: Action.h:159
void libmesh_ignore(const Args &...)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::vector< const T * > getActions()
Retrieve all actions in a specific type ordered by their names.

◆ getDataFileName()

std::string DataFileInterface::getDataFileName ( const std::string &  param) const
inherited

Deprecated method.

The data file paths are now automatically set within the InputParameters object, so using getParam<DataFileName>("param_name") is now sufficient.

Definition at line 21 of file DataFileInterface.C.

22 {
23  _parent.mooseDeprecated("getDataFileName() is deprecated. The file path is now directly set "
24  "within the InputParameters.\nUse getParam<DataFileName>(\"",
25  param,
26  "\") instead.");
27  return _parent.getParam<DataFileName>(param);
28 }
void mooseDeprecated(Args &&... args) const
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
const ParallelParamObject & _parent

◆ getDataFileNameByName()

std::string DataFileInterface::getDataFileNameByName ( const std::string &  relative_path) const
inherited

Deprecated method.

Use getDataFilePath() instead.

Definition at line 31 of file DataFileInterface.C.

32 {
33  _parent.mooseDeprecated("getDataFileNameByName() is deprecated. Use getDataFilePath(\"",
34  relative_path,
35  "\") instead.");
36  return getDataFilePath(relative_path);
37 }
std::string getDataFilePath(const std::string &relative_path) const
Returns the path of a data file for a given relative file path.
void mooseDeprecated(Args &&... args) const
const ParallelParamObject & _parent

◆ getDataFilePath()

std::string DataFileInterface::getDataFilePath ( const std::string &  relative_path) const
inherited

Returns the path of a data file for a given relative file path.

This can be used for hardcoded datafile names and will search the same locations as getDataFileName

Definition at line 40 of file DataFileInterface.C.

Referenced by DataFileInterface::getDataFileNameByName().

41 {
42  // This should only ever be used with relative paths. There is no point to
43  // use this search path with an absolute path.
44  if (std::filesystem::path(relative_path).is_absolute())
45  _parent.mooseWarning("While using getDataFilePath(\"",
46  relative_path,
47  "\"): This API should not be used for absolute paths.");
48 
49  // Throw on error so that if getPath() fails, we can throw an error
50  // with the context of _parent.mooseError()
51  const auto throw_on_error_before = Moose::_throw_on_error;
53  std::optional<std::string> error;
54 
55  // This will search the data paths for this relative path
56  Moose::DataFileUtils::Path found_path;
57  try
58  {
59  found_path = Moose::DataFileUtils::getPath(relative_path);
60  }
61  catch (std::exception & e)
62  {
63  error = e.what();
64  }
65 
66  Moose::_throw_on_error = throw_on_error_before;
67  if (error)
68  _parent.mooseError(*error);
69 
70  mooseAssert(found_path.context == Moose::DataFileUtils::Context::DATA,
71  "Should only ever obtain data");
72  mooseAssert(found_path.data_name, "Should be set");
73 
74  const std::string msg =
75  "Using data file '" + found_path.path + "' from " + *found_path.data_name + " data";
76  _parent.mooseInfo(msg);
77 
78  return found_path.path;
79 }
Context context
Context for the file (where it came from)
Definition: DataFileUtils.h:48
void mooseInfo(Args &&... args) const
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Representation of a data file path.
Definition: DataFileUtils.h:36
Path getPath(std::string path, const std::optional< std::string > &base=std::optional< std::string >())
Get the data path for a given path, searching the registered data.
Definition: DataFileUtils.C:22
std::optional< std::string > data_name
The name of the data registry the file came from (with context == DATA)
Definition: DataFileUtils.h:50
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
Definition: Moose.C:758
const ParallelParamObject & _parent

◆ getFactory() [1/2]

Factory& PhysicsBase::getFactory ( )
inlineprotectedinherited

◆ getFactory() [2/2]

Factory& PhysicsBase::getFactory ( ) const
inlineprotectedinherited

Definition at line 109 of file PhysicsBase.h.

109 { return _factory; }
Factory & _factory
The Factory associated with the MooseApp.

◆ getMeshProperty() [1/2]

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 134 of file MeshMetaDataInterface.h.

136 {
137  if (!hasMeshProperty(data_name, prefix))
138  mooseErrorInternal("Failed to get mesh property '", prefix, "/", data_name, "'");
139 
140  auto value = &getMeshPropertyInternal(data_name, prefix);
141  mooseAssert(value->declared(), "Value has not been declared");
142  const RestartableData<T> * T_value = dynamic_cast<const RestartableData<T> *>(value);
143  if (!T_value)
144  mooseErrorInternal("While retrieving mesh property '",
145  prefix,
146  "/",
147  data_name,
148  "' with type '",
149  MooseUtils::prettyCppType<T>(),
150  "',\nthe property exists with different type '",
151  value->type(),
152  "'");
153  return T_value->get();
154 }
void mooseErrorInternal(Args &&... args) const
Helper for forwarding a mooseError to an object&#39;s mooseError if it is available (said error will prov...
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
Concrete definition of a parameter value for a specified type.
bool hasMeshProperty(const std::string &data_name, const std::string &prefix) const
const RestartableDataValue & getMeshPropertyInternal(const std::string &data_name, const std::string &prefix) const
Helper for getting a mesh property.

◆ getMeshProperty() [2/2]

template<typename T >
const T& MeshMetaDataInterface::getMeshProperty ( const std::string &  data_name)
inlineprotectedinherited

Definition at line 56 of file MeshMetaDataInterface.h.

57  {
58  return getMeshProperty<T>(data_name, meshPropertyPrefix(data_name));
59  }
virtual std::string meshPropertyPrefix(const std::string &data_name) const
The default prefix to use for getting/seeing if mesh properties exist.

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 45 of file MooseBase.h.

Referenced by ChainControlSetupAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::advanceState(), ParsedChainControl::buildFunction(), ReporterTransferInterface::checkHasReporterValue(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), Coupleable::checkWritableVar(), ComponentPhysicsInterface::ComponentPhysicsInterface(), MooseBaseParameterInterface::connectControllableParams(), Coupleable::Coupleable(), MortarData::createMortarInterface(), EigenProblem::doFreeNonlinearPowerIterations(), Terminator::execute(), FEProblemSolve::FEProblemSolve(), SolutionInvalidInterface::flagInvalidSolutionInternal(), ChainControl::getChainControlDataSystem(), DefaultConvergenceBase::getSharedExecutionerParam(), ChainControlDataPostprocessor::initialSetup(), MaterialPropertyInterface::MaterialPropertyInterface(), MooseVariableDataFV< OutputType >::MooseVariableDataFV(), ProgressOutput::output(), PetscOutputInterface::petscLinearOutput(), PetscOutputInterface::petscNonlinearOutput(), PetscOutputInterface::PetscOutputInterface(), PostprocessorInterface::postprocessorsAdded(), MultiApp::preTransfer(), Reporter::Reporter(), ReporterInterface::reportersAdded(), and VectorPostprocessorInterface::vectorPostprocessorsAdded().

45 { return _app; }
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:84

◆ getParam() [1/2]

template<typename T >
const T & MooseBaseParameterInterface::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 215 of file MooseBaseParameterInterface.h.

Referenced by CreateDisplacedProblemAction::act(), AddPeriodicBCAction::act(), DiffusionPhysicsBase::addPostprocessors(), ADNodalKernel::ADNodalKernel(), ArrayParsedAux::ArrayParsedAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), ComponentPhysicsInterface::ComponentPhysicsInterface(), FunctorAux::computeValue(), FEProblemBase::createTagSolutions(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), DebugResidualAux::DebugResidualAux(), AccumulateReporter::declareLateValues(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), ParsedSubdomainGeneratorBase::functionInitialize(), FVInterfaceKernel::FVInterfaceKernel(), BoundaryLayerSubdomainGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), GeneratedMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), MeshExtruderGenerator::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::GenericConstantSymmetricRankTwoTensorTempl(), MooseApp::getCheckpointDirectories(), DataFileInterface::getDataFileName(), ExecutorInterface::getExecutor(), GhostingUserObject::GhostingUserObject(), FixedPointIterationAdaptiveDT::init(), TimeSequenceStepper::init(), IterationAdaptiveDT::init(), AdvancedOutput::init(), AttribThread::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MultiSystemSolveObject::MultiSystemSolveObject(), NEML2ModelExecutor::NEML2ModelExecutor(), NestedDivision::NestedDivision(), ConsoleUtils::outputExecutionInformation(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseConstantByBlockMaterialTempl< is_ad >::PiecewiseConstantByBlockMaterialTempl(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorOfPostprocessors::VectorOfPostprocessors().

216 {
217  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0), &_moose_base);
218 }
const MooseBase & _moose_base
The MooseBase object that inherits this class.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseBase *moose_base=nullptr)

◆ getParam() [2/2]

template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > MooseBaseParameterInterface::getParam ( const std::string &  param1,
const std::string &  param2 
) const
inherited

Retrieve two parameters and provide pair of parameters for the object.

Parameters
param1The name of first parameter
param2The name of second parameter
Returns
Vector of pairs of first and second parameters

Definition at line 279 of file MooseBaseParameterInterface.h.

280 {
281  return _pars.get<T1, T2>(param1, param2);
282 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getProblem() [1/2]

virtual FEProblemBase& PhysicsBase::getProblem ( )
inlineprotectedvirtualinherited

◆ getProblem() [2/2]

virtual const FEProblemBase& PhysicsBase::getProblem ( ) const
inlineprotectedvirtualinherited

Definition at line 117 of file PhysicsBase.h.

118  {
119  mooseAssert(_problem, "Requesting the problem too early");
120  return *_problem;
121  }
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ getRenamedParam()

template<typename T >
const T & MooseBaseParameterInterface::getRenamedParam ( const std::string &  old_name,
const std::string &  new_name 
) const
inherited

Retrieve a renamed parameter for the object.

This helper makes sure we check both names before erroring, and that only one parameter is passed to avoid silent errors

Parameters
old_namethe old name for the parameter
new_namethe new name for the parameter

Definition at line 229 of file MooseBaseParameterInterface.h.

231 {
232  // this enables having a default on the new parameter but bypassing it with the old one
233  // Most important: accept new parameter
234  if (isParamSetByUser(new_name) && !isParamValid(old_name))
235  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0), &_moose_base);
236  // Second most: accept old parameter
237  else if (isParamValid(old_name) && !isParamSetByUser(new_name))
238  return InputParameters::getParamHelper(old_name, _pars, static_cast<T *>(0), &_moose_base);
239  // Third most: accept default for new parameter
240  else if (isParamValid(new_name) && !isParamValid(old_name))
241  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0), &_moose_base);
242  // Refuse: no default, no value passed
243  else if (!isParamValid(old_name) && !isParamValid(new_name))
244  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
245  "' is being retrieved without being set.\n"
246  "Did you misspell it?");
247  // Refuse: both old and new parameters set by user
248  else
249  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
250  "' may not be provided alongside former parameter '" + old_name + "'");
251 }
const MooseBase & _moose_base
The MooseBase object that inherits this class.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
bool isParamSetByUser(const std::string &nm) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
std::string blockFullpath() const
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseBase *moose_base=nullptr)

◆ getSolverSystem() [1/2]

const SolverSystemName & PhysicsBase::getSolverSystem ( unsigned int  variable_index) const
protectedinherited

Get the solver system for this variable index.

The index should be the index of the variable in solver var_names (currently _solver_var_names) vector

Definition at line 440 of file PhysicsBase.C.

Referenced by addSolverVariables(), and DiffusionFV::addSolverVariables().

441 {
442  mooseAssert(!_system_names.empty(), "We should have a solver system name");
443  if (_system_names.size() == 1)
444  return _system_names[0];
445  else
446  // We trust that the system names and the variable names match one-to-one as it is enforced by
447  // the checkIntegrityEarly() routine.
448  return _system_names[variable_index];
449 }
std::vector< SolverSystemName > _system_names
System names for the system(s) owning the solver variables.
Definition: PhysicsBase.h:248

◆ getSolverSystem() [2/2]

const SolverSystemName & PhysicsBase::getSolverSystem ( const VariableName &  variable_name) const
protectedinherited

Get the solver system for this variable name.

Definition at line 452 of file PhysicsBase.C.

453 {
454  mooseAssert(!_system_names.empty(), "We should have a solver system name");
455  // No need to look if only one system for the Physics
456  if (_system_names.size() == 1)
457  return _system_names[0];
458 
459  // We trust that the system names and the variable names match one-to-one as it is enforced by
460  // the checkIntegrityEarly() routine.
461  for (const auto variable_index : index_range(_solver_var_names))
462  if (var_name == _solver_var_names[variable_index])
463  return _system_names[variable_index];
464  mooseError("Variable '", var_name, "' was not found within the Physics solver variables.");
465 }
std::vector< VariableName > _solver_var_names
Vector of the solver variables (nonlinear and linear) in the Physics.
Definition: PhysicsBase.h:319
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
auto index_range(const T &sizable)
std::vector< SolverSystemName > _system_names
System names for the system(s) owning the solver variables.
Definition: PhysicsBase.h:248

◆ getSubdomainIDs()

std::set< SubdomainID > PhysicsBase::getSubdomainIDs ( const std::set< SubdomainName > &  blocks) const
protectedinherited

Get the set of subdomain ids for the incoming vector of subdomain names.

Definition at line 253 of file PhysicsBase.C.

Referenced by PhysicsBase::shouldCreateIC(), and PhysicsBase::shouldCreateTimeDerivative().

254 {
255  const bool not_block_restricted =
256  (std::find(blocks.begin(), blocks.end(), "ANY_BLOCK_ID") != blocks.end()) ||
258  mooseAssert(_mesh, "Should have a mesh");
259  // use a set for simplicity. Note that subdomain names are unique, except maybe the empty one,
260  // which cannot be specified by the user to the Physics.
261  // MooseMesh::getSubdomainIDs cannot deal with the 'ANY_BLOCK_ID' name
262  std::set<SubdomainID> block_ids_set =
263  not_block_restricted ? _mesh->meshSubdomains() : _mesh->getSubdomainIDs(blocks);
264  return block_ids_set;
265 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool allMeshBlocks(const std::vector< SubdomainName > &blocks) const
Check if a vector contains all the mesh blocks.
Definition: PhysicsBase.C:544
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ getSubdomainNamesAndIDs()

std::vector< std::string > PhysicsBase::getSubdomainNamesAndIDs ( const std::set< SubdomainID > &  blocks) const
protectedinherited

Get the vector of subdomain names and ids for the incoming set of subdomain IDs.

Definition at line 268 of file PhysicsBase.C.

Referenced by PhysicsBase::shouldCreateIC(), and PhysicsBase::shouldCreateTimeDerivative().

269 {
270  mooseAssert(_mesh, "Should have a mesh");
271  std::vector<std::string> sub_names_ids;
272  sub_names_ids.reserve(blocks.size());
273  for (const auto bid : blocks)
274  {
275  const auto bname = _mesh->getSubdomainName(bid);
276  sub_names_ids.push_back((bname.empty() ? "(unnamed)" : bname) + " (" + std::to_string(bid) +
277  ")");
278  }
279  return sub_names_ids;
280 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164

◆ hasMeshProperty() [1/4]

bool MeshMetaDataInterface::hasMeshProperty ( const std::string &  data_name,
const std::string &  prefix 
) const
protectedinherited
Returns
Whether or not a mesh meta-data exists.

Definition at line 25 of file MeshMetaDataInterface.C.

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

27 {
28  return _meta_data_app.hasRestartableMetaData(meshPropertyName(data_name, prefix),
30 }
bool hasRestartableMetaData(const std::string &name, const RestartableDataMapName &metaname) const
Definition: MooseApp.C:2473
static const RestartableDataMapName MESH_META_DATA
Definition: MooseApp.h:112
static std::string meshPropertyName(const std::string &data_name, const std::string &prefix)
MooseApp & _meta_data_app
Reference to the application.

◆ hasMeshProperty() [2/4]

template<typename T >
bool MeshMetaDataInterface::hasMeshProperty ( const std::string &  data_name,
const std::string &  prefix 
) const
protectedinherited
Returns
Whether or not a mesh meta-data exists with the given type.

Definition at line 158 of file MeshMetaDataInterface.h.

160 {
161  if (!hasMeshProperty(data_name, prefix))
162  return false;
163  const auto & value = getMeshPropertyInternal(data_name, prefix);
164  return dynamic_cast<const RestartableData<T> *>(&value) != nullptr;
165 }
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
Concrete definition of a parameter value for a specified type.
bool hasMeshProperty(const std::string &data_name, const std::string &prefix) const
const RestartableDataValue & getMeshPropertyInternal(const std::string &data_name, const std::string &prefix) const
Helper for getting a mesh property.

◆ hasMeshProperty() [3/4]

bool MeshMetaDataInterface::hasMeshProperty ( const std::string &  data_name) const
inlineprotectedinherited
Returns
Whether or not a mesh meta-data exists with the default prefix.

Definition at line 74 of file MeshMetaDataInterface.h.

75  {
76  return hasMeshProperty(data_name, meshPropertyPrefix(data_name));
77  }
virtual std::string meshPropertyPrefix(const std::string &data_name) const
The default prefix to use for getting/seeing if mesh properties exist.
bool hasMeshProperty(const std::string &data_name, const std::string &prefix) const

◆ hasMeshProperty() [4/4]

template<typename T >
bool MeshMetaDataInterface::hasMeshProperty ( const std::string &  data_name) const
inlineprotectedinherited
Returns
Whether or not a mesh meta-data exists with the default prefix and the given type.

Definition at line 82 of file MeshMetaDataInterface.h.

83  {
84  return hasMeshProperty<T>(data_name, meshPropertyPrefix(data_name));
85  }
virtual std::string meshPropertyPrefix(const std::string &data_name) const
The default prefix to use for getting/seeing if mesh properties exist.

◆ isParamSetByUser()

bool MooseBaseParameterInterface::isParamSetByUser ( const std::string &  nm) const
inlineinherited

Test if the supplied parameter is set by a user, as opposed to not set or set to default.

Parameters
nmThe name of the parameter to test

Definition at line 128 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), addFEBCs(), DiffusionPhysicsBase::addInitialConditions(), MFEMMesh::buildMesh(), LibtorchNeuralNetControl::conditionalParameterError(), DiffusionPhysicsBase::DiffusionPhysicsBase(), ElementSubdomainModifierBase::ElementSubdomainModifierBase(), MooseBaseParameterInterface::getRenamedParam(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), PhysicsBase::initializePhysics(), ElementSubdomainModifierBase::initialSetup(), MatrixSymmetryCheck::MatrixSymmetryCheck(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), SolutionInvalidityOutput::output(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PetscExternalPartitioner::partition(), PiecewiseTabularBase::PiecewiseTabularBase(), MooseMesh::prepare(), SolutionUserObjectBase::readXda(), PhysicsBase::reportPotentiallyMissedParameters(), MFEMSolverBase::setPreconditioner(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), TimedSubdomainModifier::TimedSubdomainModifier(), and XYDelaunayGenerator::XYDelaunayGenerator().

128 { return _pars.isParamSetByUser(nm); }
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ isParamValid()

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

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 122 of file MooseBaseParameterInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), GridPartitioner::_do_partition(), CopyNodalVarsAction::act(), SetupMeshAction::act(), SetupDebugAction::act(), ComposeTimeStepperAction::act(), SetAdaptivityOptionsAction::act(), AddVariableAction::act(), CreateDisplacedProblemAction::act(), CommonOutputAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionPhysicsBase::addInitialConditions(), CylinderComponent::addMeshGenerators(), AddPeriodicBCAction::AddPeriodicBCAction(), DiffusionPhysicsBase::addPostprocessors(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayVarReductionAux::ArrayVarReductionAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), TimedSubdomainModifier::buildFromFile(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), ParsedChainControl::buildFunction(), GeneratedMesh::buildMesh(), MooseMesh::buildTypedMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), SampledOutput::cloneMesh(), CombinerGenerator::CombinerGenerator(), FunctorAux::computeValue(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), CopyMeshPartitioner::CopyMeshPartitioner(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByLevelSetGeneratorBase::CutMeshByLevelSetGeneratorBase(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), Eigenvalue::Eigenvalue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FileOutput::FileOutput(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), AddMetaDataGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), BlockDeletionGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), MeshExtruderGenerator::generate(), ParsedExtraElementIDGenerator::generate(), XYZDelaunayGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), PropertyReadFile::getFileNames(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBaseParameterInterface::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), PiecewiseTabularBase::initialSetup(), ParsedConvergence::initialSetup(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), Console::initialSetup(), MooseParsedVectorFunction::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MatDiffusionBase< Real >::MatDiffusionBase(), MeshGeneratorComponent::MeshGeneratorComponent(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableFV< Real >::MooseVariableFV(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiSystemSolveObject::MultiSystemSolveObject(), NodeSetsGeneratorBase::NodeSetsGeneratorBase(), EigenExecutionerBase::normalizeSolution(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), ParsedCurveGenerator::ParsedCurveGenerator(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), MooseMesh::prepare(), MooseBaseParameterInterface::queryParam(), MultiApp::readCommandLineArguments(), SolutionUserObjectBase::readExodusII(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), ReporterPointSource::ReporterPointSource(), PhysicsBase::reportPotentiallyMissedParameters(), ParsedSubdomainMeshGenerator::setBlockName(), MooseMesh::setCoordSystem(), FileOutput::setFileBase(), FileOutput::setFileBaseInternal(), Split::setup(), SideSetsGeneratorBase::setup(), SetupMeshAction::setupMesh(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsGeneratorBase::SideSetsGeneratorBase(), SolutionUserObjectBase::SolutionUserObjectBase(), FEProblemSolve::solve(), WebServerControl::startServer(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

122 { return _pars.isParamValid(name); }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isTransient()

bool PhysicsBase::isTransient ( ) const
protectedinherited

Return whether the Physics is solved using a transient.

Definition at line 233 of file PhysicsBase.C.

Referenced by PhysicsBase::checkIntegrityEarly(), and PhysicsBase::shouldCreateTimeDerivative().

234 {
235  mooseAssert(_problem, "We don't have a problem yet");
236  if (_is_transient == "true")
237  return true;
238  else if (_is_transient == "false")
239  return false;
240  else
241  return getProblem().isTransient();
242 }
MooseEnum _is_transient
Whether the physics is to be solved as a transient.
Definition: PhysicsBase.h:316
virtual FEProblemBase & getProblem()
Get the problem for this physics Useful to add objects to the simulation.
Definition: PhysicsBase.h:112
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168
virtual bool isTransient() const override

◆ isVariableFV()

bool PhysicsBase::isVariableFV ( const VariableName &  var_name) const
protectedinherited

Whether the variable is a finite volume variable.

Definition at line 589 of file PhysicsBase.C.

Referenced by PhysicsBase::shouldCreateIC().

590 {
591  const auto var = &_problem->getVariable(0, var_name);
592  return var->isFV();
593 }
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ isVariableScalar()

bool PhysicsBase::isVariableScalar ( const VariableName &  var_name) const
protectedinherited

Whether the variable is a scalar variable (global single scalar, not a field)

Definition at line 596 of file PhysicsBase.C.

Referenced by PhysicsBase::shouldCreateIC(), and PhysicsBase::shouldCreateTimeDerivative().

597 {
598  return _problem->hasScalarVariable(var_name);
599 }
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ meshPropertyName() [1/2]

std::string MeshMetaDataInterface::meshPropertyName ( const std::string &  data_name,
const std::string &  prefix 
)
staticprotectedinherited
Returns
The full name for mesh property data.

Definition at line 33 of file MeshMetaDataInterface.C.

Referenced by MeshGenerator::declareMeshProperty(), MeshMetaDataInterface::getMeshPropertyInternal(), MeshMetaDataInterface::hasMeshProperty(), MeshMetaDataInterface::meshPropertyName(), and MeshGenerator::setMeshPropertyHelper().

34 {
35  return std::string(SYSTEM) + "/" + prefix + "/" + data_name;
36 }
static constexpr auto SYSTEM
The system name used when initializing the Restartable interface.

◆ meshPropertyName() [2/2]

std::string MeshMetaDataInterface::meshPropertyName ( const std::string &  data_name) const
inlineprotectedinherited
Returns
The default mesh property name for mesh property data

Definition at line 95 of file MeshMetaDataInterface.h.

96  {
97  return meshPropertyName(data_name, meshPropertyPrefix(data_name));
98  }
static std::string meshPropertyName(const std::string &data_name, const std::string &prefix)
virtual std::string meshPropertyPrefix(const std::string &data_name) const
The default prefix to use for getting/seeing if mesh properties exist.

◆ mooseDeprecated()

template<typename... Args>
void MooseBaseErrorInterface::mooseDeprecated ( Args &&...  args) const
inlineinherited

Definition at line 91 of file MooseBaseErrorInterface.h.

Referenced by FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::advanceMultiApps(), MultiApp::appProblem(), MooseMesh::buildSideList(), ChangeOverTimestepPostprocessor::ChangeOverTimestepPostprocessor(), AddVariableAction::determineType(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), MooseMesh::elem(), UserForcingFunction::f(), FaceFaceConstraint::FaceFaceConstraint(), FunctionDT::FunctionDT(), RandomICBase::generateRandom(), MooseMesh::getBoundariesToElems(), DataFileInterface::getDataFileName(), DataFileInterface::getDataFileNameByName(), Control::getExecuteOptions(), FEProblemBase::getNonlinearSystem(), FEProblemBase::getUserObjects(), FEProblemBase::hasPostprocessor(), MatDiffusionBase< Real >::MatDiffusionBase(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalScalarKernel::NodalScalarKernel(), MooseMesh::node(), FixedPointSolve::numPicardIts(), RelationshipManager::operator>=(), PercentChangePostprocessor::PercentChangePostprocessor(), ReferenceResidualConvergence::ReferenceResidualConvergence(), Residual::Residual(), MooseMesh::setBoundaryToNormalMap(), Exodus::setOutputDimension(), and UserForcingFunction::UserForcingFunction().

92  {
94  _console, false, true, _moose_base.errorPrefix("deprecation"), std::forward<Args>(args)...);
95  }
std::string errorPrefix(const std::string &error_type) const
Definition: MooseBase.C:43
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, Args &&... args)
Definition: MooseError.h:239
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ mooseDocumentedError()

template<typename... Args>
void MooseBaseErrorInterface::mooseDocumentedError ( const std::string &  repo_name,
const unsigned int  issue_num,
Args &&...  args 
) const
inlineinherited

Emits a documented error with object name and type.

Documented errors are errors that have an issue associated with them.

The repository name repo_name links a named repository to a URL and should be registered at the application level with registerRepository(). See Moose.C for an example of the "moose" repository registration.

Parameters
repo_nameThe repository name where the issue resides
issue_numThe number of the issue
argsThe error message to be combined

Definition at line 61 of file MooseBaseErrorInterface.h.

Referenced by ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), DGLowerDKernel::DGLowerDKernel(), HFEMDirichletBC::HFEMDirichletBC(), and LowerDIntegratedBC::LowerDIntegratedBC().

64  {
65  std::ostringstream oss;
66  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
67  const auto msg = moose::internal::formatMooseDocumentedError(repo_name, issue_num, oss.str());
68  _moose_base.callMooseError(msg, /* with_prefix = */ true);
69  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:94
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
void callMooseError(std::string msg, const bool with_prefix) const
Calls moose error with the message msg.
Definition: MooseBase.C:33
std::string formatMooseDocumentedError(const std::string &repo_name, const unsigned int issue_num, const std::string &msg)
Formats a documented error.
Definition: MooseError.C:99

◆ mooseError()

template<typename... Args>
void MooseBaseErrorInterface::mooseError ( Args &&...  args) const
inlineinherited

Emits an error prefixed with object name and type.

Definition at line 29 of file MooseBaseErrorInterface.h.

Referenced by CopyMeshPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), GridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), AutoCheckpointAction::act(), CheckIntegrityAction::act(), CheckFVBCAction::act(), CreateExecutionerAction::act(), AddBoundsVectorsAction::act(), AddVectorPostprocessorAction::act(), InitProblemAction::act(), SetupMeshCompleteAction::act(), AddFVICAction::act(), AddICAction::act(), AddMeshGeneratorAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), CombineComponentsMeshes::act(), SetupMeshAction::act(), SplitMeshAction::act(), AdaptivityAction::act(), ChainControlSetupAction::act(), DeprecatedBlockAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), AddTimeStepperAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), SetAdaptivityOptionsAction::act(), MaterialOutputAction::act(), AddMFEMSubMeshAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), Action::Action(), FEProblemBase::adaptMesh(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), MooseVariableFV< Real >::adCurlSln(), MooseVariableFV< Real >::adCurlSlnNeighbor(), AddActionComponentAction::AddActionComponentAction(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), addBoundaryConditionsFromComponents(), PhysicsComponentInterface::addBoundaryConditionsFromComponents(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), DistributedRectilinearMeshGenerator::addElement(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFVInitialCondition(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), FEProblemBase::addInitialCondition(), PhysicsComponentInterface::addInitialConditionsFromComponents(), FEProblemBase::addInterfaceKernel(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), MFEMProblem::addMaterial(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), FEProblemBase::addOutput(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DiracKernelBase::addPoint(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addScalarKernel(), AddVariableAction::addVariable(), FEProblemBase::addVectorPostprocessor(), SubProblem::addVectorTag(), MooseLinearVariableFV< Real >::adError(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), AdvectiveFluxAux::AdvectiveFluxAux(), MooseVariableBase::allDofIndices(), NEML2ModelExecutor::applyPredictor(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayConstantIC::ArrayConstantIC(), ArrayDGKernel::ArrayDGKernel(), ArrayDiffusion::ArrayDiffusion(), ArrayFunctionIC::ArrayFunctionIC(), ArrayReaction::ArrayReaction(), ArrayTimeDerivative::ArrayTimeDerivative(), AddPeriodicBCAction::autoTranslationBoundaries(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), TimedSubdomainModifier::buildFromFile(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), TimedSubdomainModifier::buildFromParameters(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), MooseMesh::buildLowerDMesh(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildSideList(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), PhysicsBase::checkBlockRestrictionIdentical(), ComponentBoundaryConditionInterface::checkBoundaryConditionsAllRequested(), SubProblem::checkBoundaryMatProps(), PhysicsBase::checkComponentType(), IterationCountConvergence::checkConvergence(), MooseMesh::checkCoordinateSystems(), DiffusionLHDGAssemblyHelper::checkCoupling(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), FEProblemBase::checkDuplicatePostprocessorVariableNames(), DefaultConvergenceBase::checkDuplicateSetSharedExecutionerParams(), MooseMesh::checkDuplicateSubdomainNames(), FEProblemBase::checkExceptionAndStopSolve(), NEML2ModelExecutor::checkExecutionStage(), MaterialBase::checkExecutionStage(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), Sampler::checkReinitStatus(), MultiAppGeneralFieldNearestLocationTransfer::checkRestrictionsForSource(), MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppMFEMCopyTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), FEProblemBase::checkUserObjects(), Moose::PetscSupport::checkUserProvidedPetscOption(), DomainUserObject::checkVariable(), MultiAppTransfer::checkVariable(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), LibmeshPartitioner::clone(), MooseMesh::clone(), CombinerGenerator::CombinerGenerator(), ComparisonPostprocessor::comparisonIsTrue(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), FEProblemBase::computeBounds(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), ArrayDGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighResidual(), InternalSideIntegralPostprocessor::computeFaceInfoIntegral(), SideIntegralPostprocessor::computeFaceInfoIntegral(), MooseVariableFieldBase::computeFaceValues(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), HistogramVectorPostprocessor::computeHistogram(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), FVFluxKernel::computeJacobian(), NodalConstraint::computeJacobian(), FEProblemBase::computeJacobianTags(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), EigenProblem::computeMatricesTags(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), FVElementalKernel::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), MaterialBase::computeProperties(), SideFVFluxBCIntegral::computeQpIntegral(), ScalarKernel::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), NodalEqualValueConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), NodeElemConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), ScalarKernel::computeQpResidual(), MassMatrix::computeQpResidual(), HDGKernel::computeQpResidual(), DiffusionLHDGDirichletBC::computeQpResidual(), NodalEqualValueConstraint::computeQpResidual(), DiffusionLHDGPrescribedGradientBC::computeQpResidual(), IPHDGBC::computeQpResidual(), KernelValue::computeQpResidual(), TorchScriptMaterial::computeQpValues(), InterfaceQpValueUserObject::computeRealValue(), ArrayKernel::computeResidual(), ArrayIntegratedBC::computeResidual(), FVFluxBC::computeResidual(), FVFluxKernel::computeResidual(), NodalConstraint::computeResidual(), FVFluxKernel::computeResidualAndJacobian(), ResidualObject::computeResidualAndJacobian(), FEProblemBase::computeResidualAndJacobian(), HDGKernel::computeResidualAndJacobianOnSide(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualTags(), FEProblemBase::computeResidualType(), KernelScalarBase::computeScalarOffDiagJacobian(), ADKernelScalarBase::computeScalarQpResidual(), ADMortarScalarBase::computeScalarQpResidual(), MortarScalarBase::computeScalarQpResidual(), KernelScalarBase::computeScalarQpResidual(), TimeStepper::computeStep(), ActuallyExplicitEuler::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CentralDifference::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), MultiAppGeometricInterpolationTransfer::computeTransformation(), BuildArrayVariableAux::computeValue(), TagVectorArrayVariableAux::computeValue(), NearestNodeValueAux::computeValue(), ProjectionAux::computeValue(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), ParsedConvergence::convertRealToBool(), CopyMeshPartitioner::CopyMeshPartitioner(), CoupledForceNodalKernel::CoupledForceNodalKernel(), MultiApp::createApp(), AddVariableAction::createInitialConditionAction(), Function::curl(), MooseVariableFV< Real >::curlPhi(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), SidesetInfoVectorPostprocessor::dataHelper(), DebugResidualAux::DebugResidualAux(), ReporterTransferInterface::declareClone(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), BicubicSplineFunction::derivative(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), FEProblemBase::determineSolverSystem(), DGKernel::DGKernel(), MeshDiagnosticsGenerator::diagnosticsLog(), DistributedPositions::DistributedPositions(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), MooseVariableFV< Real >::divPhi(), FunctorRelationshipManager::dofmap_reinit(), EigenProblem::doFreeNonlinearPowerIterations(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementIntegerAux::ElementIntegerAux(), ElementMaterialSampler::ElementMaterialSampler(), ElementQualityAux::ElementQualityAux(), ElementSubdomainModifierBase::ElementSubdomainModifierBase(), ElementUOAux::ElementUOAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), DistributedRectilinearMeshGenerator::elemId(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), EigenKernel::enabled(), MooseMesh::errorIfDistributedMesh(), MultiAppTransfer::errorIfObjectExecutesOnTransferInSourceApp(), SideIntegralPostprocessor::errorNoFaceInfo(), SideIntegralFunctorPostprocessorTempl< false >::errorNoFaceInfo(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), FixedPointSolve::examineFixedPointConvergence(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), RealToBoolChainControl::execute(), RestartableDataReporter::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), NodalValueSampler::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppPostprocessorTransfer::execute(), ElementQualityChecker::execute(), PositionsFunctorValueSampler::execute(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppMFEMCopyTransfer::execute(), MultiAppCopyTransfer::execute(), WebServerControl::execute(), InterfaceQpUserObjectBase::execute(), MultiAppGeometricInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), LeastSquaresFit::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFitHistory::execute(), TimeExtremeValue::execute(), Eigenvalue::execute(), DomainUserObject::execute(), FEProblemBase::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), ExplicitSSPRungeKutta::ExplicitSSPRungeKutta(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), NEML2ModelExecutor::extractOutputs(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemSolve::FEProblemSolve(), FileOutput::FileOutput(), NEML2ModelExecutor::fillInputs(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), NearestPointAverage::finalize(), NearestPointIntegralVariablePostprocessor::finalize(), Transfer::find_sys(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVMassMatrix::FVMassMatrix(), FVMatAdvection::FVMatAdvection(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), GapValueAux::GapValueAux(), WorkBalance::gather(), ElementOrderConversionGenerator::generate(), BlockToMeshConverterGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), SideSetsFromNormalsGenerator::generate(), SmoothMeshGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), MeshDiagnosticsGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), MeshRepairGenerator::generate(), SideSetsFromPointsGenerator::generate(), CombinerGenerator::generate(), AllSideSetsByNormalsGenerator::generate(), MeshExtruderGenerator::generate(), AdvancedExtruderGenerator::generate(), MeshCollectionGenerator::generate(), ParsedGenerateNodeset::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), XYZDelaunayGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), SpiralAnnularMeshGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), RandomICBase::generateRandom(), GenericConstantMaterialTempl< is_ad >::GenericConstantMaterialTempl(), GenericConstantVectorMaterialTempl< is_ad >::GenericConstantVectorMaterialTempl(), GenericFunctionMaterialTempl< is_ad >::GenericFunctionMaterialTempl(), GenericFunctionVectorMaterialTempl< is_ad >::GenericFunctionVectorMaterialTempl(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::GenericFunctorTimeDerivativeMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), DisplacedProblem::getActualFieldVariable(), FEProblemBase::getActualFieldVariable(), DisplacedProblem::getArrayVariable(), FEProblemBase::getArrayVariable(), MooseMesh::getAxisymmetricRadialCoord(), MFEMFESpace::getBasis(), NEML2BatchIndexGenerator::getBatchIndex(), MooseMesh::getBlockConnectedBlocks(), VariableOldValueBounds::getBound(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), ChainControl::getChainControlDataByName(), MooseMesh::getCoarseningMap(), MultiApp::getCommandLineArgs(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), FEProblemBase::getConvergence(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PropertyReadFile::getData(), DataFileInterface::getDataFilePath(), TransfiniteMeshGenerator::getDiscreteEdge(), FEProblemBase::getDistribution(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), GhostingUserObject::getElementalValue(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), PropertyReadFile::getElementData(), MooseMesh::getElementIDIndex(), Material::getElementIDNeighbor(), Material::getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), MultiAppFieldTransfer::getEquationSystem(), MultiApp::getExecutioner(), MFEMVectorFESpace::getFECName(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), FEProblemBase::getFunction(), SubProblem::getFunctor(), FEProblemBase::getFVMatsAndDependencies(), MooseMesh::getGeneralAxisymmetricCoordAxis(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), DistributedRectilinearMeshGenerator::getIndices(), FEProblemBase::getLinearConvergenceNames(), SolutionUserObjectBase::getLocalVarIndex(), Material::getMaterialByName(), FEProblemBase::getMaterialData(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), FEProblemBase::getMultiAppFixedPointConvergenceName(), DistributedRectilinearMeshGenerator::getNeighbors(), Times::getNextTime(), MooseMesh::getNodeBlockIds(), PropertyReadFile::getNodeData(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearConvergenceNames(), EigenProblem::getNonlinearEigenSystem(), FEProblemBase::getNonlinearSystem(), NEML2ModelExecutor::getOutput(), NEML2ModelExecutor::getOutputDerivative(), NEML2ModelExecutor::getOutputParameterDerivative(), MooseMesh::getPairedBoundaryMapping(), MaterialOutputAction::getParams(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), PlaneIDMeshGenerator::getPlaneID(), Positions::getPosition(), Positions::getPositions(), FEProblemBase::getPositionsObject(), Positions::getPositionsVector2D(), Positions::getPositionsVector3D(), Positions::getPositionsVector4D(), PostprocessorInterface::getPostprocessorValueByNameInternal(), Times::getPreviousTime(), ComponentMaterialPropertyInterface::getPropertyValue(), InterfaceQpUserObjectBase::getQpValue(), MooseMesh::getRefinementMap(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), FEProblemBase::getSampler(), WebServerControl::getScalarJSONValue(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), MooseObject::getSharedPtr(), InterfaceQpUserObjectBase::getSideAverageValue(), PhysicsBase::getSolverSystem(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), TimedSubdomainModifier::getSubdomainIDAndCheck(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), Times::getTimeAtIndex(), FEProblemBase::getTimeFromStateArg(), TransientBase::getTimeIntegratorNames(), Times::getTimes(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), NumRelationshipManagers::getValue(), VectorPostprocessorComponent::getValue(), Residual::getValue(), SideAverageValue::getValue(), JSONFileReader::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), JSONFileReader::getVector(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingFromUOAux::GhostingFromUOAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), Function::gradient(), FEProblemBase::handleException(), Terminator::handleMessage(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), HDGKernel::HDGKernel(), TransientBase::incrementStepOrReject(), FixedPointIterationAdaptiveDT::init(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), ExplicitTimeIntegrator::init(), EigenExecutionerBase::init(), TransientBase::init(), FEProblem::init(), AddAuxVariableAction::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), FEProblemBase::init(), MultiApp::init(), FEProblemBase::initialAdaptMesh(), NestedDivision::initialize(), DistributedPositions::initialize(), TransformedPositions::initialize(), ReporterPositions::initialize(), ElementGroupCentroidPositions::initialize(), FunctorPositions::initialize(), ReporterTimes::initialize(), FunctorTimes::initialize(), ParsedDownSelectionPositions::initialize(), ParsedConvergence::initializeConstantSymbol(), PhysicsBase::initializePhysics(), SteffensenSolve::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), PiecewiseLinearBase::initialSetup(), ChainControlDataPostprocessor::initialSetup(), IntegralPreservingFunctionIC::initialSetup(), MultiAppConservativeTransfer::initialSetup(), FullSolveMultiApp::initialSetup(), PiecewiseLinear::initialSetup(), CoarsenedPiecewiseLinear::initialSetup(), LinearFVAdvection::initialSetup(), LinearFVAnisotropicDiffusion::initialSetup(), LinearFVDiffusion::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), SolutionAux::initialSetup(), ExplicitTimeIntegrator::initialSetup(), ReferenceResidualConvergence::initialSetup(), NodalVariableValue::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), CSV::initialSetup(), MooseParsedFunction::initialSetup(), SolutionUserObjectBase::initialSetup(), FEProblemBase::initialSetup(), SubProblem::initialSetup(), AdvancedOutput::initOutputList(), MFEMProblem::initProblemOperator(), AdvancedOutput::initShowHideLists(), Function::integral(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceTimeKernel::InterfaceTimeKernel(), InternalSideIndicatorBase::InternalSideIndicatorBase(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), IterationCountConvergence::IterationCountConvergence(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MultiAppGeneralFieldTransfer::locatePointReceivers(), LowerBoundNodalKernel::LowerBoundNodalKernel(), MooseLinearVariableFV< Real >::lowerDError(), PNGOutput::makePNG(), ReporterPointMarker::markerSetup(), SubProblem::markFamilyPRefinement(), MassMatrix::MassMatrix(), Material::Material(), MaterialRealTensorValueAuxTempl< is_ad >::MaterialRealTensorValueAuxTempl(), MaterialRealVectorValueAuxTempl< T, is_ad, is_functor >::MaterialRealVectorValueAuxTempl(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableConstMonomial::MooseVariableConstMonomial(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppMFEMCopyTransfer::MultiAppMFEMCopyTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), FEProblemBase::needsPreviousNewtonIteration(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), MooseVariableFV< Real >::nodalDofIndex(), MooseVariableFV< Real >::nodalDofIndexNeighbor(), MooseLinearVariableFV< Real >::nodalError(), MooseVariableFV< Real >::nodalMatrixTagValue(), NodalPatchRecoveryBase::nodalPatchRecovery(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalScalarKernel::NodalScalarKernel(), MooseVariableFV< Real >::nodalValueArray(), MooseVariableFV< Real >::nodalValueOldArray(), MooseVariableFV< Real >::nodalValueOlderArray(), NodalVariableValue::NodalVariableValue(), MooseVariableFV< Real >::nodalVectorTagValue(), DistributedRectilinearMeshGenerator::nodeId(), MooseVariableFV< Real >::numberOfDofsNeighbor(), NumDOFs::NumDOFs(), NumFailedTimeSteps::NumFailedTimeSteps(), DistributedRectilinearMeshGenerator::numNeighbors(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), ActionComponent::outerSurfaceArea(), ActionComponent::outerSurfaceBoundaries(), XDA::output(), SolutionHistory::output(), Exodus::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), Exodus::outputSetup(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), DistributedRectilinearMeshGenerator::paritionSquarely(), PiecewiseBilinear::parse(), ParsedConvergence::ParsedConvergence(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), MultiAppConservativeTransfer::performAdjustment(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), MooseVariableFV< Real >::phiLowerSize(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), PiecewiseTabularBase::PiecewiseTabularBase(), CutMeshByLevelSetGeneratorBase::pointPairLevelSetInterception(), SolutionUserObjectBase::pointValueGradientWrapper(), SolutionUserObjectBase::pointValueWrapper(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), EigenProblem::postScaleEigenVector(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), ADKernelValueTempl< T >::precomputeQpJacobian(), Predictor::Predictor(), TransientBase::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), PseudoTimestep::PseudoTimestep(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readExodusII(), SolutionUserObjectBase::readXda(), CoarsenBlockGenerator::recursiveCoarsen(), FunctorRelationshipManager::redistribute(), ReferenceResidualConvergence::ReferenceResidualConvergence(), Sampler::reinit(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), PhysicsBase::reportPotentiallyMissedParameters(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), PiecewiseMultiInterpolation::sample(), ScalarComponentIC::ScalarComponentIC(), MortarScalarBase::scalarVariable(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), BicubicSplineFunction::secondDerivative(), MooseVariableFV< Real >::secondPhi(), MooseVariableFV< Real >::secondPhiFace(), MooseVariableFV< Real >::secondPhiFaceNeighbor(), MooseVariableFV< Real >::secondPhiNeighbor(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), FEProblemBase::setCoupling(), PiecewiseBase::setData(), FileOutput::setFileBaseInternal(), MooseMesh::setGeneralAxisymmetricCoordAxes(), FEProblemSolve::setInnerSolve(), MeshGenerator::setMeshProperty(), FVPointValueConstraint::setMyElem(), FEProblemBase::setNonlocalCouplingMatrix(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Exodus::setOutputDimensionInExodusWriter(), AddPeriodicBCAction::setPeriodicVars(), MFEMSolverBase::setPreconditioner(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), Split::setup(), TransientMultiApp::setupApp(), SetupMeshAction::setupMesh(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), TimePeriodBase::setupTimes(), IntegratedBCBase::shouldApply(), PhysicsBase::shouldCreateIC(), PhysicsBase::shouldCreateTimeDerivative(), PhysicsBase::shouldCreateVariable(), SideAdvectiveFluxIntegralTempl< is_ad >::SideAdvectiveFluxIntegralTempl(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObjectBase::SolutionUserObjectBase(), TimeIntegrator::solve(), FEProblemBase::solverSysNum(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialPoints(), NearestPointAverage::spatialValue(), NearestPointIntegralVariablePostprocessor::spatialValue(), MeshDivisionFunctorReductionVectorPostprocessor::spatialValue(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), WebServerControl::stringifyJSONType(), MultiAppGeometricInterpolationTransfer::subdomainIDsNode(), Constraint::subdomainSetup(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), MaterialBase::subdomainSetup(), FEProblemBase::swapBackMaterialsNeighbor(), DisplacedProblem::systemBaseLinear(), Console::systemInfoFlags(), FEProblemBase::systemNumForVariable(), TerminateChainControl::terminate(), Terminator::Terminator(), CutMeshByLevelSetGeneratorBase::tet4ElemCutter(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimedSubdomainModifier::TimedSubdomainModifier(), TimeExtremeValue::TimeExtremeValue(), Function::timeIntegral(), MooseLinearVariableFV< Real >::timeIntegratorError(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriodBase::TimePeriodBase(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppDofCopyTransfer::transfer(), MultiAppMFEMCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), TransformedPositions::TransformedPositions(), FEProblemBase::trustUserCouplingMatrix(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), FEProblemBase::uDotDotOldRequested(), MooseVariableScalar::uDotOld(), FEProblemBase::uDotOldRequested(), Positions::unrollMultiDPositions(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), Checkpoint::updateCheckpointFiles(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObjectBase::updateExodusBracketingTimeIndices(), FEProblemBase::updateMaxQps(), MFEMHypreAMS::updateSolver(), MFEMHypreADS::updateSolver(), MFEMGMRESSolver::updateSolver(), MFEMOperatorJacobiSmoother::updateSolver(), MFEMHyprePCG::updateSolver(), MFEMHypreFGMRES::updateSolver(), MFEMCGSolver::updateSolver(), MFEMHypreBoomerAMG::updateSolver(), MFEMHypreGMRES::updateSolver(), MFEMSuperLU::updateSolver(), UpperBoundNodalKernel::UpperBoundNodalKernel(), NearestPointAverage::userObjectValue(), NearestPointIntegralVariablePostprocessor::userObjectValue(), BoundingBoxIC::value(), PiecewiseConstantFromCSV::value(), IntegralPreservingFunctionIC::value(), Axisymmetric2D3DSolutionFunction::value(), Function::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), AddVariableAction::variableType(), VariableValueVolumeHistogram::VariableValueVolumeHistogram(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), VectorNodalBC::VectorNodalBC(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), Function::vectorValue(), SubProblem::verifyVectorTags(), ActionComponent::volume(), VTKOutput::VTKOutput(), WebServerControl::WebServerControl(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

30  {
31  std::ostringstream oss;
32  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
33  _moose_base.callMooseError(oss.str(), /* with_prefix = */ true);
34  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:94
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
void callMooseError(std::string msg, const bool with_prefix) const
Calls moose error with the message msg.
Definition: MooseBase.C:33

◆ mooseErrorNonPrefixed()

template<typename... Args>
void MooseBaseErrorInterface::mooseErrorNonPrefixed ( Args &&...  args) const
inlineinherited

Emits an error without the prefixing included in mooseError().

Definition at line 40 of file MooseBaseErrorInterface.h.

41  {
42  std::ostringstream oss;
43  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
44  _moose_base.callMooseError(oss.str(), /* with_prefix = */ false);
45  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:94
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
void callMooseError(std::string msg, const bool with_prefix) const
Calls moose error with the message msg.
Definition: MooseBase.C:33

◆ mooseInfo()

template<typename... Args>
void MooseBaseErrorInterface::mooseInfo ( Args &&...  args) const
inlineinherited

Definition at line 98 of file MooseBaseErrorInterface.h.

Referenced by SetupRecoverFileBaseAction::act(), AStableDirk4::AStableDirk4(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MultiAppGeneralFieldNearestLocationTransfer::evaluateInterpValuesNearestNode(), PIDTransientControl::execute(), ExplicitRK2::ExplicitRK2(), ExplicitTVDRK2::ExplicitTVDRK2(), DataFileInterface::getDataFilePath(), MFEMScalarFESpace::getFECName(), MultiAppTransfer::getPointInTargetAppFrame(), ImplicitMidpoint::ImplicitMidpoint(), ParsedDownSelectionPositions::initialize(), PropertyReadFile::initialize(), MultiAppGeneralFieldTransfer::initialSetup(), InversePowerMethod::InversePowerMethod(), LStableDirk2::LStableDirk2(), LStableDirk3::LStableDirk3(), LStableDirk4::LStableDirk4(), PNGOutput::makeMeshFunc(), NonlinearEigen::NonlinearEigen(), SolutionInvalidityOutput::output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), ProjectionAux::ProjectionAux(), ReferenceResidualConvergence::ReferenceResidualConvergence(), MFEMDataCollection::registerFields(), FEProblemBase::setRestartFile(), SolutionUserObjectBase::SolutionUserObjectBase(), and SymmetryTransformGenerator::SymmetryTransformGenerator().

99  {
101  _console, _moose_base.errorPrefix("information"), std::forward<Args>(args)...);
102  }
void mooseInfoStream(S &oss, Args &&... args)
Definition: MooseError.h:232
std::string errorPrefix(const std::string &error_type) const
Definition: MooseBase.C:43
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ mooseWarning()

template<typename... Args>
void MooseBaseErrorInterface::mooseWarning ( Args &&...  args) const
inlineinherited

Emits a warning prefixed with object name and type.

Definition at line 75 of file MooseBaseErrorInterface.h.

Referenced by CopyMeshPartitioner::_do_partition(), AddKernelAction::act(), MeshOnlyAction::act(), AddFunctionAction::act(), MaterialOutputAction::act(), CommonOutputAction::act(), MFEMProblem::addFunction(), MooseMesh::addPeriodicVariable(), DiracKernelBase::addPoint(), BoundaryMarker::BoundaryMarker(), DistributedRectilinearMeshGenerator::buildCube(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), SampledOutput::cloneMesh(), MultiAppGeneralFieldTransfer::closestToPosition(), VariableValueElementSubdomainModifier::computeSubdomainID(), GapValueAux::computeValue(), MultiApp::createApp(), DebugResidualAux::DebugResidualAux(), MeshDiagnosticsGenerator::diagnosticsLog(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), CartesianGridDivision::divisionIndex(), ElementMaterialSampler::ElementMaterialSampler(), Postprocessor::evaluateDotWarning(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), ElementQualityChecker::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), SubdomainPerElementGenerator::generate(), StitchedMeshGenerator::generate(), ParsedGenerateSideset::generate(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), DataFileInterface::getDataFilePath(), PointSamplerBase::getLocalElemContainingPoint(), FEProblemBase::getMaterial(), LineValueSampler::getValue(), Terminator::handleMessage(), IndicatorMarker::IndicatorMarker(), CylindricalGridDivision::initialize(), SphericalGridDivision::initialize(), ElementGroupCentroidPositions::initialize(), CartesianGridDivision::initialize(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), BoundsBase::initialSetup(), ReferenceResidualConvergence::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), LeastSquaresFit::LeastSquaresFit(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::mesh(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), NewmarkBeta::NewmarkBeta(), NodalPatchRecovery::NodalPatchRecovery(), NonlocalIntegratedBC::NonlocalIntegratedBC(), NonlocalKernel::NonlocalKernel(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PiecewiseConstantFromCSV::PiecewiseConstantFromCSV(), Executioner::problem(), PropertyReadFile::readData(), TestSourceStepper::rejectStep(), PhysicsBase::reportPotentiallyMissedParameters(), MaterialBase::resetQpProperties(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setCoordSystem(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), FEProblemBase::sizeZeroes(), TransientMultiApp::solveStep(), Tecplot::Tecplot(), TimeDerivativeAux::TimeDerivativeAux(), Checkpoint::updateCheckpointFiles(), SampledOutput::updateSample(), PiecewiseConstantFromCSV::value(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

76  {
78  _console, _moose_base.errorPrefix("warning"), std::forward<Args>(args)...);
79  }
std::string errorPrefix(const std::string &error_type) const
Definition: MooseBase.C:43
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:184
const MooseBase & _moose_base
The MooseBase class deriving from this interface.
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ mooseWarningNonPrefixed()

template<typename... Args>
void MooseBaseErrorInterface::mooseWarningNonPrefixed ( Args &&...  args) const
inlineinherited

Emits a warning without the prefixing included in mooseWarning().

Definition at line 85 of file MooseBaseErrorInterface.h.

86  {
87  moose::internal::mooseWarningStream(_console, std::forward<Args>(args)...);
88  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:184
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ name()

virtual const std::string& MooseBase::name ( ) const
inlinevirtualinherited

Get the name of the class.

Returns
The name of the class

Reimplemented in MooseVariableBase.

Definition at line 57 of file MooseBase.h.

Referenced by AddElementalFieldAction::act(), CopyNodalVarsAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), SetupTimeIntegratorAction::act(), AddActionComponentAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), AddPeriodicBCAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), PhysicsComponentInterface::addComponent(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), Registry::addDataFilePath(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), SubProblem::addFunctor(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), ComponentMeshTransformHelper::addMeshGenerators(), CylinderComponent::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMPreconditioner(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), ComponentPhysicsInterface::addPhysics(), SubProblem::addPiecewiseByBlockLambdaFunctor(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), InitialConditionBase::addPostprocessorDependencyHelper(), UserObject::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), InitialConditionBase::addUserObjectDependencyHelper(), UserObject::addUserObjectDependencyHelper(), AuxKernelTempl< Real >::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), UserObject::addVectorPostprocessorDependencyHelper(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MooseApp::appBinaryName(), MooseApp::appendMeshGenerator(), Registry::appNameFromAppPath(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), PhysicsBase::assignBlocks(), AStableDirk4::AStableDirk4(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), MFEMFESpace::buildFEC(), PiecewiseTabularBase::buildFromFile(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), MooseBase::callMooseError(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), PhysicsBase::checkBlockRestrictionIdentical(), PhysicsBase::checkComponentType(), DefaultNonlinearConvergence::checkConvergence(), ParsedConvergence::checkConvergence(), FEProblemBase::checkDependMaterialsHelper(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Material::checkMaterialProperty(), MooseApp::checkMetaDataIntegrity(), Damper::checkMinDamping(), Checkpoint::checkpointInfo(), Coupleable::checkWritableVar(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBaseParameterInterface::connectControllableParams(), ConstantPostprocessor::ConstantPostprocessor(), CommonOutputAction::create(), MultiApp::createApp(), MooseApp::createExecutors(), MeshGeneratorSystem::createMeshGeneratorOrder(), MooseApp::createRecoverablePerfGraph(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), MaterialBase::declareADProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), Registry::determineDataFilePath(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementMaterialSampler::ElementMaterialSampler(), ElementValueSampler::ElementValueSampler(), EigenKernel::enabled(), MooseMesh::errorIfDistributedMesh(), MooseBase::errorPrefix(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), RestartableDataReporter::execute(), PointValue::execute(), MultiAppNearestNodeTransfer::execute(), WebServerControl::execute(), MultiAppGeneralFieldTransfer::execute(), ActionWarehouse::executeActionsWithAction(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), MultiApp::fillPositions(), PointSamplerBase::finalize(), ChainControl::fullControlDataName(), FunctionDT::FunctionDT(), FunctionIC::functionName(), FVFunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), MooseServer::gatherDocumentSymbols(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), BreakMeshByBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), ParsedExtraElementIDGenerator::generate(), StitchedMeshGenerator::generate(), XYDelaunayGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MeshGenerator::generateInternal(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MultiApp::getBoundingBox(), MooseApp::getCheckpointDirectories(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), FEProblemBase::getConvergence(), Registry::getDataFilePath(), UserObject::getDependObjects(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), MooseApp::getExecutor(), FEProblemBase::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), Material::getGenericMaterialProperty(), AuxKernelTempl< Real >::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), Material::getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), MFEMProblem::getGridFunction(), SolutionUserObjectBase::getLocalVarIndex(), Marker::getMarkerValue(), Material::getMaterial(), FEProblemBase::getMaterial(), Material::getMaterialByName(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), Material::getMaterialProperty(), AuxKernelTempl< Real >::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), AuxKernelTempl< Real >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), AuxKernelTempl< Real >::getMaterialPropertyOlder(), MFEMGeneralUserObject::getMatrixCoefficient(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MooseApp::getMeshGenerator(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), ActionWarehouse::getMooseAppName(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), MooseServer::getObjectParameters(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), OutputWarehouse::getOutput(), MooseApp::getParam(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ComponentMaterialPropertyInterface::getPropertyValue(), ReporterData::getReporterInfo(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), FEProblemBase::getSampler(), MFEMGeneralUserObject::getScalarCoefficient(), TransientBase::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), MFEMGeneralUserObject::getVectorCoefficient(), Terminator::handleMessage(), Control::hasControllableParameterByName(), FEProblemBase::hasConvergence(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), MooseApp::hasMeshGenerator(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), MooseApp::hasRelationshipManager(), MooseApp::hasRestartableDataMap(), MooseApp::hasRestartableMetaData(), FEProblemBase::hasUserObject(), IterationAdaptiveDT::init(), AddVariableAction::init(), AdvancedOutput::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), JSONOutput::initialSetup(), SideFVFluxBCIntegral::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppProjectionTransfer::initialSetup(), NodalVariableValue::initialSetup(), Console::initialSetup(), SolutionUserObjectBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MeshGenerator::isChildMeshGenerator(), MeshGenerator::isNullMeshName(), MooseApp::isParamValid(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), Marker::Marker(), MaterialBase::markMatPropRequested(), MatDiffusionBase< Real >::MatDiffusionBase(), Material::Material(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshGenerator::meshPropertyPrefix(), MooseApp::MooseApp(), OutputWarehouse::mooseConsole(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), Registry::objData(), MeshGenerator::Comparator::operator()(), ProgressOutput::output(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), MaterialOutputAction::outputHelper(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedCurveGenerator::ParsedCurveGenerator(), MooseServer::parseDocumentForDiagnostics(), ParsedODEKernel::ParsedODEKernel(), ComponentPhysicsInterface::physicsExists(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), MooseApp::possiblyLoadRestartableMetaData(), PhysicsBase::prefix(), MooseMesh::prepare(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), PerfGraphLivePrint::printStats(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), AppFactory::reg(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), MooseApp::registerRestartableDataMapName(), MooseApp::registerRestartableNameWithFilter(), GlobalParamsAction::remove(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), GlobalParamsAction::setDoubleIndexParam(), OutputWarehouse::setFileNumbers(), GlobalParamsAction::setParam(), FEProblemBase::setPostprocessorValueByName(), FEProblemBase::setResidualObjectParamsAndLog(), GlobalParamsAction::setScalarParam(), MooseMesh::setSubdomainName(), GlobalParamsAction::setTripleIndexParam(), NodeSetsGeneratorBase::setup(), Split::setup(), SideSetsGeneratorBase::setup(), TransientMultiApp::setupApp(), GlobalParamsAction::setVectorParam(), FullSolveMultiApp::showStatusMessage(), SideSetExtruderGenerator::SideSetExtruderGenerator(), TransientMultiApp::solveStep(), UserObject::spatialValue(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), MaterialBase::storeBoundaryZeroMatProp(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), MaterialBase::storeSubdomainZeroMatProp(), SubProblem::storeSubdomainZeroMatProp(), MaterialBase::subdomainSetup(), TaggingInterface::TaggingInterface(), VectorPostprocessorVisualizationAux::timestepSetup(), to_json(), MultiAppDofCopyTransfer::transfer(), TransientMultiApp::TransientMultiApp(), MooseServer::traverseParseTreeAndFillSymbols(), MooseBase::typeAndName(), MooseBaseParameterInterface::uniqueParameterName(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), UserObject::UserObject(), UserObjectInterface::userObjectName(), ParsedAux::validateGenericVectorNames(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), Convergence::verboseOutput(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), Coupleable::writableVariable(), Console::write(), and MooseApp::writeRestartableMetaData().

57 { return _name; }
const std::string _name
The name of this class.
Definition: MooseBase.h:90

◆ paramError()

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

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 255 of file MooseBaseParameterInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), AutoCheckpointAction::act(), SetupDebugAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), addFEKernels(), DiffusionFV::addFVKernels(), NEML2ModelExecutor::addGatheredParameter(), NEML2ModelExecutor::addGatheredVariable(), ADDGKernel::ADDGKernel(), CylinderComponent::addMeshGenerators(), AddPeriodicBCAction::AddPeriodicBCAction(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADNodalKernel::ADNodalKernel(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayVacuumBC::ArrayVacuumBC(), ArrayVarReductionAux::ArrayVarReductionAux(), ParsedSubdomainIDsGenerator::assignElemSubdomainID(), AuxKernelTempl< Real >::AuxKernelTempl(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), PiecewiseTabularBase::buildFromFile(), MFEMMesh::buildMesh(), CartesianGridDivision::CartesianGridDivision(), checkComponent(), MeshGenerator::checkGetMesh(), ComponentInitialConditionInterface::checkInitialConditionsAllRequested(), BatchMeshGeneratorAction::checkInputParameterType(), PhysicsBase::checkIntegrityEarly(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinerGenerator::CombinerGenerator(), ComponentInitialConditionInterface::ComponentInitialConditionInterface(), ComponentMaterialPropertyInterface::ComponentMaterialPropertyInterface(), CompositionDT::CompositionDT(), FunctorAux::computeValue(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), EqualValueEmbeddedConstraintTempl< is_ad >::EqualValueEmbeddedConstraintTempl(), ReporterPointSource::errorCheck(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::FileMeshGenerator(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), ReporterPointSource::fillPoint(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicatorBase::finalize(), ForcingFunctionAux::ForcingFunctionAux(), FullSolveMultiApp::FullSolveMultiApp(), FunctionArrayAux::FunctionArrayAux(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FunctorADConverterTempl< T >::FunctorADConverterTempl(), FunctorAux::FunctorAux(), FunctorBinnedValuesDivision::FunctorBinnedValuesDivision(), FunctorCoordinatesFunctionAux::FunctorCoordinatesFunctionAux(), FunctorElementalGradientAuxTempl< is_ad >::FunctorElementalGradientAuxTempl(), FunctorExtremaPositions::FunctorExtremaPositions(), FunctorIC::FunctorIC(), FunctorPositions::FunctorPositions(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVAdvection::FVAdvection(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), ExtraNodesetGenerator::generate(), ElementsToTetrahedronsConverter::generate(), AddMetaDataGenerator::generate(), BlockToMeshConverterGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), PlaneIDMeshGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), AdvancedExtruderGenerator::generate(), BreakMeshByElementGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), CombinerGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedCurveGenerator::generate(), ParsedExtraElementIDGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), XYZDelaunayGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), GeneratedMeshGenerator::GeneratedMeshGenerator(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::GenericFunctorTimeDerivativeMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), PropertyReadFile::getBlockData(), ComponentBoundaryConditionInterface::getBoundaryCondition(), MultiApp::getCommandLineArgs(), PropertyReadFile::getData(), PropertyReadFile::getFileNames(), Sampler::getGlobalSamples(), ComponentInitialConditionInterface::getInitialCondition(), NEML2Action::getInputParameterMapping(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), Sampler::getLocalSamples(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), Sampler::getNextLocalRow(), FEProblemSolve::getParamFromNonlinearSystemVectorParam(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), HFEMDirichletBC::HFEMDirichletBC(), AddVariableAction::init(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), JSONOutput::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), SideFVFluxBCIntegral::initialSetup(), ElementSubdomainModifierBase::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), HistogramVectorPostprocessor::initialSetup(), ReferenceResidualConvergence::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), SampledOutput::initSample(), AddMetaDataGenerator::inputChecker(), IntegratedBC::IntegratedBC(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceValueUserObjectAux::InterfaceValueUserObjectAux(), InternalSideIndicatorBase::InternalSideIndicatorBase(), InterpolatedStatefulMaterialTempl< T >::InterpolatedStatefulMaterialTempl(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), MultiApp::keepSolutionDuringRestore(), Kernel::Kernel(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationFunction::LinearCombinationFunction(), LowerDIntegratedBC::LowerDIntegratedBC(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MaterialADConverterTempl< T >::MaterialADConverterTempl(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MatrixSymmetryCheck::MatrixSymmetryCheck(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MeshGeneratorComponent::MeshGeneratorComponent(), MFEMGenericFunctorMaterial::MFEMGenericFunctorMaterial(), MFEMGenericFunctorVectorMaterial::MFEMGenericFunctorVectorMaterial(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), UserObjectInterface::mooseObjectError(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppGeometricInterpolationTransfer::MultiAppGeometricInterpolationTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer::MultiAppProjectionTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), MultiSystemSolveObject::MultiSystemSolveObject(), NearestNodeValueAux::NearestNodeValueAux(), NEML2Action::NEML2Action(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedPostprocessor::ParsedPostprocessor(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshGenerator::PolyLineMeshGenerator(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), ProjectionAux::ProjectionAux(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readXda(), ReferenceResidualConvergence::ReferenceResidualConvergence(), RefineBlockGenerator::RefineBlockGenerator(), RefineSidesetGenerator::RefineSidesetGenerator(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), FEProblemBase::setLinearConvergenceNames(), FEProblemBase::setNonlinearConvergenceNames(), MooseMesh::setPartitioner(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), NEML2Action::setupDerivativeMappings(), NEML2Action::setupParameterDerivativeMappings(), TimeSequenceStepperBase::setupSequence(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), SymmetryTransformGenerator::SymmetryTransformGenerator(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObject::UserObject(), Checkpoint::validateExecuteOn(), ParsedAux::validateGenericVectorNames(), ParsedMaterialBase::validateVectorNames(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), XYMeshLineCutter::XYMeshLineCutter(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

256 {
257  Moose::show_trace = false;
258  _moose_base.callMooseError(paramErrorMsg(param, std::forward<Args>(args)...),
259  /* with_prefix = */ false);
260  Moose::show_trace = true;
261 }
bool show_trace
Set to true (the default) to print the stack trace with error and warning messages - false to omit it...
Definition: Moose.C:761
const MooseBase & _moose_base
The MooseBase object that inherits this class.
std::string paramErrorMsg(const std::string &param, Args... args) const
void callMooseError(std::string msg, const bool with_prefix) const
Calls moose error with the message msg.
Definition: MooseBase.C:33

◆ parameterConsistent()

bool InputParametersChecksUtils< PhysicsBase >::parameterConsistent ( const InputParameters other_param,
const std::string &  param_name 
) const
protectedinherited

Return whether two parameters are consistent.

Parameters
other_paramInputParameters object from another object to check the 'param_name' parameter in
param_namethe name of the parameter to check for consistency

Definition at line 460 of file InputParametersChecksUtils.h.

462 {
463  assertParamDefined<T>(param_name);
464  mooseAssert(other_param.have_parameter<T>(param_name),
465  "This should have been a parameter from the parameters being compared");
466  bool consistent = true;
467  if (forwardParameters().isParamValid(param_name) && other_param.isParamValid(param_name))
468  {
469  if constexpr (std::is_same_v<MooseEnum, T>)
470  {
471  if (!forwardGetParam<T>(param_name).compareCurrent(other_param.get<T>(param_name)))
472  consistent = false;
473  }
474  else if (forwardGetParam<T>(param_name) != other_param.get<T>(param_name))
475  consistent = false;
476  }
477  return consistent;
478 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & forwardParameters() const
Forwards obtaining parameters to the class using this utility.
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ parameters()

const InputParameters& MooseBaseParameterInterface::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), AddActionComponentAction::act(), CommonOutputAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), MFEMProblem::addAuxVariable(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MFEMProblem::addFESpace(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), MFEMProblem::addGridFunction(), FEProblemBase::addHDGKernel(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), MFEMProblem::addMFEMPreconditioner(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), MFEMProblem::addSubMesh(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), MFEMProblem::addVariable(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), Action::associateWithParameter(), AuxKernelTempl< Real >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), PostprocessorInterface::checkParam(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), SampledOutput::cloneMesh(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), CommonOutputAction::create(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementMaterialSampler::ElementMaterialSampler(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), Executor::Executor(), Exodus::Exodus(), FEProblem::FEProblem(), FEProblemBase::FEProblemBase(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainGeneratorBase::generate(), MooseBaseParameterInterface::getCheckedPointerParam(), ActionWarehouse::getCurrentActionName(), ExecutorInterface::getExecutor(), Material::getMaterial(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), VectorPostprocessorInterface::getVectorPostprocessorName(), GhostingUserObject::GhostingUserObject(), AttribSystem::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MFEMCGSolver::MFEMCGSolver(), MFEMGMRESSolver::MFEMGMRESSolver(), MFEMHypreADS::MFEMHypreADS(), MFEMHypreAMS::MFEMHypreAMS(), MFEMHypreBoomerAMG::MFEMHypreBoomerAMG(), MFEMHypreFGMRES::MFEMHypreFGMRES(), MFEMHypreGMRES::MFEMHypreGMRES(), MFEMHyprePCG::MFEMHyprePCG(), MFEMOperatorJacobiSmoother::MFEMOperatorJacobiSmoother(), MFEMSuperLU::MFEMSuperLU(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), OverlayMeshGenerator::OverlayMeshGenerator(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), NEML2Action::printSummary(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), ReferenceResidualConvergence::ReferenceResidualConvergence(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), FEProblemBase::setResidualObjectParamsAndLog(), SideSetsGeneratorBase::setup(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), Moose::PetscSupport::storePetscOptions(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), TransientBase::TransientBase(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

62 { return _pars; }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ paramInfo()

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

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 272 of file MooseBaseParameterInterface.h.

Referenced by GridPartitioner::_do_partition(), ComboMarker::ComboMarker(), FunctorIC::FunctorIC(), and TransientMultiApp::TransientMultiApp().

273 {
274  mooseInfo(paramErrorMsg(param, std::forward<Args>(args)...));
275 }
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:369
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ paramWarning()

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

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 265 of file MooseBaseParameterInterface.h.

Referenced by GridPartitioner::_do_partition(), EigenProblem::checkProblemIntegrity(), CombinerGenerator::copyIntoMesh(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), MultiAppNearestNodeTransfer::execute(), FEProblemSolve::FEProblemSolve(), UniqueExtraIDMeshGenerator::generate(), PlaneIDMeshGenerator::generate(), Terminator::initialSetup(), SampledOutput::initSample(), MooseMesh::MooseMesh(), FEProblemBase::setPreserveMatrixSparsityPattern(), and Terminator::Terminator().

266 {
267  mooseWarning(paramErrorMsg(param, std::forward<Args>(args)...));
268 }
void mooseWarning(Args &&... args)
Emit a warning message with the given stringified, concatenated args.
Definition: MooseError.h:336
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ perfGraph()

PerfGraph & PerfGraphInterface::perfGraph ( )
inherited

Get the PerfGraph.

Definition at line 78 of file PerfGraphInterface.C.

Referenced by CommonOutputAction::act(), PerfGraphData::finalize(), and PerfGraphOutput::output().

79 {
80  return _pg_moose_app.perfGraph();
81 }
MooseApp & _pg_moose_app
The MooseApp that owns the PerfGraph.
PerfGraph & perfGraph()
Get the PerfGraph for this app.
Definition: MooseApp.h:161

◆ prefix()

std::string PhysicsBase::prefix ( ) const
inlineprotectedinherited

◆ prepareCopyVariablesFromMesh()

void PhysicsBase::prepareCopyVariablesFromMesh ( ) const
protectedinherited

Tell the app if we want to use Exodus restart.

Definition at line 223 of file PhysicsBase.C.

Referenced by PhysicsBase::PhysicsBase().

224 {
225  if (getParam<bool>("initialize_variables_from_mesh_file"))
227 
228  checkSecondParamSetOnlyIfFirstOneTrue("initialize_variables_from_mesh_file",
229  "initial_from_file_timestep");
230 }
void setExodusFileRestart(bool flag)
Set the flag to indicate whether or not we need to use a separate Exodus reader to read the mesh BEFO...
Definition: MooseApp.h:457
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:84
void checkSecondParamSetOnlyIfFirstOneTrue(const std::string &param1, const std::string &param2) const
Check that a parameter is set only if the first one is set to true.

◆ queryParam()

template<typename T >
const T * MooseBaseParameterInterface::queryParam ( const std::string &  name) const
inherited

Query a parameter for the object.

If the parameter is not valid, nullptr will be returned

Parameters
nameThe name of the parameter
Returns
A pointer to the parameter value, if it exists

Definition at line 222 of file MooseBaseParameterInterface.h.

223 {
224  return isParamValid(name) ? &getParam<T>(name) : nullptr;
225 }
std::string name(const ElemQuality q)
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.

◆ registerTimedSection() [1/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
) const
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 53 of file PerfGraphInterface.C.

55 {
56  const auto timed_section_name = timedSectionName(section_name);
57  if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
58  return moose::internal::getPerfGraphRegistry().registerSection(timed_section_name, level);
59  else
60  return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
61 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ registerTimedSection() [2/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level,
const std::string &  live_message,
const bool  print_dots = true 
) const
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)
live_messageThe message to be printed to the screen during execution
print_dotsWhether or not progress dots should be printed for this section
Returns
The ID of the section - use when starting timing

Definition at line 64 of file PerfGraphInterface.C.

68 {
69  const auto timed_section_name = timedSectionName(section_name);
70  if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
72  timedSectionName(section_name), level, live_message, print_dots);
73  else
74  return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
75 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ reportPotentiallyMissedParameters()

void PhysicsBase::reportPotentiallyMissedParameters ( const std::vector< std::string > &  param_names,
const std::string &  object_type 
) const
protectedinherited

When this is called, we are knowingly not using the value of these parameters.

This routine checks whether these parameters simply have defaults or were passed by the user

Parameters
param_namesthe parameters we are ignoring

Definition at line 779 of file PhysicsBase.C.

Referenced by addSolverVariables(), and DiffusionFV::addSolverVariables().

781 {
782  std::vector<std::string> defaults_unused;
783  std::vector<std::string> user_values_unused;
784  for (const auto & param : param_names)
785  {
786  if (isParamSetByUser(param))
787  user_values_unused.push_back(param);
788  else if (isParamValid(param))
789  defaults_unused.push_back(param);
790  }
791  if (defaults_unused.size() && _verbose)
792  mooseInfoRepeated("Defaults for parameters '" + Moose::stringify(defaults_unused) +
793  "' for object of type '" + object_type +
794  "' were not used because the object was not created by this Physics.");
795  if (user_values_unused.size())
796  {
798  mooseWarning(
799  "User-specifed values for parameters '" + Moose::stringify(user_values_unused) +
800  "' for object of type '" + object_type +
801  "' were not used because the corresponding object was not created by this Physics.");
802  else if (_app.unusedFlagIsError())
803  mooseError(
804  "User-specified values for parameters '" + Moose::stringify(user_values_unused) +
805  "' for object of type '" + object_type +
806  "' were not used because the corresponding object was not created by this Physics.");
807  }
808 }
void mooseInfoRepeated(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:377
const bool _verbose
Whether to output additional information.
Definition: PhysicsBase.h:254
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
bool unusedFlagIsError() const
Returns whether the flag for unused parameters is set to throw an error.
Definition: MooseApp.h:1125
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:84
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
bool isParamSetByUser(const std::string &nm) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
bool unusedFlagIsWarning() const
Returns whether the flag for unused parameters is set to throw a warning only.
Definition: MooseApp.h:1122
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ saveAuxVariableName()

void PhysicsBase::saveAuxVariableName ( const VariableName &  var_name)
inlineprotectedinherited

Keep track of the name of an aux variable defined in the Physics.

Definition at line 143 of file PhysicsBase.h.

143 { _aux_var_names.push_back(var_name); }
std::vector< VariableName > _aux_var_names
Vector of the aux variables in the Physics.
Definition: PhysicsBase.h:321

◆ saveSolverVariableName()

void PhysicsBase::saveSolverVariableName ( const VariableName &  var_name)
inlineprotectedinherited

Keep track of the name of the solver variable defined in the Physics.

Definition at line 138 of file PhysicsBase.h.

Referenced by DiffusionPhysicsBase::DiffusionPhysicsBase().

139  {
140  _solver_var_names.push_back(var_name);
141  }
std::vector< VariableName > _solver_var_names
Vector of the solver variables (nonlinear and linear) in the Physics.
Definition: PhysicsBase.h:319

◆ shouldCreateIC()

bool PhysicsBase::shouldCreateIC ( const VariableName &  var_name,
const std::vector< SubdomainName > &  blocks,
const bool  ic_is_default_ic,
const bool  error_if_already_defined 
) const
protectedinherited

Returns whether this Physics should create the variable.

Will return false if the initial condition already exists and has the necessary block restriction.

Parameters
var_namename of the variable
blocksblock restriction to use. If empty, no block restriction
ic_is_default_icwhether this IC is from a default parameter, and therefore should be skipped when recovering/restarting
error_if_already_definedtwo ICs cannot be defined on the same subdomain, so if this is set to true, any overlap between the subdomains of two ICs for the same variable will cause an error. If set to false, the existing ICs will take priority, and this routine will return false. Setting 'error_if_already_defined' to '!ic_is_default_ic' is a good idea if it is ok to overwrite the default IC value of the Physics.

Definition at line 626 of file PhysicsBase.C.

Referenced by DiffusionPhysicsBase::addInitialConditions().

630 {
631  // Handle recover
632  if (ic_is_default_ic && (_app.isRestarting() || _app.isRecovering()))
633  return false;
634  // do not set initial conditions if we are loading fields from the mesh file
635  if (getParam<bool>("initialize_variables_from_mesh_file"))
636  return false;
637  // Different type of ICs, not block restrictable
638  mooseAssert(!isVariableScalar(var_name), "shouldCreateIC not implemented for scalar variables");
639 
640  // Process the desired block restriction into a set of subdomain IDs
641  std::set<SubdomainName> blocks_set(blocks.begin(), blocks.end());
642  const auto blocks_ids_set = getSubdomainIDs(blocks_set);
643 
644  // Check whether there are any ICs for this variable already in the problem
645  std::set<SubdomainID> blocks_ids_covered;
646  bool has_all_blocks;
647  if (isVariableFV(var_name))
648  has_all_blocks = _problem->getFVInitialConditionWarehouse().hasObjectsForVariableAndBlocks(
649  var_name, blocks_ids_set, blocks_ids_covered, /*tid =*/0);
650  else
651  has_all_blocks = _problem->getInitialConditionWarehouse().hasObjectsForVariableAndBlocks(
652  var_name, blocks_ids_set, blocks_ids_covered, /*tid =*/0);
653 
654  const bool has_some_blocks = !blocks_ids_covered.empty();
655  if (!has_some_blocks)
656  return true;
657 
658  if (has_all_blocks)
659  {
660  if (error_if_already_defined)
661  mooseError("ICs for variable '" + var_name + "' have already been defined for blocks '" +
662  Moose::stringify(blocks) + "'.");
663  else
664  return false;
665  }
666 
667  // Partial overlap between Physics is not implemented.
668  mooseError("There is a partial overlap between the subdomains covered by pre-existing initial "
669  "conditions (ICs), defined on blocks (ids): " +
670  Moose::stringify(getSubdomainNamesAndIDs(blocks_ids_covered)) +
671  "\n and a newly created IC for variable " + var_name +
672  ", to be defined on blocks: " + Moose::stringify(blocks) +
673  ".\nWe should be creating the Physics' IC only for non-covered blocks. This is not "
674  "implemented at this time.");
675 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool isRestarting() const
Whether or not this is a "restart" calculation.
Definition: MooseApp.C:1775
bool isVariableScalar(const VariableName &var_name) const
Whether the variable is a scalar variable (global single scalar, not a field)
Definition: PhysicsBase.C:596
bool isVariableFV(const VariableName &var_name) const
Whether the variable is a finite volume variable.
Definition: PhysicsBase.C:589
std::vector< std::string > getSubdomainNamesAndIDs(const std::set< SubdomainID > &blocks) const
Get the vector of subdomain names and ids for the incoming set of subdomain IDs.
Definition: PhysicsBase.C:268
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:84
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
std::set< SubdomainID > getSubdomainIDs(const std::set< SubdomainName > &blocks) const
Get the set of subdomain ids for the incoming vector of subdomain names.
Definition: PhysicsBase.C:253
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:1769

◆ shouldCreateTimeDerivative()

bool PhysicsBase::shouldCreateTimeDerivative ( const VariableName &  var_name,
const std::vector< SubdomainName > &  blocks,
const bool  error_if_already_defined 
) const
protectedinherited

Returns whether this Physics should create the variable.

Will return false if the time derivative kernel already exists and has the necessary block restriction.

Parameters
var_namename of the variable
blocksblock restriction to use. If empty, no block restriction
error_if_already_definedtwo time derivatives can be defined on the same subdomain, but it is usually not correct. So if this is set to true, any overlap between the subdomains of two time derivatives for the same variable will cause an error. If set to false, the existing time derivative will be deemed as sufficient, and this routine will return false.

Definition at line 678 of file PhysicsBase.C.

Referenced by addFEKernels(), and DiffusionFV::addFVKernels().

681 {
682  // Follow the transient setting of the Physics
683  if (!isTransient())
684  return false;
685 
686  // Variable is either nonlinear (FV/FE), nodal nonlinear (field of ODEs), linear, or scalar.
687  // The warehouses hosting the time kernels are different for each of these types
688  // Different type of time derivatives, not block restrictable
689  mooseAssert(!isVariableScalar(var_name),
690  "shouldCreateTimeDerivative not implemented for scalar variables");
691  mooseAssert(!_problem->hasAuxiliaryVariable(var_name),
692  "Should not be called with auxiliary variables");
693 
694  // Get solver system type
695  const auto var = &_problem->getVariable(0, var_name);
696  const auto var_id = var->number();
697  const auto sys_num = var->sys().number();
698  const auto time_vector_tag =
699  (sys_num < _problem->numNonlinearSystems())
700  ? var->sys().timeVectorTag()
701  // this is not quite correct. Many kernels can contribute to RHS time vector on paper
702  : dynamic_cast<LinearSystem *>(&var->sys())->rightHandSideTimeVectorTag();
703 
704  // We just use the warehouse, it should cover every time derivative object type
705  bool all_blocks_covered = true;
706  std::set<SubdomainID> blocks_ids_covered;
707  // we examine subdomain by subdomain, because mutiple kernels could be covering every block in
708  // the 'blocks' parameter
709  for (const auto & block : blocks)
710  {
711  std::vector<MooseObject *> time_kernels;
712  if (block != "ANY_BLOCK_ID")
713  {
714  const auto bid = _mesh->getSubdomainID(block);
715  _problem->theWarehouse()
716  .query()
717  .template condition<AttribSysNum>(sys_num)
718  .template condition<AttribVar>(var_id)
719  .template condition<AttribSubdomains>(bid)
720  // we use the time tag as a proxy for time derivatives
721  .template condition<AttribVectorTags>(time_vector_tag)
722  .queryInto(time_kernels);
723  }
724  else
725  _problem->theWarehouse()
726  .query()
727  .template condition<AttribSysNum>(sys_num)
728  .template condition<AttribVar>(var_id)
729  // we use the time tag as a proxy for time derivatives
730  .template condition<AttribVectorTags>(time_vector_tag)
731  .queryInto(time_kernels);
732 
733  if (time_kernels.size())
734  {
735  if (block == "ANY_BLOCK_ID")
736  {
737  for (const auto & time_kernel : time_kernels)
738  if (const auto blk = dynamic_cast<BlockRestrictable *>(time_kernel))
739  blocks_ids_covered.insert(blk->blockIDs().begin(), blk->blockIDs().end());
740  }
741  else
742  blocks_ids_covered.insert(_mesh->getSubdomainID(block));
743  }
744  else
745  all_blocks_covered = false;
746  }
747 
748  // From the set of covered blocks, see if the blocks we needed are found
749  if (all_blocks_covered)
750  {
751  std::set<SubdomainName> blocks_set(blocks.begin(), blocks.end());
752  const auto blocks_ids = getSubdomainIDs(blocks_set);
753  if (blocks_ids != blocks_ids_covered)
754  all_blocks_covered = false;
755  }
756  const bool has_some_blocks = !blocks_ids_covered.empty();
757  if (!has_some_blocks)
758  return true;
759  if (all_blocks_covered)
760  {
761  if (error_if_already_defined)
762  mooseError("A time kernel for variable '" + var_name +
763  "' has already been defined on blocks '" + Moose::stringify(blocks) + "'.");
764  else
765  return false;
766  }
767 
768  // Partial overlap between Physics is not implemented.
769  mooseError("There is a partial overlap between the subdomains covered by pre-existing time "
770  "derivative kernel(s), defined on blocks (ids): " +
771  Moose::stringify(getSubdomainNamesAndIDs(blocks_ids_covered)) +
772  "\nand a newly created time derivative kernel for variable " + var_name +
773  ", to be defined on blocks: " + Moose::stringify(blocks) +
774  ".\nWe should be creating the Physics' time derivative only for non-covered "
775  "blocks. This is not implemented at this time.");
776 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool isVariableScalar(const VariableName &var_name) const
Whether the variable is a scalar variable (global single scalar, not a field)
Definition: PhysicsBase.C:596
std::vector< std::string > getSubdomainNamesAndIDs(const std::set< SubdomainID > &blocks) const
Get the vector of subdomain names and ids for the incoming set of subdomain IDs.
Definition: PhysicsBase.C:268
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
std::shared_ptr< MooseMesh > & _mesh
Definition: Action.h:164
std::set< SubdomainID > getSubdomainIDs(const std::set< SubdomainName > &blocks) const
Get the set of subdomain ids for the incoming vector of subdomain names.
Definition: PhysicsBase.C:253
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168
Linear system to be solved.
Definition: LinearSystem.h:35
bool isTransient() const
Return whether the Physics is solved using a transient.
Definition: PhysicsBase.C:233

◆ shouldCreateVariable()

bool PhysicsBase::shouldCreateVariable ( const VariableName &  var_name,
const std::vector< SubdomainName > &  blocks,
const bool  error_if_aux 
)
protectedinherited

Returns whether this Physics should create the variable.

Will return false if the variable already exists and has the necessary block restriction.

Parameters
var_namename of the variable
blocksblock restriction to use. If empty, no block restriction
error_if_auxerror if the variable is auxiliary

Definition at line 602 of file PhysicsBase.C.

Referenced by addSolverVariables(), and DiffusionFV::addSolverVariables().

605 {
606  if (!variableExists(var_name, error_if_aux))
607  return true;
608  // check block restriction
609  auto & var = _problem->getVariable(0, var_name);
610  const bool not_block_restricted =
611  (std::find(blocks.begin(), blocks.end(), "ANY_BLOCK_ID") != blocks.end()) ||
613  if (!var.blockRestricted() || (!not_block_restricted && var.hasBlocks(blocks)))
614  return false;
615 
616  // This is an edge case, which might warrant a warning
617  if (allMeshBlocks(var.blocks()) && not_block_restricted)
618  return false;
619  else
620  mooseError("Variable '" + var_name + "' already exists with subdomain restriction '" +
621  Moose::stringify(var.blocks()) + "' which does not include the subdomains '" +
622  Moose::stringify(blocks) + "', required for this Physics.");
623 }
const std::vector< SubdomainName > & blocks() const
Return the blocks this physics is defined on.
Definition: PhysicsBase.h:60
bool allMeshBlocks(const std::vector< SubdomainName > &blocks) const
Check if a vector contains all the mesh blocks.
Definition: PhysicsBase.C:544
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
bool variableExists(const VariableName &var_name, bool error_if_aux) const
Check whether a variable already exists.
Definition: PhysicsBase.C:421
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ solverVariableExists()

bool PhysicsBase::solverVariableExists ( const VariableName &  var_name) const
protectedinherited

Check whether a variable already exists and is a solver variable.

Definition at line 434 of file PhysicsBase.C.

435 {
436  return _problem->hasSolverVariable(var_name);
437 }
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ solverVariableNames()

const std::vector<VariableName>& PhysicsBase::solverVariableNames ( ) const
inlineinherited

Return the list of solver (nonlinear + linear) variables in this physics.

Definition at line 98 of file PhysicsBase.h.

Referenced by PhysicsBase::act(), PhysicsComponentInterface::addComponent(), and PhysicsBase::initializePhysics().

98 { return _solver_var_names; };
std::vector< VariableName > _solver_var_names
Vector of the solver variables (nonlinear and linear) in the Physics.
Definition: PhysicsBase.h:319

◆ specificTaskName()

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

Definition at line 100 of file Action.h.

100 { return _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:149

◆ timedAct()

void Action::timedAct ( )
inherited

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

Definition at line 81 of file Action.C.

Referenced by ActionWarehouse::executeActionsWithAction().

82 {
83  TIME_SECTION(_act_timer);
84  act();
85 }
PerfID _act_timer
Timers.
Definition: Action.h:171
virtual void act()=0
Method to add objects to the simulation or perform other setup tasks.

◆ timedSectionName()

std::string PerfGraphInterface::timedSectionName ( const std::string &  section_name) const
protectedinherited
Returns
The name of the timed section with the name section_name.

Optionally adds a prefix if one is defined.

Definition at line 47 of file PerfGraphInterface.C.

Referenced by PerfGraphInterface::registerTimedSection().

48 {
49  return _prefix.empty() ? "" : (_prefix + "::") + section_name;
50 }
const std::string _prefix
A prefix to use for all sections.

◆ type()

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

Get the type of this class.

Returns
the name of the type of this class

Definition at line 51 of file MooseBase.h.

Referenced by CreateProblemDefaultAction::act(), SetupDebugAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::addConvergence(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addObject(), MFEMProblem::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addTimeIntegrator(), MooseServer::addValuesToList(), DisplacedProblem::addVectorTag(), SubProblem::addVectorTag(), FEProblemBase::advanceMultiApps(), MooseApp::appendMeshGenerator(), AuxKernelTempl< Real >::AuxKernelTempl(), FEProblemBase::backupMultiApps(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BoundaryPreservedMarker::BoundaryPreservedMarker(), DistributedRectilinearMeshGenerator::buildCube(), MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildLowerDMesh(), MooseMesh::buildPRefinementAndCoarseningMaps(), PhysicsBase::checkComponentType(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), ADDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDiffusion::computeLowerDQpJacobian(), HFEMDirichletBC::computeLowerDQpJacobian(), HFEMDiffusion::computeLowerDQpJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), FEProblemBase::computeMultiAppsDT(), ADDGKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), DGConvection::computeQpJacobian(), ScalarKernel::computeQpJacobian(), InterfaceDiffusion::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), HFEMTestJump::computeQpOffDiagJacobian(), HFEMTrialJump::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), HFEMDiffusion::computeQpResidual(), ArrayHFEMDiffusion::computeQpResidual(), DGConvection::computeQpResidual(), ScalarKernel::computeQpResidual(), InterfaceDiffusion::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), ADMatInterfaceReaction::computeQpResidual(), InterfaceReaction::computeQpResidual(), ADDGAdvection::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), ADDGDiffusion::computeQpResidual(), HFEMTestJump::computeQpResidual(), HFEMTrialJump::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), FEProblemBase::computeSystems(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), MooseApp::createRecoverablePerfGraph(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), MooseBase::errorPrefix(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), WebServerControl::execute(), SteadyBase::execute(), ActionWarehouse::executeActionsWithAction(), FEProblemBase::finishMultiAppStep(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), MooseServer::gatherDocumentReferencesLocations(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateInternal(), MultiAppTransfer::getAppInfo(), TransfiniteMeshGenerator::getEdge(), ElementGenerator::getElemType(), MooseServer::getInputLookupDefinitionNodes(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), MaterialOutputAction::getParams(), ReporterData::getReporterInfo(), FEProblemBase::getTransfers(), DisplacedProblem::getVectorTags(), SubProblem::getVectorTags(), CommonOutputAction::hasConsole(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), FunctorPositions::initialize(), FunctorTimes::initialize(), MultiAppConservativeTransfer::initialSetup(), LinearFVAnisotropicDiffusion::initialSetup(), LinearFVAdvection::initialSetup(), LinearFVDiffusion::initialSetup(), ArrayDGDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), FEProblemBase::logAdd(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MFEMProblem::mesh(), MooseApp::MooseApp(), MooseObject::MooseObject(), MultiAppMFEMCopyTransfer::MultiAppMFEMCopyTransfer(), DisplacedProblem::numVectorTags(), SubProblem::numVectorTags(), Console::output(), AdvancedOutput::output(), ConsoleUtils::outputExecutionInformation(), SampledOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), MooseServer::parseDocumentForDiagnostics(), MooseMesh::prepare(), ProjectedStatefulMaterialStorageAction::processProperty(), MooseApp::recursivelyCreateExecutors(), SolutionInvalidInterface::registerInvalidSolutionInternal(), FEProblemBase::restoreMultiApps(), MeshRepairGenerator::separateSubdomainsByElementType(), FEProblemBase::setCoupling(), MooseApp::setupOptions(), WebServerControl::startServer(), MooseBase::typeAndName(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), UserObjectInterface::userObjectType(), and AdvancedOutput::wantOutput().

51 { return _type; }
const std::string _type
The type of this class.
Definition: MooseBase.h:87

◆ typeAndName()

std::string MooseBase::typeAndName ( ) const
inherited

Get the class's combined type and name; useful in error handling.

Returns
The type and name of this class in the form '<type()> "<name()>"'.

Definition at line 27 of file MooseBase.C.

Referenced by MaterialPropertyStorage::addProperty(), MeshGeneratorSystem::dataDrivenError(), ReporterContext< std::vector< T > >::finalize(), and ReporterData::getReporterInfo().

28 {
29  return type() + std::string(" \"") + name() + std::string("\"");
30 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:51

◆ uniqueActionName()

MooseObjectName Action::uniqueActionName ( ) const
inlineinherited

The unique name for accessing input parameters of this action in the InputParameterWarehouse.

Definition at line 98 of file Action.h.

Referenced by NEML2Action::NEML2Action().

98 { return uniqueName(); }
MooseObjectName uniqueName() const
The unique name for accessing input parameters of this object in the InputParameterWarehouse.

◆ uniqueName()

MooseObjectName MooseBaseParameterInterface::uniqueName ( ) const
inlineinherited

The unique name for accessing input parameters of this object in the InputParameterWarehouse.

Definition at line 67 of file MooseBaseParameterInterface.h.

Referenced by MooseBaseParameterInterface::connectControllableParams(), and Action::uniqueActionName().

68  {
69  return MooseObjectName(_pars.get<std::string>("_unique_name"));
70  }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing the names of MooseObject by tag and object name.

◆ uniqueParameterName()

MooseObjectParameterName MooseBaseParameterInterface::uniqueParameterName ( const std::string &  parameter_name) const
inlineinherited

The unique parameter name of a valid parameter of this object for accessing parameter controls.

Definition at line 52 of file MooseBaseParameterInterface.h.

53  {
55  _pars.get<std::string>("_moose_base"), _moose_base.name(), parameter_name);
56  }
const MooseBase & _moose_base
The MooseBase object that inherits this class.
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing an input parameter name.

◆ validParams()

InputParameters DiffusionCG::validParams ( )
static

Definition at line 20 of file DiffusionCG.C.

21 {
23  params.addClassDescription(
24  "Discretizes a diffusion equation with the continuous Galerkin finite element method");
25  params.addParam<bool>(
26  "use_automatic_differentiation",
27  true,
28  "Whether to use automatic differentiation for all the terms in the equation");
29  params.transferParam<MooseEnum>(MooseVariableBase::validParams(), "order", "variable_order");
30 
31  return params;
32 }
static InputParameters validParams()
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
void transferParam(const InputParameters &source_param, const std::string &name, const std::string &new_name="", const std::string &new_description="")
A routine to transfer a parameter from one class&#39; validParams to another.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...

◆ variableExists()

bool PhysicsBase::variableExists ( const VariableName &  var_name,
bool  error_if_aux 
) const
protectedinherited

Check whether a variable already exists.

Definition at line 421 of file PhysicsBase.C.

Referenced by PhysicsBase::shouldCreateVariable().

422 {
423  if (error_if_aux && _problem->getAuxiliarySystem().hasVariable(var_name))
424  mooseError("Variable '",
425  var_name,
426  "' is supposed to be nonlinear for physics '",
427  name(),
428  "' but it is already defined as auxiliary");
429  else
430  return _problem->hasVariable(var_name);
431 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:57
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168

◆ warnInconsistent()

void InputParametersChecksUtils< PhysicsBase >::warnInconsistent ( const InputParameters parameters,
const std::string &  param_name 
) const
protectedinherited

Emits a warning if two parameters are not equal to each other.

Parameters
other_paramInputParameters object from another object to check the 'param_name' parameter in
param_namethe name of the parameter to check for consistency

Definition at line 549 of file InputParametersChecksUtils.h.

551 {
552  const bool consistent = parameterConsistent<T>(other_param, param_name);
553  if (!consistent)
554  forwardMooseWarning("Parameter " + param_name + " is inconsistent between Physics \"" +
555  forwardName() + "\" of type \"" + forwardType() +
556  "\" and the parameter set for \"" +
557  other_param.get<std::string>("_action_name") + "\" of type \"" +
558  other_param.get<std::string>("action_type") + "\"");
559 }
void forwardMooseWarning(Args &&... args) const
Forwards warning to the class using this utility to get better error messages.
virtual const std::string & forwardName() const
Get the name of the class using this utility.
const std::string & forwardType() const
Get the type of the class using this utility.

Member Data Documentation

◆ _act_timer

PerfID Action::_act_timer
protectedinherited

Timers.

Definition at line 171 of file Action.h.

Referenced by Action::timedAct().

◆ _action_factory

ActionFactory& MooseBaseParameterInterface::_action_factory
protectedinherited

◆ _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 156 of file Action.h.

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

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 84 of file MooseBase.h.

◆ _awh

ActionWarehouse& Action::_awh
protectedinherited

◆ _blocks

std::vector<SubdomainName> PhysicsBase::_blocks
protectedinherited

◆ _components_boundary_conditions

std::map<std::string, std::map<std::pair<VariableName, BoundaryName>, std::pair<MooseFunctorName, ComponentBoundaryConditionInterface::BoundaryConditionType> > > PhysicsComponentInterface::_components_boundary_conditions
protectedinherited

◆ _components_initial_conditions

std::map<std::string, std::map<VariableName, MooseFunctorName> > PhysicsComponentInterface::_components_initial_conditions
protectedinherited

◆ _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(), MeshOnlyAction::act(), SetupDebugAction::act(), MaterialOutputAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), PerfGraph::addToExecutionList(), SimplePredictor::apply(), SystemBase::applyScalingFactors(), MultiApp::backup(), FEProblemBase::backupMultiApps(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), MeshDiagnosticsGenerator::checkElementOverlap(), MeshDiagnosticsGenerator::checkElementTypes(), MeshDiagnosticsGenerator::checkElementVolumes(), FEProblemBase::checkExceptionAndStopSolve(), SolverSystem::checkInvalidSolution(), MeshDiagnosticsGenerator::checkLocalJacobians(), MeshDiagnosticsGenerator::checkNonConformalMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkNonPlanarSides(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualConvergence::checkRelativeConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), IterationAdaptiveDT::computeAdaptiveDT(), TransientBase::computeConstrainedDT(), DefaultMultiAppFixedPointConvergence::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), FixedPointIterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), LinearSystem::computeLinearSystemTags(), FEProblemBase::computeLinearSystemTags(), NonlinearSystemBase::computeScaling(), Problem::console(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MFEMSteady::execute(), MessageFromInput::execute(), SteadyBase::execute(), Eigenvalue::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MeshGeneratorSystem::executeMeshGenerators(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), CoarsenBlockGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), InversePowerMethod::init(), NonlinearEigen::init(), FEProblemBase::initialAdaptMesh(), DefaultMultiAppFixedPointConvergence::initialize(), EigenExecutionerBase::inversePowerIteration(), FEProblemBase::joinAndFinalize(), TransientBase::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::logAdd(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseBaseErrorInterface::mooseDeprecated(), MooseBaseErrorInterface::mooseInfo(), MooseBaseErrorInterface::mooseWarning(), MooseBaseErrorInterface::mooseWarningNonPrefixed(), ReferenceResidualConvergence::nonlinearConvergenceSetup(), ReporterDebugOutput::output(), PerfGraphOutput::output(), SolutionInvalidityOutput::output(), MaterialPropertyDebugOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), PseudoTimestep::outputPseudoTimestep(), Console::outputReporters(), DefaultMultiAppFixedPointConvergence::outputResidualNorm(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), SolutionInvalidity::printDebug(), EigenExecutionerBase::printEigenvalue(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::printFixedPointConvergenceHistory(), PicardSolve::printFixedPointConvergenceHistory(), FixedPointSolve::printFixedPointConvergenceReason(), PerfGraphLivePrint::printLiveMessage(), MaterialPropertyDebugOutput::printMaterialMap(), PerfGraphLivePrint::printStats(), NEML2Action::printSummary(), AutomaticMortarGeneration::projectPrimaryNodesSinglePair(), AutomaticMortarGeneration::projectSecondaryNodesSinglePair(), CoarsenBlockGenerator::recursiveCoarsen(), SolutionTimeAdaptiveDT::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), FEProblemBase::restoreSolutions(), NonlinearSystemBase::setInitialSolution(), MooseApp::setupOptions(), Checkpoint::shouldOutput(), SubProblem::showFunctorRequestors(), SubProblem::showFunctors(), FullSolveMultiApp::showStatusMessage(), FEProblemSolve::solve(), FixedPointSolve::solve(), EigenProblem::solve(), NonlinearSystem::solve(), LinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), FixedPointSolve::solveStep(), PerfGraphLivePrint::start(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), TransientBase::takeStep(), TerminateChainControl::terminate(), Convergence::verboseOutput(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _current_task

const std::string& Action::_current_task
protectedinherited

◆ _dirichlet_boundaries

const std::vector<BoundaryName>& DiffusionPhysicsBase::_dirichlet_boundaries
protectedinherited

Boundaries on which a Dirichlet boundary condition is applied.

Definition at line 40 of file DiffusionPhysicsBase.h.

Referenced by addFEBCs(), and DiffusionFV::addFVBCs().

◆ _displaced_mesh

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

◆ _factory

Factory& MooseBaseParameterInterface::_factory
protectedinherited

◆ _mesh

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

◆ _name

const std::string MooseBase::_name
protectedinherited

The name of this class.

Definition at line 90 of file MooseBase.h.

Referenced by AddBCAction::act(), AddConstraintAction::act(), AddDamperAction::act(), AddFVInitialConditionAction::act(), AddNodalKernelAction::act(), AddFVInterfaceKernelAction::act(), AddFunctorMaterialAction::act(), AddPostprocessorAction::act(), AddMultiAppAction::act(), AddDiracKernelAction::act(), AddIndicatorAction::act(), AddMaterialAction::act(), AddTransferAction::act(), AddUserObjectAction::act(), ReadExecutorParamsAction::act(), AddVectorPostprocessorAction::act(), AddKernelAction::act(), PartitionerAction::act(), AddInterfaceKernelAction::act(), AddDGKernelAction::act(), AddMarkerAction::act(), AddInitialConditionAction::act(), AddMeshGeneratorAction::act(), AddScalarKernelAction::act(), AddPositionsAction::act(), AddReporterAction::act(), AddTimesAction::act(), AddFieldSplitAction::act(), AddFVKernelAction::act(), AddFVBCAction::act(), SetupTimeIntegratorAction::act(), AddFunctionAction::act(), AddConvergenceAction::act(), AddMeshDivisionAction::act(), AddHDGKernelAction::act(), AddTimeStepperAction::act(), AddDistributionAction::act(), SetupPreconditionerAction::act(), AddOutputAction::act(), AddLinearFVBCAction::act(), AddLinearFVKernelAction::act(), AddCorrectorAction::act(), AddMeshModifiersAction::act(), AddSamplerAction::act(), AddControlAction::act(), AddMFEMSolverAction::act(), AddMFEMPreconditionerAction::act(), AddMFEMSubMeshAction::act(), AddMFEMFESpaceAction::act(), AddPeriodicBCAction::act(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), CombinerGenerator::CombinerGenerator(), Executor::Executor(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), FillBetweenSidesetsGenerator::generate(), FillBetweenPointVectorsGenerator::generate(), FillBetweenCurvesGenerator::generate(), NearestPointBase< LayeredSideDiffusiveFluxAverage, SideIntegralVariableUserObject >::name(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseBase::setData(), and AddVariableAction::varName().

◆ _neumann_boundaries

const std::vector<BoundaryName>& DiffusionPhysicsBase::_neumann_boundaries
protectedinherited

Boundaries on which a Neumann boundary condition is applied.

Definition at line 38 of file DiffusionPhysicsBase.h.

Referenced by addFEBCs(), and DiffusionFV::addFVBCs().

◆ _pars

const InputParameters& MooseBaseParameterInterface::_pars
protectedinherited

Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

Definition at line 173 of file MooseBaseParameterInterface.h.

Referenced by AddFVICAction::act(), AddICAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), AddAuxKernelAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), PiecewiseTabularBase::buildFromFile(), PNGOutput::calculateRescalingValues(), MooseBaseParameterInterface::connectControllableParams(), Console::Console(), MaterialBase::declareADProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FileMeshGenerator::generate(), MaterialBase::getGenericZeroMaterialProperty(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBaseParameterInterface::getParam(), MooseBaseParameterInterface::getRenamedParam(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), Console::initialSetup(), MooseBaseParameterInterface::isParamSetByUser(), MooseBaseParameterInterface::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBaseParameterInterface::MooseBaseParameterInterface(), MooseBaseParameterInterface::paramErrorMsg(), GlobalParamsAction::parameters(), MooseBaseParameterInterface::parameters(), MooseMesh::prepare(), Eigenvalue::prepareSolverOptions(), MooseMesh::setCoordSystem(), MooseMesh::setPartitionerHelper(), SetupMeshAction::setupMesh(), TransientBase::setupTimeIntegrator(), MooseBaseParameterInterface::uniqueName(), and MooseBaseParameterInterface::uniqueParameterName().

◆ _pg_moose_app

MooseApp& PerfGraphInterface::_pg_moose_app
protectedinherited

The MooseApp that owns the PerfGraph.

Definition at line 124 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::perfGraph().

◆ _preconditioning

const MooseEnum& PhysicsBase::_preconditioning
protectedinherited

Whether to add a default preconditioning.

The implementation of the default is defined by the derived class

Definition at line 258 of file PhysicsBase.h.

Referenced by DiffusionPhysicsBase::addPreconditioning().

◆ _prefix

const std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 127 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::timedSectionName().

◆ _problem

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

Convenience reference to a problem this action works on.

Definition at line 168 of file Action.h.

Referenced by ElementIDOutputAction::act(), AddBCAction::act(), SetupMeshCompleteAction::act(), AddConstraintAction::act(), AddDiracKernelAction::act(), CheckIntegrityAction::act(), AddTransferAction::act(), AddInitialConditionAction::act(), AddDGKernelAction::act(), AddMaterialAction::act(), AddMultiAppAction::act(), AddDamperAction::act(), AddFVInitialConditionAction::act(), InitProblemAction::act(), AddVectorPostprocessorAction::act(), AddInterfaceKernelAction::act(), CopyNodalVarsAction::act(), AddMarkerAction::act(), CreateExecutionerAction::act(), AddBoundsVectorsAction::act(), AddFunctorMaterialAction::act(), AddNodalKernelAction::act(), SetupDampersAction::act(), AddFVICAction::act(), AddPostprocessorAction::act(), AddScalarKernelAction::act(), AddFVInterfaceKernelAction::act(), AddICAction::act(), AddUserObjectAction::act(), AddIndicatorAction::act(), CheckFVBCAction::act(), AutoCheckpointAction::act(), AddKernelAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), AddFieldSplitAction::act(), AddPositionsAction::act(), AddReporterAction::act(), AddTimesAction::act(), AddFVBCAction::act(), AddFVKernelAction::act(), AdaptivityAction::act(), ComposeTimeStepperAction::act(), AddDistributionAction::act(), DumpObjectsAction::act(), AddMeshDivisionAction::act(), AddConvergenceAction::act(), SetupDebugAction::act(), SetupTimeStepperAction::act(), SetupPreconditionerAction::act(), SetupPredictorAction::act(), AddFunctionAction::act(), SetupTimeIntegratorAction::act(), AddTimeStepperAction::act(), AddHDGKernelAction::act(), ChainControlSetupAction::act(), AddLinearFVKernelAction::act(), AddAuxKernelAction::act(), AddLinearFVBCAction::act(), AddExternalAuxVariableAction::act(), SetupResidualDebugAction::act(), AddOutputAction::act(), MaterialDerivativeTestAction::act(), AddMeshModifiersAction::act(), AddCorrectorAction::act(), SetAdaptivityOptionsAction::act(), CreateDisplacedProblemAction::act(), CouplingFunctorCheckAction::act(), SetMFEMMeshFESpaceAction::act(), AddMFEMProblemOperatorAction::act(), SetupQuadratureAction::act(), AddControlAction::act(), DisplayGhostingAction::act(), AddSamplerAction::act(), MaterialOutputAction::act(), ResolveOptionalMaterialPropertiesAction::act(), AddMFEMSolverAction::act(), AddMFEMSubMeshAction::act(), AddMFEMPreconditionerAction::act(), AddMFEMFESpaceAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), AddNodalNormalsAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), PhysicsBase::addPetscPairsToPetscOptions(), AddVariableAction::addVariable(), AddPeriodicBCAction::autoTranslationBoundaries(), PhysicsBase::checkIntegrityEarly(), CheckOutputAction::checkMaterialOutput(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), CheckOutputAction::checkVariableOutput(), PhysicsBase::getProblem(), AddVariableAction::getSubdomainIDs(), MaterialOutputAction::hasFunctorProperty(), AddVariableAction::init(), PhysicsBase::isTransient(), PhysicsBase::isVariableFV(), PhysicsBase::isVariableScalar(), MaterialOutputAction::outputHelper(), ProjectedStatefulMaterialStorageAction::processProperty(), AddPeriodicBCAction::setPeriodicVars(), CreateExecutionerAction::setupAutoPreconditioning(), PhysicsBase::shouldCreateIC(), PhysicsBase::shouldCreateTimeDerivative(), PhysicsBase::shouldCreateVariable(), PhysicsBase::solverVariableExists(), and PhysicsBase::variableExists().

◆ _registered_identifier

std::string Action::_registered_identifier
protectedinherited

Definition at line 141 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 149 of file Action.h.

Referenced by Action::specificTaskName().

◆ _system_names

std::vector<SolverSystemName> PhysicsBase::_system_names
protectedinherited

System names for the system(s) owning the solver variables.

Definition at line 248 of file PhysicsBase.h.

Referenced by PhysicsBase::checkIntegrityEarly(), PhysicsBase::getSolverSystem(), and PhysicsBase::initializePhysics().

◆ _system_numbers

std::vector<unsigned int> PhysicsBase::_system_numbers
protectedinherited

System numbers for the system(s) owning the solver variables.

Definition at line 251 of file PhysicsBase.h.

Referenced by PhysicsBase::addPetscPairsToPetscOptions(), PhysicsBase::copyVariablesFromMesh(), and PhysicsBase::initializePhysics().

◆ _type

const std::string MooseBase::_type
protectedinherited

◆ _use_ad

const bool DiffusionCG::_use_ad
private

Whether to use automatic differentiation or not.

Definition at line 33 of file DiffusionCG.h.

Referenced by addFEBCs(), and addFEKernels().

◆ _var_name

const VariableName& DiffusionPhysicsBase::_var_name
protectedinherited

◆ _verbose

const bool PhysicsBase::_verbose
protectedinherited

Whether to output additional information.

Definition at line 254 of file PhysicsBase.h.

Referenced by PhysicsBase::initializePhysics(), and PhysicsBase::reportPotentiallyMissedParameters().

◆ NAME

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

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

Definition at line 33 of file MeshMetaDataInterface.h.

◆ SYSTEM

constexpr auto MeshMetaDataInterface::SYSTEM = "MeshMetaData"
staticinherited

The system name used when initializing the Restartable interface.

Definition at line 30 of file MeshMetaDataInterface.h.

Referenced by MeshMetaDataInterface::meshPropertyName().


The documentation for this class was generated from the following files: