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

The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system. More...

#include <InputParameters.h>

Inheritance diagram for InputParameters:
[legend]

Classes

struct  CommandLineMetadata
 Structure for storing information about a command line parameter. More...
 
class  CommandLineParamSetKey
 Class that is used as a parameter to commandLineParamSet() that allows only the CommandLine to set that a parmeter is set by the command line. More...
 
struct  isValidCommandLineType
 Determines whether or not the given type is a type that is supported for a command line parameter. More...
 
struct  Metadata
 
class  SetHitNodeKey
 Class that is used as a parameter to setHitNode() that allows only relevant classes to set the hit node. More...
 
class  SetParamHitNodeKey
 Class that is used as a parameter to setHitNode(param) that allows only relevant classes to set the hit node. More...
 

Public Types

typedef std::map< std::string, std::unique_ptr< Value >, std::less<> > map_type
 
typedef map_type::iterator iterator
 
typedef map_type::const_iterator const_iterator
 

Public Member Functions

 InputParameters (const InputParameters &rhs)
 
 InputParameters (const Parameters &rhs)
 
virtual ~InputParameters ()=default
 
virtual void clear () override
 
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. More...
 
std::string getClassDescription () const
 Returns the class description. More...
 
virtual void set_attributes (const std::string &name, bool inserted_only) override
 Override from libMesh to set user-defined attributes on our parameter. More...
 
std::optional< std::string > queryDeprecatedParamMessage (const std::string &name) const
 
template<typename T >
void setHelper (const std::string &name)
 This functions is called in set as a 'callback' to avoid code duplication. More...
 
template<typename T >
T & set (const std::string &name, bool quiet_mode=false)
 Returns a writable reference to the named parameters. More...
 
template<typename T , typename... Ts>
void setParameters (const std::string &name, const T &value, Ts... extra_input_parameters)
 Given a series of parameters names and values, sets each name to the corresponding value. 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...
 
template<typename T >
void addRequiredParam (const std::string &name, const std::string &doc_string)
 This method adds a parameter and documentation string to the InputParameters object that will be extracted from the input file. More...
 
template<typename T >
void addRequiredParam (const std::string &name, const T &moose_enum, const std::string &doc_string)
 This version of addRequiredParam is here for a consistent use with MooseEnums. More...
 
template<typename T >
void addParam (const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
 Enable support for initializer lists as default arguments for container type. More...
 
template<typename T >
void addRequiredCustomTypeParam (const std::string &name, const std::string &custom_type, const std::string &doc_string)
 These methods add an option parameter and with a customer type to the InputParameters object. More...
 
template<typename T >
void addCustomTypeParam (const std::string &name, const T &value, const std::string &custom_type, const std::string &doc_string)
 
template<typename T >
void addCustomTypeParam (const std::string &name, const std::string &custom_type, const std::string &doc_string)
 
template<typename T >
void addDeprecatedCustomTypeParam (const std::string &name, const std::string &custom_type, const std::string &doc_string, const std::string &deprecation_msg)
 
template<typename T >
void addPrivateParam (const std::string &name, const T &value)
 These method add a parameter to the InputParameters object which can be retrieved like any other parameter. More...
 
template<typename T >
void addPrivateParam (const std::string &name)
 
template<typename T >
void addRequiredCommandLineParam (const std::string &name, const std::string &syntax, const std::string &doc_string)
 Add parameters for retrieval from the command line. More...
 
template<typename T >
void addCommandLineParam (const std::string &name, const std::string &syntax, const std::string &doc_string)
 
template<typename T >
void addCommandLineParam (const std::string &name, const std::string &syntax, const T &value, const std::string &doc_string)
 
template<typename T >
void addCommandLineParam (const std::string &name, const std::string &syntax, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
 
template<typename T >
void addOptionalValuedCommandLineParam (const std::string &name, const std::string &syntax, const T &value, const std::string &doc_string)
 Add a command line parameter with an optional value. More...
 
void setGlobalCommandLineParam (const std::string &name)
 Sets the command line parameter with name as global. More...
 
template<typename T >
void addDeprecatedParam (const std::string &name, const T &value, const std::string &doc_string, const std::string &deprecation_message)
 
template<typename T >
void addDeprecatedParam (const std::string &name, const std::string &doc_string, const std::string &deprecation_message)
 
template<typename T >
void checkConsistentType (const std::string &name) const
 This method checks to make sure that we aren't adding a parameter with the same name but a different type. More...
 
bool isCommandLineParameter (const std::string &name) const
 
std::optional< InputParameters::CommandLineMetadataqueryCommandLineMetadata (const std::string &name) const
 
const InputParameters::CommandLineMetadatagetCommandLineMetadata (const std::string &name) const
 
void commandLineParamSet (const std::string &name, const CommandLineParamSetKey)
 Marks the command line parameter name as set by the CommandLine. More...
 
const std::string & getDescription (const std::string &name) const
 Get the documentation string for a parameter. More...
 
void addParamNamesToGroup (const std::string &space_delim_names, const std::string group_name)
 This method takes a space delimited list of parameter names and adds them to the specified group name. More...
 
void renameParameterGroup (const std::string &old_name, const std::string &new_name)
 This method renames a parameter group. More...
 
std::string getGroupName (const std::string &param_name) const
 This method retrieves the group name for the passed parameter name if one exists. More...
 
template<typename T >
void suppressParameter (const std::string &name)
 This method suppresses an inherited parameter so that it isn't required or valid in the derived class. More...
 
template<typename T >
void makeParamRequired (const std::string &name)
 Changes the parameter to be required. More...
 
template<typename T >
void makeParamNotRequired (const std::string &name)
 Changes the parameter to not be required. More...
 
void addCoupledVar (const std::string &name, const std::string &doc_string)
 This method adds a coupled variable name pair. More...
 
void addDeprecatedCoupledVar (const std::string &old_name, const std::string &new_name, const std::string &removal_date="")
 This method adds a deprecated coupled variable name pair. More...
 
void addCoupledVar (const std::string &name, const Real value, const std::string &doc_string)
 This method adds a coupled variable name pair. More...
 
void addCoupledVar (const std::string &name, const std::vector< Real > &value, const std::string &doc_string)
 This method adds a coupled variable name pair. More...
 
std::string getMooseType (const std::string &name) const
 Utility functions for retrieving one of the MooseTypes variables into the common "string" base class. More...
 
std::vector< std::string > getVecMooseType (const std::string &name) const
 
bool isMooseBaseObject () const
 
const std::string * queryObjectType () const
 
const std::string & getObjectType () const
 
const std::string & getObjectName () const
 
void addRequiredCoupledVar (const std::string &name, const std::string &doc_string)
 This method adds a coupled variable name pair. More...
 
std::string getDocString (const std::string &name) const
 Returns the documentation string for the specified parameter name. More...
 
void setDocString (const std::string &name, const std::string &doc)
 Set the doc string of a parameter. More...
 
std::string getDocUnit (const std::string &name) const
 Returns the documentation unit string for the specified parameter name. More...
 
void setDocUnit (const std::string &name, const std::string &doc_unit)
 Set the unit string of a parameter. More...
 
bool isParamRequired (const std::string &name) const
 Returns a boolean indicating whether the specified parameter is required or not. More...
 
void makeParamNotRequired (const std::string &name)
 Forces parameter of given name to be not required regardless of type. More...
 
bool isParamValid (const std::string &name) const
 This method returns parameters that have been initialized in one fashion or another, i.e. More...
 
bool isParamSetByAddParam (const std::string &name) const
 Returns whether or not the parameter was set due to addParam. More...
 
bool isParamDeprecated (const std::string &name) const
 Returns True if the parameters is deprecated. More...
 
bool isKokkosObject () const
 Returns whether this InputParameters belongs to a Kokkos object Checks whether MooseBase::kokkos_object_param is valid. More...
 
bool areAllRequiredParamsValid () const
 This method returns true if all of the parameters in this object are valid (i.e. More...
 
std::string type (const std::string &name) const
 Prints the type of the requested parameter by name. More...
 
bool isPrivate (const std::string &name) const
 Returns a Boolean indicating whether the specified parameter is private or not. More...
 
void declareControllable (const std::string &name, std::set< ExecFlagType > execute_flags={})
 Declare the given parameters as controllable. More...
 
void markControlled (const std::string &name)
 Marker a parameter that has been changed by the Control system (this is for output purposes) More...
 
bool isControllable (const std::string &name) const
 Returns a Boolean indicating whether the specified parameter is controllable. More...
 
const std::set< ExecFlagType > & getControllableExecuteOnTypes (const std::string &name) const
 Return the allowed execute flags for a controllable parameter. More...
 
void registerBase (const std::string &value)
 This method must be called from every base "Moose System" to create linkage with the Action System. More...
 
bool hasBase () const
 
const std::string & getBase () const
 
void registerSystemAttributeName (const std::string &value)
 This method is used to define the MOOSE system name that is used by the TheWarehouse object for storing objects to be retrieved for execution. More...
 
const std::string & getSystemAttributeName () const
 Get the system attribute name if it was registered. More...
 
void registerBuildableTypes (const std::string &names)
 This method is here to indicate which Moose types a particular Action may build. More...
 
void addRelationshipManager (const std::string &name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback input_parameter_callback=nullptr)
 Tells MOOSE about a RelationshipManager that this object needs. More...
 
void clearRelationshipManagers ()
 Clears all currently registered RelationshipManagers. More...
 
const std::vector< std::string > & getBuildableTypes () const
 Returns the list of buildable types as a std::vector<std::string> More...
 
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. More...
 
void checkParams (const std::string &parsing_syntax)
 This function checks parameters stored in the object to make sure they are in the correct state as the user expects: Required parameters are verified as valid meaning that they were either initialized when they were created, or were read from an input file or some other valid source. More...
 
std::optional< std::pair< bool, std::string > > parameterRangeCheck (const Parameters::Value &value, const std::string &long_name, const std::string &short_name, const bool include_param_path)
 Performs a range check on the parameter (which must have a range check) More...
 
void finalize (const std::string &parsing_syntax)
 Finalizes the parameters, which must be done before constructing any objects with these parameters (to be called in the corresponding factories). More...
 
std::filesystem::path getFileBase (const std::optional< std::string > &param_name=std::optional< std::string >()) const
 
std::set< std::string >::const_iterator coupledVarsBegin () const
 Methods returning iterators to the coupled variables names stored in this InputParameters object. More...
 
std::set< std::string >::const_iterator coupledVarsEnd () const
 
const std::set< std::string > & getCoupledVariableParamNames () const
 Return the coupled variable parameter names. More...
 
const std::unordered_map< std::string, std::string > & getNewToDeprecatedVarMap () const
 Return the new to deprecated variable name map. More...
 
bool isRangeChecked (const std::string &param_name) const
 Return whether a parameter has a range check. More...
 
std::string rangeCheckedFunction (const std::string &name) const
 Return the range check function for any parameter (empty string if it is not range checked) More...
 
bool hasDefault (const std::string &param_name) const
 Return whether a parameter has a default. More...
 
bool hasCoupledVar (const std::string &coupling_name) const
 Return whether or not the coupled variable exists. More...
 
bool hasCoupledValue (const std::string &coupling_name) const
 Return whether or not the coupled variable exists. More...
 
void setCoupledVar (const std::string &coupling_name, const std::string &value)
 Set a coupled variable parameter to a single variable name. More...
 
void setCoupledVar (const std::string &coupling_name, const std::vector< VariableName > &values)
 Set a coupled variable parameter to multiple variable names. More...
 
const std::vector< VariableName > & getCoupledVar (const std::string &coupling_name) const
 Get a coupled variable parameter. More...
 
bool hasDefaultCoupledValue (const std::string &coupling_name) const
 Return whether or not the requested parameter has a default coupled value. More...
 
Real defaultCoupledValue (const std::string &coupling_name, unsigned int i=0) const
 Get the default value for an optionally coupled variable. More...
 
unsigned int numberDefaultCoupledValues (const std::string &coupling_name) const
 Get the number of defaulted coupled value entries. More...
 
void defaultCoupledValue (const std::string &coupling_name, Real value, unsigned int i=0)
 Set the default value for an optionally coupled variable (called by the Parser). More...
 
std::map< std::string, std::pair< std::string, std::string > > getAutoBuildVectors () const
 Returns the auto build vectors for all parameters. More...
 
void applyParameters (const InputParameters &common, const std::vector< std::string > &exclude={}, const bool allow_private=false)
 Method for applying common parameters. More...
 
void applyCommonUserSetParameters (const InputParameters &common, const std::vector< std::string > &exclude={}, const bool allow_private=false)
 Variant of applyParameters that only applies parameters explicitly set by the user in common (i.e. More...
 
void applySpecificParameters (const InputParameters &common, const std::vector< std::string > &include, bool allow_private=false)
 Method for applying common parameters. More...
 
void applyParameter (const InputParameters &common, const std::string &common_name, bool allow_private=false)
 Apply values from a single parameter in common, to a single parameter stored in this object. More...
 
void applyCoupledVar (const InputParameters &common, const std::string &var_name)
 Apply properties of a single coupled variable in common, to a single coupled variable stored in this object. More...
 
bool paramSetByUser (const std::string &name) const
 Deprecated method. More...
 
bool isParamSetByUser (const std::string &name) const
 Method returns true if the parameter was set by the user. More...
 
bool isParamDefined (const std::string &name) const
 Method returns true if the parameter is defined for any type. More...
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter. More...
 
template<typename R1 , typename R2 , typename V1 = typename std::conditional<std::is_same<R1, MooseEnumItem>::value, MultiMooseEnum, std::vector<R1>>::type, typename V2 = typename std::conditional<std::is_same<R2, MooseEnumItem>::value, MultiMooseEnum, std::vector<R2>>::type>
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. More...
 
std::set< std::string > getParametersList () const
 
std::set< std::string > getControllableParameters () const
 Return list of controllable parameters. More...
 
std::set< std::string > getGroupParameters (const std::string &group) const
 Return names of parameters within a group. More...
 
void setReservedValues (const std::string &name, const std::set< std::string > &reserved)
 Provide a set of reserved values for a parameter. More...
 
std::set< std::string > reservedValues (const std::string &name) const
 Get a set of reserved parameter values. More...
 
std::string blockLocation () const
 
std::string blockFullpath () const
 
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. More...
 
std::string inputLocation (const std::string &param) const
 
std::string paramFullpath (const std::string &param) const
 
std::string paramLocationPrefix (const std::string &param) const
 Returns a prefix containing the parameter name and location (if available) More...
 
template<typename... Args>
std::string paramMessage (const std::string &param, Args... args) const
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with the object information, if available. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits a parameter error prefixed with the parameter location and object information if available. More...
 
std::string rawParamVal (const std::string &param) const
 
template<typename T >
void ignoreParameter (const std::string &name)
 Informs this object that values for this parameter set from the input file or from the command line should be ignored. More...
 
bool shouldIgnore (const std::string &name)
 Whether to ignore the value of an input parameter set in the input file or from the command line. More...
 
template<typename T >
bool isType (const std::string &name) const
 
std::string varName (const std::string &var_param_name, const std::string &moose_object_with_var_param_name) const
 Determine the actual variable name from the given variable parameter name. More...
 
void renameParam (const std::string &old_name, const std::string &new_name, const std::string &new_docstring)
 Rename a parameter and provide a new documentation string. More...
 
void renameCoupledVar (const std::string &old_name, const std::string &new_name, const std::string &new_docstring)
 Rename a coupled variable and provide a new documentation string. More...
 
void deprecateParam (const std::string &old_name, const std::string &new_name, const std::string &removal_date)
 
void deprecateCoupledVar (const std::string &old_name, const std::string &new_name, const std::string &removal_date)
 
std::string checkForRename (const std::string &name) const
 Checks whether the provided name is a renamed parameter name. More...
 
template<typename T >
const T & get (std::string_view name) const
 A wrapper around the Parameters base class method. More...
 
template<typename T >
bool have_parameter (std::string_view name) const
 A wrapper around the Parameters base class method. More...
 
template<typename T >
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' validParams to another. More...
 
std::vector< std::string > paramAliases (const std::string &param_name) const
 Return all the aliased names associated with param_name. More...
 
const hit::Node * getHitNode () const
 
void setHitNode (const hit::Node &node, const SetHitNodeKey)
 Sets the hit node that represents the syntax responsible for creating these parameters. More...
 
bool isFinalized () const
 
std::optional< Moose::DataFileUtils::PathqueryDataFileNamePath (const std::string &name) const
 
std::optional< std::string > setupVariableNames (std::vector< VariableName > &names, const hit::Node &node, const Moose::PassKey< Moose::Builder >)
 Entrypoint for the Builder to setup a std::vector<VariableName> parameter, which will setup the default variable names if appropriate. More...
 
template<>
void addRequiredParam (const std::string &name, const MooseEnum &moose_enum, const std::string &doc_string)
 
template<>
void addRequiredParam (const std::string &name, const MultiMooseEnum &moose_enum, const std::string &doc_string)
 
template<>
void addParam (const std::string &, const std::string &)
 
template<>
void addParam (const std::string &, const std::string &)
 
template<>
void addPrivateParam (const std::string &)
 
template<>
void addPrivateParam (const std::string &)
 
template<>
void addDeprecatedParam (const std::string &, const std::string &, const std::string &)
 
template<>
void addDeprecatedParam (const std::string &, const std::string &, const std::string &)
 
template<>
const MooseEnumgetParamHelper (const std::string &name, const InputParameters &pars)
 
template<>
const MultiMooseEnumgetParamHelper (const std::string &name, const InputParameters &pars)
 
template<>
void addRequiredParam (const std::string &name, const MooseEnum &moose_enum, const std::string &doc_string)
 
template<>
void addRequiredParam (const std::string &name, const MultiMooseEnum &moose_enum, const std::string &doc_string)
 
template<>
void addParam (const std::string &, const std::string &)
 
template<>
void addParam (const std::string &, const std::string &)
 
template<>
void addPrivateParam (const std::string &)
 
template<>
void addPrivateParam (const std::string &)
 
template<>
void addDeprecatedParam (const std::string &, const std::string &, const std::string &)
 
template<>
void addDeprecatedParam (const std::string &, const std::string &, const std::string &)
 
template<>
const MooseEnumgetParamHelper (const std::string &name_in, const InputParameters &pars)
 
template<>
const MultiMooseEnumgetParamHelper (const std::string &name_in, const InputParameters &pars)
 
virtual Parametersoperator+= (const Parameters &source)
 
void insert (const std::string &)
 
T & set (const std::string &)
 
void remove (std::string_view)
 
std::size_t n_parameters () const
 
unsigned int n_parameters () const
 
void print (std::ostream &os=libMesh::out) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
template<typename T , typename UP_T >
std::optional< std::pair< bool, std::string > > rangeCheck (const std::string &full_name, const std::string &short_name, const InputParameters::Parameter< T > &param, const bool include_param_path=true)
 Runs a range on the supplied parameter if it exists and throws an error if that check fails. More...
 
template<typename T , typename UP_T >
std::optional< std::pair< bool, std::string > > rangeCheck (const std::string &full_name, const std::string &short_name, const InputParameters::Parameter< std::vector< T >> &param, const bool include_param_path=true)
 
template<typename T , typename S >
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. More...
 
template<typename T >
void addParam (const std::string &name, const std::string &doc_string)
 
template<typename T >
void addRequiredRangeCheckedParam (const std::string &name, const std::string &parsed_function, const std::string &doc_string)
 These methods add an range checked parameters. More...
 
template<typename T >
void addRangeCheckedParam (const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)
 
template<typename T >
void addRangeCheckedParam (const std::string &name, const std::string &parsed_function, const std::string &doc_string)
 
void addCoupledVarWithAutoBuild (const std::string &name, const std::string &base_name, const std::string &num_name, const std::string &doc_string)
 These methods add a coupled variable name pair. More...
 
void addRequiredCoupledVarWithAutoBuild (const std::string &name, const std::string &base_name, const std::string &num_name, const std::string &doc_string)
 
void collapseSyntaxNesting (bool collapse)
 Mutators for controlling whether or not the outermost level of syntax will be collapsed when printed. More...
 
bool collapseSyntaxNesting () const
 
void mooseObjectSyntaxVisibility (bool visibility)
 Mutators for controlling whether or not the outermost level of syntax will be collapsed when printed. More...
 
bool mooseObjectSyntaxVisibility () const
 
InputParametersoperator= (const InputParameters &rhs)
 
InputParametersoperator+= (const InputParameters &rhs)
 

Static Public Member Functions

template<typename T >
static const T & getParamHelper (const std::string &name, const InputParameters &pars)
 

Protected Attributes

map_type _values
 

Private Member Functions

 InputParameters ()
 
void setParameters ()
 Method to terminate the recursive setParameters definition. More...
 
template<typename T >
std::string appendFunctorDescription (const std::string &doc_string) const
 Appends description of what a functor is to a doc string. More...
 
void setDeprecatedVarDocString (const std::string &new_name, const std::string &doc_string)
 Private method for setting deprecated coupled variable documentation strings. More...
 
void renameParamInternal (const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)
 
void renameCoupledVarInternal (const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)
 
std::pair< std::string, const hit::Node * > paramMessageContext (const std::string &param) const
 Get the context associated with a parameter for a message. More...
 
std::string paramMessagePrefix (const std::string &param) const
 Get a prefix for messages associated with a parameter. More...
 
Metadataat (const std::string &param_name)
 
const Metadataat (const std::string &param_name) const
 
void allowCopy (bool status)
 Toggle the availability of the copy constructor. More...
 
void checkParamName (const std::string &name) const
 Make sure the parameter name doesn't have any invalid characters. More...
 
template<typename T , typename S >
void setParamHelper (const std::string &name, T &l_value, const S &r_value)
 This method is called when adding a Parameter with a default value, can be specialized for non-matching types. More...
 
template<typename T >
void addCommandLineParamHelper (const std::string &name, const std::string &syntax, const bool required, const bool value_required)
 Helper for all of the addCommandLineParam() calls, which sets up _cl_data in the metadata. More...
 
void callMooseError (std::string msg, const bool with_prefix=true, const hit::Node *node=nullptr, const bool show_trace=true) const
 Internal helper for calling back to mooseError(), ideally from the underlying MooseBase object if it is available (for more context) More...
 
template<>
void setParamHelper (const std::string &name, PostprocessorName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &name, PostprocessorName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, FunctionName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, FunctionName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, MaterialPropertyName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, MaterialPropertyName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, MooseFunctorName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, MooseFunctorName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, PostprocessorName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, PostprocessorName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, FunctionName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, FunctionName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, MaterialPropertyName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, MaterialPropertyName &l_value, const int &r_value)
 
template<>
void setParamHelper (const std::string &, MooseFunctorName &l_value, const Real &r_value)
 
template<>
void setParamHelper (const std::string &, MooseFunctorName &l_value, const int &r_value)
 

Static Private Member Functions

template<typename T >
static constexpr bool isFunctorNameType ()
 

Private Attributes

std::map< std::string, Metadata_params
 The actual parameter data. More...
 
std::set< std::string > _coupled_vars
 The coupled variables set. More...
 
std::string _class_description
 The class description for the owning object. More...
 
std::vector< std::string > _buildable_types
 The parameter is used to restrict types that can be built. More...
 
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
 The RelationshipManagers that this object may either build or require. More...
 
bool _collapse_nesting
 This parameter collapses one level of nesting in the syntax blocks. More...
 
bool _moose_object_syntax_visibility
 This parameter hides derived MOOSE object types from appearing in syntax dumps. More...
 
bool _show_deprecated_message
 Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping messages. More...
 
bool _allow_copy
 A flag for toggling the error message in the copy constructor. More...
 
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
 A map from deprecated coupled variable names to the new blessed name. More...
 
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
 A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the deprecation messages in the case that the "old" parameter name is a deprecated parameter name. More...
 
std::multimap< std::string, std::string > _new_to_old_names
 A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names. More...
 
const hit::Node * _hit_node
 The hit node representing the syntax that created these parameters, if any. More...
 
bool _finalized
 Whether or not we've called finalize() on these parameters yet. More...
 

Friends

class InputParameterWarehouse
 
class Parser
 
class ActionWarehouse
 
InputParameters emptyInputParameters ()
 

Detailed Description

The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.

Definition at line 67 of file InputParameters.h.

Constructor & Destructor Documentation

◆ InputParameters() [1/3]

InputParameters::InputParameters ( const InputParameters rhs)

Definition at line 48 of file InputParameters.C.

50 {
51  *this = rhs;
52 }
bool _allow_copy
A flag for toggling the error message in the copy constructor.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...

◆ InputParameters() [2/3]

InputParameters::InputParameters ( const Parameters rhs)

Definition at line 54 of file InputParameters.C.

56 {
57  _params.clear();
59  _collapse_nesting = false;
61 }
bool _allow_copy
A flag for toggling the error message in the copy constructor.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.
infix_ostream_iterator< T, charT, traits > & operator=(T const &item)
Definition: InfixIterator.h:47
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ ~InputParameters()

virtual InputParameters::~InputParameters ( )
virtualdefault

◆ InputParameters() [3/3]

InputParameters::InputParameters ( )
private

Definition at line 37 of file InputParameters.C.

38  : Parameters(),
39  _collapse_nesting(false),
42  _allow_copy(true),
43  _hit_node(nullptr),
44  _finalized(false)
45 {
46 }
bool _allow_copy
A flag for toggling the error message in the copy constructor.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.
bool _finalized
Whether or not we&#39;ve called finalize() on these parameters yet.
const hit::Node * _hit_node
The hit node representing the syntax that created these parameters, if any.
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.

Member Function Documentation

◆ addClassDescription()

void InputParameters::addClassDescription ( const std::string &  doc_string)

This method adds a description of the class that will be displayed in the input file syntax dump.

Definition at line 81 of file InputParameters.C.

Referenced by ConservativeAdvectionTempl< is_ad >::generalParams(), ADFluxFromGradientMaterial::validParams(), FVOneVarDiffusionInterface::validParams(), FVTwoVarContinuityConstraint::validParams(), FVDiffusionInterface::validParams(), AddIndicatorAction::validParams(), AddInitialConditionAction::validParams(), CopyNodalVarsAction::validParams(), BoundaryDeletionGenerator::validParams(), ADDGKernel::validParams(), ConstantVectorPostprocessor::validParams(), ArrayHFEMDiffusion::validParams(), AddInterfaceKernelAction::validParams(), CreateExecutionerAction::validParams(), DGConvection::validParams(), HFEMDiffusion::validParams(), InversePowerMethod::validParams(), AddKernelAction::validParams(), DynamicObjectRegistrationAction::validParams(), ProcessorIDAux::validParams(), ElementIDOutputAction::validParams(), AddMarkerAction::validParams(), GlobalParamsAction::validParams(), CoupledVarThresholdElementSubdomainModifier::validParams(), AddBCAction::validParams(), AddDGKernelAction::validParams(), PartitionerAction::validParams(), AddDiracKernelAction::validParams(), AddMaterialAction::validParams(), ReadExecutorParamsAction::validParams(), AddDamperAction::validParams(), AddMeshGeneratorAction::validParams(), FVScalarLagrangeMultiplierInterface::validParams(), SetupMeshCompleteAction::validParams(), FVAdvection::validParams(), AddElementalFieldAction::validParams(), AddMultiAppAction::validParams(), ADRobinBC::validParams(), FVFunctorTimeKernel::validParams(), FVMatAdvection::validParams(), FVReaction::validParams(), AddNodalKernelAction::validParams(), ADVectorRobinBC::validParams(), FVTimeKernel::validParams(), ArrayHFEMDirichletBC::validParams(), ArrayNeumannBC::validParams(), ArrayPenaltyDirichletBC::validParams(), ArrayVacuumBC::validParams(), PenaltyDirichletNodalKernel::validParams(), AnalyticalIndicator::validParams(), GradientJumpIndicator::validParams(), LaplacianJumpIndicator::validParams(), AddBoundsVectorsAction::validParams(), AddFunctorMaterialAction::validParams(), ArrayVariableComponent::validParams(), ArrayVarReductionAux::validParams(), ADTimeDerivative::validParams(), BuildArrayVariableAux::validParams(), ADVectorDiffusion::validParams(), ADVectorTimeDerivative::validParams(), ArrayDiffusion::validParams(), ArrayReaction::validParams(), ArrayTimeDerivative::validParams(), AddPostprocessorAction::validParams(), HFEMDirichletBC::validParams(), AverageNodalVariableValue::validParams(), MassEigenKernel::validParams(), ElementArrayL2Norm::validParams(), MassLumpedTimeDerivative::validParams(), AddScalarKernelAction::validParams(), TimeDerivative::validParams(), EmptyPostprocessor::validParams(), ElementIntegerAux::validParams(), VectorTimeDerivative::validParams(), NumLinearIterations::validParams(), NumNodes::validParams(), NumRelationshipManagers::validParams(), NumVars::validParams(), PerfGraphData::validParams(), Residual::validParams(), AddConstraintAction::validParams(), AddFVInitialConditionAction::validParams(), ErrorFractionMarker::validParams(), ErrorToleranceMarker::validParams(), TimestepSize::validParams(), AddTransferAction::validParams(), UniformMarker::validParams(), VariableResidual::validParams(), VectorPostprocessorComponent::validParams(), VectorPostprocessorReductionValue::validParams(), ValueRangeMarker::validParams(), AddUserObjectAction::validParams(), ExtraElementIDAux::validParams(), ValueThresholdMarker::validParams(), AddFVInterfaceKernelAction::validParams(), AddVectorPostprocessorAction::validParams(), ExternalProblem::validParams(), ConstantReporter::validParams(), GenericConstantArray::validParams(), ElementVariableStatistics::validParams(), NodalVariableStatistics::validParams(), AutoCheckpointAction::validParams(), EqualValueBoundaryConstraint::validParams(), ADScalarTimeDerivative::validParams(), CoupledODETimeDerivative::validParams(), ODETimeDerivative::validParams(), CheckFVBCAction::validParams(), FileMesh::validParams(), ConstantDT::validParams(), TiledMesh::validParams(), TestSourceStepper::validParams(), VerifyElementUniqueID::validParams(), ElementOrderConversionGenerator::validParams(), VerifyNodalUniqueID::validParams(), PointValueSampler::validParams(), SideValueSampler::validParams(), KokkosIntegralMaterialProperty< KokkosSideIntegralPostprocessor >::validParams(), CreateProblemAction::validParams(), PeriodicFunction::validParams(), JSONOutput::validParams(), XMLOutput::validParams(), CoefReactionTempl< is_ad >::validParams(), AddFieldSplitAction::validParams(), ExtraIDIntegralReporter::validParams(), DerivativeSumMaterialTempl< is_ad >::validParams(), GenericConstantVectorMaterialTempl< is_ad >::validParams(), CSVReaderVectorPostprocessor::validParams(), Eigenvalues::validParams(), LineValueSampler::validParams(), NodalPatchRecoveryAuxBase::validParams(), PenetrationAux::validParams(), UniqueExtraIDMeshGenerator::validParams(), ActivateElementsUserObjectBase::validParams(), MooseObjectAction::validParams(), MFEMNDtoRTAux::validParams(), MFEMBoundaryIntegratedBC::validParams(), MFEMBoundaryNormalIntegratedBC::validParams(), MFEMComplexScalarDirichletBC::validParams(), MFEMComplexVectorNormalDirichletBC::validParams(), MFEMComplexVectorTangentialDirichletBC::validParams(), MFEMRWTE10IntegratedBC::validParams(), MFEMScalarDirichletBC::validParams(), FVPostprocessorDirichletBC::validParams(), MFEMVectorBoundaryIntegratedBC::validParams(), MFEMVectorDirichletBC::validParams(), MFEMVectorFEBoundaryFluxIntegratedBC::validParams(), MFEMVectorFEBoundaryTangentIntegratedBC::validParams(), MFEMVectorFEMassIntegratedBC::validParams(), MFEMVectorNormalDirichletBC::validParams(), MFEMVectorTangentialDirichletBC::validParams(), MFEMScalarFESpace::validParams(), MFEMVectorFESpace::validParams(), AdaptivityAction::validParams(), SetupMeshAction::validParams(), MFEMEigenproblem::validParams(), ArrayFunctionIC::validParams(), FunctionScalarIC::validParams(), ArrayBodyForce::validParams(), ElementExtremeMaterialPropertyTempl< is_ad >::validParams(), ElementExtremeValue::validParams(), ElementL2Error::validParams(), NodalExtremeValue::validParams(), AddFVBCAction::validParams(), SideExtremeValue::validParams(), TimeExtremeValue::validParams(), BoxMarker::validParams(), GapValueAux::validParams(), LogConstantDT::validParams(), AddFVKernelAction::validParams(), ElementQualityChecker::validParams(), ComposeTimeStepperAction::validParams(), IterationCountConvergence::validParams(), BlockDeletionGenerator::validParams(), InterfaceQpMaterialPropertyRealUO::validParams(), BlockToMeshConverterGenerator::validParams(), MultiPostprocessorConvergence::validParams(), JSONFileReader::validParams(), PostprocessorConvergence::validParams(), BoundaryLayerSubdomainGenerator::validParams(), BreakBoundaryOnSubdomainGenerator::validParams(), PostprocessorSteadyStateConvergence::validParams(), CoarsenBlockGenerator::validParams(), NodalPatchRecoveryVariable::validParams(), ElementGenerator::validParams(), ExtraNodesetGenerator::validParams(), ElementsAlongLine::validParams(), PIDChainControl::validParams(), ElementsAlongPlane::validParams(), FileMeshGenerator::validParams(), IntersectionPointsAlongLine::validParams(), LineFunctionSampler::validParams(), ArrayDGDiffusion::validParams(), AddHDGKernelAction::validParams(), FlipSidesetGenerator::validParams(), LowerDBlockFromSidesetGenerator::validParams(), SidesetInfoVectorPostprocessor::validParams(), MoveNodeGenerator::validParams(), NodeSetsFromSideSetsGenerator::validParams(), FunctionDiracSource::validParams(), OrientSurfaceMeshGenerator::validParams(), OverlayMeshGenerator::validParams(), FunctorDiracKernel::validParams(), ParsedSubdomainIDsGenerator::validParams(), ParsedSubdomainMeshGenerator::validParams(), PlaneIDMeshGenerator::validParams(), Steady::validParams(), RefineBlockGenerator::validParams(), RefineSidesetGenerator::validParams(), DeprecatedBlockAction::validParams(), RenameBlockGenerator::validParams(), RenameBoundaryGenerator::validParams(), RenumberBySubdomainGenerator::validParams(), RinglebMeshGenerator::validParams(), SecondTimeDerivativeAux::validParams(), SideSetsFromNodeSetsGenerator::validParams(), SideSetsFromNormalsGenerator::validParams(), ConstantFunction::validParams(), SphereMeshGenerator::validParams(), SpiralAnnularMeshGenerator::validParams(), SubdomainIDGenerator::validParams(), SubdomainPerElementGenerator::validParams(), SurfaceDelaunayGeneratorBase::validParams(), AddConvergenceAction::validParams(), SymmetryTransformGenerator::validParams(), TiledMeshGenerator::validParams(), PiecewiseConstant::validParams(), MoveNodesToSphere::validParams(), TimeDerivativeAux::validParams(), VariableValueElementSubdomainModifier::validParams(), AddDefaultConvergenceAction::validParams(), VectorVariableMagnitudeAux::validParams(), VolumeAux::validParams(), WeightedGapAux::validParams(), ConstantScalarAux::validParams(), AddMeshDivisionAction::validParams(), SetupDebugAction::validParams(), FVInterpolationMethod::validParams(), SetupPreconditionerAction::validParams(), FVCoupledForce::validParams(), SetupPredictorAction::validParams(), ADVectorMatchedValueBC::validParams(), SetupTimeIntegratorAction::validParams(), FunctionIC::validParams(), AddDistributionAction::validParams(), SetupTimeStepperAction::validParams(), ScalarComponentIC::validParams(), ArrayTimeDerivativeNodalKernel::validParams(), StartWebServerControlAction::validParams(), LowerBoundNodalKernel::validParams(), CoupledForceNodalKernel::validParams(), ReactionNodalKernel::validParams(), UpperBoundNodalKernel::validParams(), AdvectiveFluxAux::validParams(), InterfaceDiffusion::validParams(), ADArrayDiffusion::validParams(), ADArrayReaction::validParams(), ADKernelCurl::validParams(), AddPositionsAction::validParams(), ConstantAux::validParams(), ArrayCoupledTimeDerivative::validParams(), FunctorDirichletBC::validParams(), FunctorNeumannBC::validParams(), AreaPostprocessor::validParams(), AverageElementSize::validParams(), AddChainControlAction::validParams(), AddFunctionAction::validParams(), CopyValueAux::validParams(), CoupledTimeDerivative::validParams(), DivDivField::validParams(), ConstantPostprocessor::validParams(), DivField::validParams(), DebugResidualAux::validParams(), DiscreteVariableResidualNorm::validParams(), FunctionDiffusion::validParams(), FunctorKernel::validParams(), GradField::validParams(), ElementAverageSecondTimeDerivative::validParams(), ElementAverageTimeDerivative::validParams(), KernelCurl::validParams(), ElementExtremeFunctorValueTempl< is_ad >::validParams(), AddReporterAction::validParams(), MassMatrix::validParams(), MaterialDerivativeTestKernel::validParams(), ElementL2Difference::validParams(), ElementMaxLevelPostProcessor::validParams(), NullKernel::validParams(), FunctionElementAverage::validParams(), FunctionElementIntegral::validParams(), FunctionSideAverage::validParams(), MatrixSymmetryCheck::validParams(), VectorCoupledTimeDerivative::validParams(), NodalL2Error::validParams(), AddTimesAction::validParams(), NodalMaxValueId::validParams(), NodalSum::validParams(), NumElements::validParams(), InterfaceQpValueUserObject::validParams(), NumResidualEvaluations::validParams(), VariableOldValueBounds::validParams(), NumTimeSteps::validParams(), AddTimeStepperAction::validParams(), LinearFVAdvectionDiffusionScalarSymmetryBC::validParams(), GetPostprocessorChainControl::validParams(), LimitChainControl::validParams(), ScalarVariable::validParams(), ScalePostprocessor::validParams(), SideAverageFunctorPostprocessor::validParams(), BoundaryMarker::validParams(), RealToBoolChainControl::validParams(), ComboMarker::validParams(), ScaleOldChainControl::validParams(), TimeIntegratedPostprocessor::validParams(), TimePostprocessor::validParams(), VolumePostprocessor::validParams(), TerminateChainControl::validParams(), SingleMatrixPreconditioner::validParams(), UnitTripChainControl::validParams(), ForcingFunctionAux::validParams(), FunctionArrayAux::validParams(), ParsedScalarReporter::validParams(), ParsedVectorRealReductionReporter::validParams(), ParsedVectorReporter::validParams(), ParsedVectorVectorRealReductionReporter::validParams(), RestartableDataReporter::validParams(), NullScalarKernel::validParams(), ExplicitEuler::validParams(), ExplicitSSPRungeKutta::validParams(), ImplicitEuler::validParams(), ChainControlSetupAction::validParams(), AnnularMesh::validParams(), TimeIntervalTimes::validParams(), GeneratedMesh::validParams(), FixedPointIterationAdaptiveDT::validParams(), AddFVInterpolationMethodAction::validParams(), SpiralAnnularMesh::validParams(), RinglebMesh::validParams(), ExtraElementIntegerDivision::validParams(), NestedDivision::validParams(), CombineComponentsMeshes::validParams(), AddMetaDataGenerator::validParams(), ElemSideNeighborLayersGeomTester::validParams(), ElemSideNeighborLayersTester::validParams(), LayeredAverageFunctor::validParams(), BoundaryElementConversionGenerator::validParams(), LayeredSideAverageFunctor::validParams(), LayeredSideIntegralFunctor::validParams(), MaterialRealDenseMatrixAux::validParams(), BreakMeshByBlockGenerator::validParams(), MessageFromInput::validParams(), BSplineCurveGenerator::validParams(), CartesianMeshGenerator::validParams(), ConcentricCircleMeshGenerator::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryBase::validParams(), MaxIncrement::validParams(), CombinedVectorPostprocessor::validParams(), ADDGAdvection::validParams(), AddActionComponentAction::validParams(), CylindricalAverage::validParams(), FiniteDifferencePreconditioner::validParams(), ElementsToTetrahedronsConverter::validParams(), ConcentricCircleMesh::validParams(), ElementValueSampler::validParams(), FillBetweenCurvesGenerator::validParams(), MaterialStdVectorRealGradientAux::validParams(), SpatialUserObjectVectorPostprocessor::validParams(), PositionsFunctorValueSampler::validParams(), NodalValueSampler::validParams(), GeneratedMeshGenerator::validParams(), SphericalAverage::validParams(), ImageSubdomainGenerator::validParams(), MeshDiagnosticsGenerator::validParams(), ConstantPointSource::validParams(), MeshRepairGenerator::validParams(), FillBetweenSidesetsGenerator::validParams(), LinearFVReaction::validParams(), ParsedAux::validParams(), ParsedSubdomainGeneratorBase::validParams(), CreateMeshSetupActionsForComponents::validParams(), ParsedVectorAux::validParams(), PolyLineMeshGenerator::validParams(), FillBetweenPointVectorsGenerator::validParams(), NullExecutor::validParams(), SimulationTimes::validParams(), SideSetExtruderGenerator::validParams(), SideSetsBetweenSubdomainsGenerator::validParams(), SideSetsFromPointsGenerator::validParams(), PseudoTimestep::validParams(), SmoothMeshGenerator::validParams(), AddLinearFVBCAction::validParams(), StitchBoundaryMeshGenerator::validParams(), StitchMeshGenerator::validParams(), LinearCombinationFunction::validParams(), SubdomainsFromPartitionerGenerator::validParams(), PiecewiseConstantFromCSV::validParams(), MaterialStdVectorAuxTempl< is_ad >::validParams(), XYTriangleBoundaryLayerGenerator::validParams(), AddLinearFVKernelAction::validParams(), PiecewiseLinear::validParams(), TagVectorArrayVariableValueAux::validParams(), TagVectorAux::validParams(), MoveNodesToGeometryModifierBase::validParams(), PiecewiseLinearBase::validParams(), VariableGradientComponent::validParams(), SplineFunction::validParams(), FunctorADConverterTempl< T >::validParams(), FunctorSmootherTempl< T >::validParams(), VectorMagnitudeAux::validParams(), VectorPostprocessorVisualizationAux::validParams(), FVBoundaryScalarLagrangeMultiplierConstraint::validParams(), VectorVariableComponentAux::validParams(), ExamplePatchMeshGenerator::validParams(), MFEMSimplifiedFESpace::validParams(), FVAdvectedUpwind::validParams(), FVHarmonicAverage::validParams(), VectorDiffusion::validParams(), AddAuxVariableAction::validParams(), FVMassMatrix::validParams(), FVScalarLagrangeMultiplierConstraint::validParams(), SetupResidualDebugAction::validParams(), FunctorIC::validParams(), IntegralPreservingFunctionIC::validParams(), CentroidMultiApp::validParams(), QuadraturePointMultiApp::validParams(), ArrayReactionNodalKernelTempl< is_ad >::validParams(), AddOutputAction::validParams(), ConvectiveFluxBC::validParams(), Console::validParams(), ControlOutput::validParams(), ADMatInterfaceReaction::validParams(), GMVOutput::validParams(), ArrayParsedAux::validParams(), ExodusTimeSequenceStepper::validParams(), PerfGraphOutput::validParams(), ReporterDebugOutput::validParams(), PenaltyInterfaceDiffusionTempl< T, is_ad >::validParams(), Tecplot::validParams(), VTKOutput::validParams(), XDA::validParams(), EigenDirichletBC::validParams(), DiffusionCG::validParams(), DiffusionFV::validParams(), InterfaceValueUserObject::validParams(), FilePositions::validParams(), NearestNodeNumberUO::validParams(), InputPositions::validParams(), MultiAppPositions::validParams(), ReporterPositions::validParams(), TransformedPositions::validParams(), AverageVariableChange::validParams(), AxisymmetricCenterlineAverageValue::validParams(), Diffusion::validParams(), ChainControlDataPostprocessor::validParams(), ChangeOverTimePostprocessor::validParams(), MatchedValueBCTempl< is_ad >::validParams(), ElementAverageMaterialPropertyTempl< is_ad >::validParams(), DiffusionFluxAux::validParams(), MaterialDerivativeRankTwoTestKernel::validParams(), MaterialDerivativeRankFourTestKernel::validParams(), ElementL2FunctorErrorTempl< is_ad >::validParams(), ElementSidesL2Norm::validParams(), DivergenceAuxTempl< is_ad >::validParams(), ExodusFileTimes::validParams(), ReactionTempl< is_ad >::validParams(), ChangeOverFixedPointPostprocessor::validParams(), NearestNodeNumber::validParams(), NodalMaxValue::validParams(), AnnularMeshGenerator::validParams(), NumFailedTimeSteps::validParams(), NumFixedPointIterations::validParams(), ConstantBounds::validParams(), NumNonlinearIterations::validParams(), LinearFVAdvectionDiffusionExtrapolatedBC::validParams(), ElementLengthAux::validParams(), ParsedPostprocessor::validParams(), LinearFVAdvectionDiffusionOutflowBC::validParams(), Receiver::validParams(), LinearFVSource::validParams(), SideAverageMaterialPropertyTempl< is_ad >::validParams(), ElementNormalAux::validParams(), BoundaryPreservedMarker::validParams(), MultiAppPostprocessorToAuxScalarTransfer::validParams(), ReporterPointMarker::validParams(), SmootherChainControl::validParams(), SetValueChainControlTempl< T >::validParams(), AccumulateReporter::validParams(), ElementExtremeMaterialPropertyReporterTempl< is_ad >::validParams(), IterationInfo::validParams(), GenericConstant2DArrayTempl< is_ad >::validParams(), EqualGradientConstraint::validParams(), GenericConstantRealVectorValueTempl< is_ad >::validParams(), EqualValueConstraint::validParams(), FunctorAux::validParams(), MultiAppCloneReporterTransfer::validParams(), ParsedODEKernel::validParams(), ActuallyExplicitEuler::validParams(), MaterialFunctorConverterTempl< T >::validParams(), BDF2::validParams(), OldEqualValueConstraint::validParams(), RankTwoTensorFromComponentProperties::validParams(), NewmarkBeta::validParams(), ControllableInputTimes::validParams(), VectorFromComponentVariablesMaterialTempl< is_ad >::validParams(), CSVFileTimes::validParams(), InputTimes::validParams(), ReporterTimes::validParams(), FunctionDT::validParams(), PIDTransientControl::validParams(), ImageMesh::validParams(), MeshGeneratorMesh::validParams(), PostprocessorDT::validParams(), TimeSequenceStepper::validParams(), InterfaceReaction::validParams(), HardwareIDAux::validParams(), FunctorBinnedValuesDivision::validParams(), MultiAppReporterTransfer::validParams(), MultiAppScalarToAuxScalarTransfer::validParams(), InterfaceValueUserObjectAux::validParams(), SubdomainsDivision::validParams(), FunctorTimes::validParams(), InterfaceUserObject::validParams(), BreakMeshByElementGenerator::validParams(), MaterialRealAuxTempl< is_ad, is_functor >::validParams(), CombinerGenerator::validParams(), BoundingValueElementDamper::validParams(), BoundingValueNodalDamper::validParams(), MaterialRealTensorValueAuxTempl< is_ad >::validParams(), CutMeshByPlaneGenerator::validParams(), DeleteElementsNearMeshGenerator::validParams(), BoolFunctionControl::validParams(), NearestNodeDistanceAux::validParams(), WorkBalance::validParams(), MeshCollectionGenerator::validParams(), MeshDivisionAux::validParams(), MeshExtruderGenerator::validParams(), AddCorrectorAction::validParams(), NormalizationAux::validParams(), ParsedExtraElementIDGenerator::validParams(), ParsedGenerateNodeset::validParams(), VectorConstantPointSource::validParams(), MFEMOperatorJacobiSmoother::validParams(), PolyLineMeshFollowingNodeSetGenerator::validParams(), ProjectSideSetOntoLevelSetGenerator::validParams(), NumMeshDivisions::validParams(), PercentChangePostprocessor::validParams(), BicubicSplineFunction::validParams(), SideSetsFromAllNormalsGenerator::validParams(), GetFunctionValueChainControl::validParams(), CompositeFunction::validParams(), SideSetsFromBoundingBoxGenerator::validParams(), MFEMHyprePCG::validParams(), StackGenerator::validParams(), SpatialUserObjectAux::validParams(), LeastSquaresFit::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), TagMatrixAux::validParams(), NumPositions::validParams(), TransformGenerator::validParams(), XYZDelaunayGenerator::validParams(), VectorPenaltyDirichletBC::validParams(), TimedSubdomainModifier::validParams(), MaterialDerivativeTestAction::validParams(), MFEMVisItDataCollection::validParams(), VariableTimeIntegrationAux::validParams(), FunctorChangeFunctorMaterialTempl< is_ad >::validParams(), VectorFunctionAux::validParams(), MFEMComplexScalarProjectionAux::validParams(), MFEMComplexVectorProjectionAux::validParams(), ParsedFunctorMaterialTempl< is_ad >::validParams(), VectorMagnitudeFunctorMaterialTempl< is_ad >::validParams(), VectorDivPenaltyDirichletBC::validParams(), MFEMScalarProjectionAux::validParams(), MFEMVectorProjectionAux::validParams(), FVConstantScalarOutflowBC::validParams(), MFEMBoundaryCondition::validParams(), FVDirichletBC::validParams(), TiedValueConstraint::validParams(), FVFunctionDirichletBC::validParams(), CreateDisplacedProblemAction::validParams(), FVNeumannBC::validParams(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::validParams(), FunctionScalarAux::validParams(), ElementMaterialSampler::validParams(), MFEMTransient::validParams(), QuotientScalarAux::validParams(), ScalarTagMatrixAux::validParams(), SetAdaptivityOptionsAction::validParams(), GenericConstantRankTwoTensorTempl< is_ad >::validParams(), LineMaterialRealSampler::validParams(), ScalarTagVectorAux::validParams(), ElementsToSimplicesConverter::validParams(), MFEMComplexKernel::validParams(), VectorFunctionReaction::validParams(), ADArrayDirichletBC::validParams(), MFEMMixedBilinearFormKernel::validParams(), ADDirichletBC::validParams(), ArrayVariableValueVolumeHistogram::validParams(), ImageMeshGenerator::validParams(), ADFunctionDirichletBC::validParams(), AddMeshModifiersAction::validParams(), ADFunctionNeumannBC::validParams(), FVAnisotropicDiffusion::validParams(), VectorFunctionDirichletBC::validParams(), MFEMConduitDataCollection::validParams(), MFEMParaViewDataCollection::validParams(), MFEML2Error::validParams(), MFEMVectorL2Error::validParams(), MFEMCGSolver::validParams(), ADVectorFunctionDirichletBC::validParams(), MFEMGMRESSolver::validParams(), MFEMHypreAME::validParams(), MFEMHypreBoomerAMG::validParams(), MFEMHypreFGMRES::validParams(), ADVectorFunctionNeumannBC::validParams(), MFEMHypreLOBPCG::validParams(), MFEMMUMPS::validParams(), MFEMNewtonNonlinearSolver::validParams(), ArrayConstantIC::validParams(), ArrayDirichletBC::validParams(), MemoryUsage::validParams(), MFEMEigenvaluesPostprocessor::validParams(), MFEMPointValueSampler::validParams(), FullSolveMultiApp::validParams(), VariableValueVolumeHistogram::validParams(), NodalNormalsEvaluator::validParams(), FunctionSideIntegral::validParams(), ElementAdaptivityLevelAux::validParams(), DirichletBC::validParams(), ElementGroupCentroidPositions::validParams(), SolutionInvalidityOutput::validParams(), ADFluxDivergence::validParams(), CoupledTiedValueConstraint::validParams(), ADMatCoupledForce::validParams(), MortarSegmentMeshReporter::validParams(), FunctionGradientNeumannBC::validParams(), DistributedPositions::validParams(), FunctionNeumannBC::validParams(), ElementHDivSemiError::validParams(), PostprocessorDirichletBC::validParams(), LayeredSideDiffusiveFluxAverage::validParams(), CoupledForceTempl< is_ad >::validParams(), DifferencePostprocessor::validParams(), LayeredSideAverage::validParams(), ElementHCurlSemiError::validParams(), NeumannBCTempl< is_ad >::validParams(), LayeredAverage::validParams(), DefaultNonlinearConvergence::validParams(), ElementHCurlError::validParams(), ElementHDivError::validParams(), ElementL1Error::validParams(), MaterialRateRealAuxTempl< is_ad >::validParams(), VectorCurlPenaltyDirichletBC::validParams(), InterfaceQpMaterialPropertyBaseUserObject< Real >::validParams(), InterfaceIntegralPostprocessor::validParams(), ElementIDAux::validParams(), VectorDirichletBC::validParams(), NodalL2Norm::validParams(), FunctorPositions::validParams(), ElementLpNormAux::validParams(), RelativeSolutionDifferenceNorm::validParams(), TagVectorArrayVariableAux::validParams(), LinearFVTimeDerivative::validParams(), ElementQualityAux::validParams(), ElementCentroidPositions::validParams(), MultiAppVariableValueSampleTransfer::validParams(), CoupledGradientMaterialTempl< is_ad >::validParams(), ReferenceResidualProblem::validParams(), MultiAppGeneralFieldShapeEvaluationTransfer::validParams(), TimeSequenceFromTimes::validParams(), FunctionAux::validParams(), FunctorVectorElementalAuxTempl< is_ad >::validParams(), SolutionInvalidityReporter::validParams(), EigenArrayDirichletBC::validParams(), GenericFunctionRankTwoTensorTempl< is_ad >::validParams(), NodalNormalsCorner::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), ConditionalFunctionEnableControl::validParams(), SolutionTimeAdaptiveDT::validParams(), CartesianGridDivision::validParams(), CylindricalGridDivision::validParams(), TimesEnableControl::validParams(), MultiAppShapeEvaluationTransfer::validParams(), SphericalGridDivision::validParams(), AdvancedExtruderGenerator::validParams(), VectorMemoryUsage::validParams(), MultiAppGeneralFieldUserObjectTransfer::validParams(), MFEMGenericFESpace::validParams(), CircularBoundaryCorrectionGenerator::validParams(), PointwiseRenormalizeVector::validParams(), ConstantDamper::validParams(), SideAverageValue::validParams(), FEProblem::validParams(), CreateApplicationBlockAction::validParams(), LinearFVDiffusion::validParams(), NearestNodeValueAux::validParams(), OrientedSubdomainBoundingBoxGenerator::validParams(), ParsedCurveGenerator::validParams(), ParsedNodeTransformGenerator::validParams(), SideDiffusiveFluxAverageTempl< is_ad >::validParams(), MeshDivisionFunctorReductionVectorPostprocessor::validParams(), Transient::validParams(), LinearFVAdvection::validParams(), DisplayGhostingAction::validParams(), MFEMHypreAMS::validParams(), MFEMHypreADS::validParams(), XYDelaunayGenerator::validParams(), ExtraIDIntegralVectorPostprocessor::validParams(), PiecewiseLinearFromVectorPostprocessor::validParams(), AddMFEMComplexKernelComponentAction::validParams(), SetMFEMMeshFESpaceAction::validParams(), MFEMAuxKernel::validParams(), MFEMComplexAuxKernel::validParams(), GenericFunctorGradientMaterialTempl< is_ad >::validParams(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::validParams(), GenericVectorFunctorMaterialTempl< is_ad >::validParams(), MFEMNLCurlCurlKernel::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), VectorOfPostprocessors::validParams(), PerfGraphReporter::validParams(), FVFunctorNeumannBC::validParams(), GenericConstantStdVectorMaterialTempl< is_ad >::validParams(), MFEMProblemSolve::validParams(), MFEMSteady::validParams(), QuotientAux::validParams(), FVAdvectedMinmodWeightBased::validParams(), MultiAppVectorPostprocessorTransfer::validParams(), MaterialRealVectorValueAuxTempl< T, is_ad, is_functor >::validParams(), MFEMNLDiffusionKernel::validParams(), MFEMMesh::validParams(), MFEMDataCollection::validParams(), NodalPatchRecoveryMaterialProperty::validParams(), FVAdvectedVanLeerWeightBased::validParams(), FVOrthogonalDiffusion::validParams(), MFEMHypreGMRES::validParams(), CutMeshByLevelSetGenerator::validParams(), NearestPointLayeredSideAverageFunctor::validParams(), MFEMSubMeshTransfer::validParams(), MFEMLineValueSampler::validParams(), NEML2Assembly::validParams(), ConstantRate::validParams(), TimeDerivativeNodalKernel::validParams(), CSV::validParams(), FileOutput::validParams(), NearestPointLayeredSideIntegralFunctor::validParams(), LayeredSideIntegral::validParams(), ParsedConvergence::validParams(), AnisotropicDiffusion::validParams(), FunctionDirichletBC::validParams(), DefaultSteadyStateConvergence::validParams(), MatNeumannBCTempl< is_ad >::validParams(), OneDEqualValueConstraintBC::validParams(), LayeredExtremumMaterialProperty::validParams(), ElementAverageValue::validParams(), MatCoupledForce::validParams(), ElementIntegralMaterialPropertyTempl< is_ad >::validParams(), CumulativeValuePostprocessor::validParams(), MaterialPropertyValueTempl< is_ad >::validParams(), GreaterThanLessThanPostprocessor::validParams(), InterfaceAverageVariableValuePostprocessor::validParams(), GenericFunctorMaterialTempl< is_ad >::validParams(), FunctionElementIntegralUserObject::validParams(), NodePositions::validParams(), ParsedChainControl::validParams(), MultiAppVariableValueSamplePostprocessorTransfer::validParams(), DefaultMultiAppFixedPointConvergence::validParams(), NearestPositionsDivision::validParams(), SingleRankPartitioner::validParams(), CoupledValueFunctionMaterialTempl< is_ad >::validParams(), MultiAppPostprocessorInterpolationTransfer::validParams(), BlockWeightedPartitioner::validParams(), CentralDifference::validParams(), FunctorCoordinatesFunctionAux::validParams(), LeastSquaresFitHistory::validParams(), SolutionHistory::validParams(), Gnuplot::validParams(), PointValue::validParams(), MultiAppPostprocessorTransfer::validParams(), CoarsenedPiecewiseLinear::validParams(), DOFMapOutput::validParams(), EigenProblem::validParams(), NumDOFs::validParams(), MFEMVectorFEDivergenceKernel::validParams(), FunctionValuePostprocessor::validParams(), MaterialRankFourTensorAuxTempl< is_ad >::validParams(), MultiAppMFEMTolibMeshShapeEvaluationTransfer::validParams(), FVDirichletBCBase::validParams(), ReporterPointSource::validParams(), Moose::MFEM::SolverBase::validParams(), LinearFVAnisotropicDiffusion::validParams(), MaterialDerivativeTestKernelBase< Real >::validParams(), MFEMVectorFEDomainLFKernel::validParams(), Moose::MFEM::EigensolverBase::validParams(), MFEMVectorFEMassKernel::validParams(), AddMFEMComplexBCComponentAction::validParams(), FVBodyForce::validParams(), MFEMTimeDerivativeVectorFEMassKernel::validParams(), FVFunctionNeumannBC::validParams(), MFEMConvectiveHeatFluxBC::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), LinearNodalConstraint::validParams(), MFEMFunctorMaterial::validParams(), MFEMTimeDerivativeMassKernel::validParams(), MFEMDiffusionKernel::validParams(), MFEMDomainLFKernel::validParams(), MFEMMixedGradGradKernel::validParams(), MFEMMixedVectorGradientKernel::validParams(), ElementH1ErrorFunctionAux::validParams(), MultiAppGeneralFieldNearestLocationTransfer::validParams(), MFEMPetscNonlinearSolver::validParams(), MFEMMixedScalarCurlKernel::validParams(), CutMeshByLevelSetGeneratorBase::validParams(), MFEMMassKernel::validParams(), InterfacePostprocessor::validParams(), MFEMCurlCurlKernel::validParams(), UserForcingFunctorNodalKernel::validParams(), MFEMDivDivKernel::validParams(), MFEMVectorDomainLFKernel::validParams(), InterpolatedStatefulMaterialTempl< T >::validParams(), XYMeshLineCutter::validParams(), RandomPartitioner::validParams(), DerivativeParsedMaterialTempl< is_ad >::validParams(), CopyMeshPartitioner::validParams(), QuadraturePointsPositions::validParams(), ADPiecewiseLinearInterpolationMaterial::validParams(), MFEMNLConvectiveHeatFluxBC::validParams(), BatchMeshGeneratorAction::validParams(), ElementH1SemiError::validParams(), MFEMMixedVectorMassKernel::validParams(), AddSamplerAction::validParams(), ElementH1Error::validParams(), VectorBodyForce::validParams(), ElementIntegralFunctorPostprocessorTempl< is_ad >::validParams(), TorchScriptMaterial::validParams(), MFEMVectorFEWeakDivergenceKernel::validParams(), Boundary2DDelaunayGenerator::validParams(), GhostingFromUOAux::validParams(), SideIntegralMaterialPropertyTempl< is_ad >::validParams(), ElementVectorL2Error::validParams(), ElementUOAux::validParams(), SidesetAroundSubdomainUpdater::validParams(), AddControlAction::validParams(), MaterialADConverterTempl< T >::validParams(), ParsedMaterialTempl< is_ad >::validParams(), DirectionalNeumannBC::validParams(), MatReactionTempl< false >::validParams(), PetscExternalPartitioner::validParams(), ManifoldSubdomainGenerator::validParams(), LibtorchControlValuePostprocessor::validParams(), UserForcingFunctionNodalKernel::validParams(), ElementIntegralUserObject::validParams(), ElementIntegralVariableUserObject::validParams(), PlaneDeletionGenerator::validParams(), MultiAppMFEMShapeEvaluationTransfer::validParams(), MultiAppMFEMCopyTransfer::validParams(), MultiApplibMeshToMFEMShapeEvaluationTransfer::validParams(), MultiAppDofCopyTransfer::validParams(), SideFVFluxBCIntegral::validParams(), NearestPointIntegralVariablePostprocessor::validParams(), ParsedGenerateSideset::validParams(), MFEMBoundarySubMesh::validParams(), EigenProblemSolve::validParams(), SideSetsAroundSubdomainGenerator::validParams(), ProjectionAux::validParams(), ElementL2ErrorFunctionAux::validParams(), SetupQuadratureAction::validParams(), SurfaceSubdomainsDelaunayRemesher::validParams(), TransfiniteMeshGenerator::validParams(), MFEMComplexVectorPeriodAveragedPostprocessor::validParams(), MFEMVectorFEInnerProductIntegralPostprocessor::validParams(), MFEMComplexCurlAux::validParams(), MFEMDivAux::validParams(), MFEMScalarTimeAverageAux::validParams(), MFEMSumAux::validParams(), MFEMParsedFunction::validParams(), SolutionScalarAux::validParams(), MFEMGenericFunctorMaterial::validParams(), MFEMComplexDivAux::validParams(), MFEMGenericFunctorVectorMaterial::validParams(), ValueJumpIndicatorTempl< ComputeValueType >::validParams(), ConservativeAdvectionBCTempl< false >::validParams(), FVDivergence::validParams(), FVGeometricAverage::validParams(), InterfaceQpUserObjectBase::validParams(), BoundingBoxIC::validParams(), MFEMDomainSubMesh::validParams(), TimePeriodBase::validParams(), TorchScriptUserObject::validParams(), ScalarConstantIC::validParams(), FindValueOnLine::validParams(), FunctorExtremaPositions::validParams(), CrankNicolson::validParams(), MatBodyForceTempl< is_ad, Parent >::validParams(), MFEMVectorBoundaryFluxIntegralPostprocessor::validParams(), MaterialOutputAction::validParams(), BoundaryLinearFVFluxIntegral::validParams(), ElementIntegralArrayVariablePostprocessor::validParams(), NearestPointAverage::validParams(), MFEMCurlAux::validParams(), PostprocessorNeumannBC::validParams(), MFEMComplexSumAux::validParams(), MFEMComplexGradAux::validParams(), BlockRestrictionDebugOutput::validParams(), MFEMGradAux::validParams(), ElementIntegralVariablePostprocessor::validParams(), NodalEqualValueConstraint::validParams(), SolutionAux::validParams(), FVBoundaryIntegralValueConstraint::validParams(), TimePeriod::validParams(), ElementalVariableValue::validParams(), ScalarL2Error::validParams(), SideIntegralFunctorPostprocessorTempl< false >::validParams(), MultiAppProjectionTransfer::validParams(), BoundaryIntegralValueConstraint::validParams(), AddMFEMPreconditionerAction::validParams(), OrientedBoxMarker::validParams(), FunctionLayeredIntegral::validParams(), FVOrthogonalBoundaryDiffusion::validParams(), AddMFEMFESpaceAction::validParams(), LibtorchArtificialNeuralNetParameters::validParams(), MooseStaticCondensationPreconditioner::validParams(), ImageFunction::validParams(), GhostPrimaryFace::validParams(), TransientMultiApp::validParams(), Moose::MFEM::LinearSolverBase::validParams(), FVAdvectedVenkatakrishnanDeferredCorrection::validParams(), CoupledVarNeumannBCTempl< false >::validParams(), MultiAppCopyTransfer::validParams(), StitchedMesh::validParams(), TagVectorSum::validParams(), GenericConstantMaterialTempl< is_ad >::validParams(), MFEMCutTransitionSubMesh::validParams(), MFEMInnerProductAux::validParams(), ContainsPointAux::validParams(), AddMFEMSubMeshAction::validParams(), MaterialRankTwoTensorAuxTempl< T, is_ad >::validParams(), MFEMComplexInnerProductAux::validParams(), ElementVariablesDifferenceMax::validParams(), MaterialPropertyDebugOutput::validParams(), CSVTimeSequenceStepper::validParams(), InterfaceIntegralVariableValuePostprocessor::validParams(), HistogramVectorPostprocessor::validParams(), RealFunctionControl::validParams(), SideIntegralVariablePostprocessor::validParams(), DGDiffusion::validParams(), ParsedDownSelectionPositions::validParams(), PiecewiseMulticonstant::validParams(), MFEMComplexExteriorProductAux::validParams(), LinearFVAdvectionDiffusionFunctorDirichletBC::validParams(), EqualValueEmbeddedConstraintTempl< is_ad >::validParams(), VacuumBC::validParams(), MFEMProblem::validParams(), Nemesis::validParams(), LinearFVAdvectionDiffusionFunctorNeumannBC::validParams(), Exodus::validParams(), MultiAppGeneralFieldFunctorTransfer::validParams(), MooseParsedVectorFunction::validParams(), MultiAppNearestNodeTransfer::validParams(), FVConstantIC::validParams(), NearestPointLayeredSideIntegral::validParams(), LinearCombinationPostprocessor::validParams(), PiecewiseMultilinear::validParams(), MatDiffusionTempl< is_ad >::validParams(), MFEMCrossProductAux::validParams(), MeshInfo::validParams(), VariableResidualNormsDebugOutput::validParams(), LibmeshPartitioner::validParams(), ADDGDiffusion::validParams(), ExplicitMidpoint::validParams(), AdamsPredictor::validParams(), CommonOutputAction::validParams(), InternalSideIntegralVariablePostprocessor::validParams(), BodyForceTempl< is_ad >::validParams(), Ralston::validParams(), ParsedElementDeletionGenerator::validParams(), NodalVariableValue::validParams(), NearestPointLayeredSideDiffusiveFluxAverage::validParams(), NearestPointLayeredSideAverage::validParams(), FVDiffusion::validParams(), AddMFEMSolverAction::validParams(), PenaltyEqualValueConstraintTempl< is_ad >::validParams(), LinearFVAdvectionDiffusionFunctorRobinBC::validParams(), PatternedMeshGenerator::validParams(), Split::validParams(), NearestPointLayeredAverage::validParams(), RBBMappingConverter::validParams(), SinDirichletBC::validParams(), Heun::validParams(), NearestPointLayeredIntegral::validParams(), PNGOutput::validParams(), ReferenceResidualConvergence::validParams(), SubdomainBoundingBoxGenerator::validParams(), LibtorchNeuralNetControl::validParams(), FVFunctionIC::validParams(), ADFunctionPenaltyDirichletBC::validParams(), GhostingUserObject::validParams(), ActionComponent::validParams(), AddPeriodicBCAction::validParams(), SideAdvectiveFluxIntegralTempl< is_ad >::validParams(), SinNeumannBC::validParams(), WeakGradientBC::validParams(), NodalNormalsPreprocessor::validParams(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::validParams(), DistributedRectilinearMeshGenerator::validParams(), EigenExecutionerBase::validParams(), DiffusionFluxBC::validParams(), NearestRadiusLayeredAverage::validParams(), MooseParsedGradFunction::validParams(), Axisymmetric2D3DSolutionFunction::validParams(), WebServerControl::validParams(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::validParams(), NEML2Action::validParams(), DiffusionPhysicsBase::validParams(), FunctionPenaltyDirichletBC::validParams(), AddNodalNormalsAction::validParams(), FVIntegralValueConstraint::validParams(), VectorConstantIC::validParams(), Moose::MFEM::NonlinearSolverBase::validParams(), HFEMTrialJump::validParams(), PropertyReadFile::validParams(), HFEMTestJump::validParams(), BoundingBoxNodeSetGenerator::validParams(), FVBoundedValueConstraint::validParams(), MultiAppGeometricInterpolationTransfer::validParams(), GenericFunctionVectorMaterialTempl< is_ad >::validParams(), TransientBase::validParams(), SumPostprocessor::validParams(), MultiAppUserObjectTransfer::validParams(), Eigenvalue::validParams(), VectorFunctionIC::validParams(), ProjectedStatefulMaterialStorageAction::validParams(), GenericFunctionMaterialTempl< is_ad >::validParams(), CylinderComponent::validParams(), MooseParsedFunction::validParams(), ComponentJunction::validParams(), DGFunctionDiffusionDirichletBC::validParams(), MFEMLinearElasticityKernel::validParams(), InterfaceUserObjectBase::validParams(), MFEMExecutedObject::validParams(), AB2PredictorCorrector::validParams(), MeshGeneratorComponent::validParams(), GridPartitioner::validParams(), FVPointValueConstraint::validParams(), PatternedMesh::validParams(), PostprocessorComparison::validParams(), PeriodicSegmentalConstraint::validParams(), ConstantIC::validParams(), PenaltyPeriodicSegmentalConstraint::validParams(), ADPeriodicSegmentalConstraint::validParams(), ADPenaltyPeriodicSegmentalConstraint::validParams(), PhysicsBase::validParams(), ScalarSolutionIC::validParams(), ElementW1pError::validParams(), RelativeDifferencePostprocessor::validParams(), VectorPostprocessorComparison::validParams(), AverageValueConstraint::validParams(), SolutionUserObjectBase::validParams(), IterationAdaptiveDT::validParams(), MFEMObject::validParams(), PhysicsBasedPreconditioner::validParams(), ScalarLagrangeMultiplier::validParams(), RadialAverage::validParams(), FunctionMaterialBase< is_ad >::validParams(), PostprocessorSpatialUserObject::validParams(), ScalarLMKernelTempl< is_ad >::validParams(), ADPenaltyDirichletBC::validParams(), CompositionDT::validParams(), PenaltyDirichletBC::validParams(), VariableCondensationPreconditioner::validParams(), SolutionIC::validParams(), SimplePredictor::validParams(), DumpObjectsProblem::validParams(), RandomIC::validParams(), GhostBoundary::validParams(), DisplacedProblem::validParams(), NEML2FEInterpolation::validParams(), DerivativeParsedMaterialHelperTempl< is_ad >::validParams(), RandomICBase::validParams(), Terminator::validParams(), LStableDirk2::validParams(), MeshDivision::validParams(), LStableDirk3::validParams(), ImplicitMidpoint::validParams(), DerivativeFunctionMaterialBaseTempl< is_ad >::validParams(), MFEMSuperLU::validParams(), ExplicitTVDRK2::validParams(), MooseVariableBase::validParams(), PiecewiseBilinear::validParams(), OutputInterface::validParams(), FieldSplitPreconditionerTempl< MoosePreconditioner >::validParams(), Checkpoint::validParams(), LStableDirk4::validParams(), AStableDirk4::validParams(), PiecewiseFunction::validParams(), ParsedMaterialHelper< is_ad >::validParams(), Sampler::validParams(), MFEMMatrixFreeAMS::validParams(), and TopResidualDebugOutput::validParams().

82 {
83  _class_description = doc_string;
84 }
std::string _class_description
The class description for the owning object.

◆ addCommandLineParam() [1/3]

template<typename T >
void InputParameters::addCommandLineParam ( const std::string &  name,
const std::string &  syntax,
const std::string &  doc_string 
)

Definition at line 2050 of file InputParameters.h.

Referenced by MooseApp::addAppParam(), MooseApp::addInputParam(), and MooseApp::validParams().

2053 {
2054  static_assert(!std::is_same_v<T, MooseEnum>,
2055  "addCommandLineParam() without a value cannot be used with a MooseEnum because a "
2056  "MooseEnum requires initialization");
2057 
2058  auto constexpr is_bool = std::is_same_v<T, bool>;
2059  if constexpr (is_bool)
2060  addParam<T>(name, false, doc_string);
2061  else
2062  addParam<T>(name, doc_string);
2063 
2064  addCommandLineParamHelper<T>(
2065  name, syntax, /* required = */ false, /* value_required = */ !is_bool);
2066 }
std::string name(const ElemQuality q)

◆ addCommandLineParam() [2/3]

template<typename T >
void InputParameters::addCommandLineParam ( const std::string &  name,
const std::string &  syntax,
const T &  value,
const std::string &  doc_string 
)

Definition at line 2070 of file InputParameters.h.

2074 {
2075  if constexpr (std::is_same_v<T, bool>)
2076  mooseAssert(!value, "Default for bool must be false");
2077 
2078  addParam<T>(name, value, doc_string);
2079  addCommandLineParamHelper<T>(name, syntax, /* required = */ false, /* value_required = */ true);
2080 }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ addCommandLineParam() [3/3]

template<typename T >
void InputParameters::addCommandLineParam ( const std::string &  name,
const std::string &  syntax,
const std::initializer_list< typename T::value_type > &  value,
const std::string &  doc_string 
)
inline

Definition at line 352 of file InputParameters.h.

356  {
357  addCommandLineParam<T>(name, syntax, T{value}, doc_string);
358  }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ addCommandLineParamHelper()

template<typename T >
void InputParameters::addCommandLineParamHelper ( const std::string &  name,
const std::string &  syntax,
const bool  required,
const bool  value_required 
)
private

Helper for all of the addCommandLineParam() calls, which sets up _cl_data in the metadata.

Parameters
nameThe parameter name
syntaxThe parameter syntax
requiredWhether or not the parameter is required
value_requiredWhethre or not the parameter requires a value

Definition at line 1875 of file InputParameters.h.

1879 {
1880  static_assert(isValidCommandLineType<T>::value,
1881  "This type is not a supported command line parameter type. See "
1882  "CommandLine::populateCommandLineParams to add it as a supported type.");
1883 
1884  auto & cl_data = at(name)._cl_data;
1885  cl_data = CommandLineMetadata();
1886 
1887  // Split up the syntax by whitespace
1888  std::vector<std::string> syntax_split;
1889  MooseUtils::tokenize(syntax, syntax_split, 1, " \t\n\v\f\r");
1890 
1891  // Set the single syntax string as the combined syntax with removed whitespace
1892  cl_data->syntax = MooseUtils::stringJoin(syntax_split);
1893  mooseAssert(cl_data->syntax.size(), "Empty token");
1894 
1895  // Set the switches; only parse those that begin with "-" as we also
1896  // provide examples within the syntax
1897  for (const auto & val : syntax_split)
1898  if (val.rfind("-", 0) == 0)
1899  {
1900  if (!std::regex_search(val, std::regex("^\\-+[a-zA-Z]")))
1901  mooseError("The switch '",
1902  val,
1903  "' for the command line parameter '",
1904  name,
1905  "' is invalid. It must begin with an alphabetical character.");
1906 
1907  cl_data->switches.push_back(val);
1909  }
1910 
1911  cl_data->required = required;
1912  cl_data->global = false;
1913 
1914  // No arguments needed for a boolean parameter
1915  if constexpr (std::is_same_v<T, bool>)
1916  {
1917  (void)value_required; // purposely unused; doesn't take a value
1918  cl_data->argument_type = CommandLineMetadata::ArgumentType::NONE;
1919  }
1920  // MooseEnums require a value
1921  else if constexpr (std::is_same_v<T, MooseEnum>)
1922  {
1923  (void)value_required; // purposely unused; always required
1924  cl_data->argument_type = CommandLineMetadata::ArgumentType::REQUIRED;
1925  }
1926  // The user didn't specify a default, so a value is required
1927  else if (value_required)
1928  cl_data->argument_type = CommandLineMetadata::ArgumentType::REQUIRED;
1929  // Otherwise, it's optional (user specified a default)
1930  else
1931  cl_data->argument_type = CommandLineMetadata::ArgumentType::OPTIONAL;
1932 }
void tokenize(const std::string &str, std::vector< T > &elements, unsigned int min_len=1, const std::string &delims="/")
This function will split the passed in string on a set of delimiters appending the substrings to the ...
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void add_command_line_name(const std::string &name)
class infix_ostream_iterator if void
Definition: InfixIterator.h:27
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
std::string stringJoin(const std::vector< std::string > &values, const std::string &separator=" ")
Concatenates value into a single string separated by separator.
Metadata & at(const std::string &param_name)

◆ addCoupledVar() [1/3]

void InputParameters::addCoupledVar ( const std::string &  name,
const std::string &  doc_string 
)

This method adds a coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable if found

Definition at line 253 of file InputParameters.C.

Referenced by applyCoupledVar(), ConservativeAdvectionTempl< is_ad >::generalParams(), transferParam(), ArrayHFEMDirichletBC::validParams(), BuildArrayVariableAux::validParams(), HFEMDirichletBC::validParams(), DerivativeSumMaterialTempl< is_ad >::validParams(), ElementExtremeValue::validParams(), NodalExtremeValue::validParams(), SideExtremeValue::validParams(), PenetrationAux::validParams(), InterfaceQpValueUserObject::validParams(), FunctionDiffusion::validParams(), VectorMagnitudeAux::validParams(), ParsedMaterialBase::validParams(), ParsedAux::validParams(), VectorFromComponentVariablesMaterialTempl< is_ad >::validParams(), ParsedVectorAux::validParams(), ParsedODEKernel::validParams(), ArrayParsedAux::validParams(), SpatialAverageBase::validParams(), ArrayVariableValueVolumeHistogram::validParams(), QuotientScalarAux::validParams(), VariableValueVolumeHistogram::validParams(), NodalNormalBC::validParams(), PointwiseRenormalizeVector::validParams(), QuotientAux::validParams(), CoupledValueFunctionMaterialTempl< is_ad >::validParams(), ADKernelSUPGTempl< T >::validParams(), ElementVectorL2Error::validParams(), MatReactionTempl< false >::validParams(), FindValueOnLine::validParams(), MortarScalarBase::validParams(), ADMortarScalarBase::validParams(), ADKernelScalarBase::validParams(), CoupledVarNeumannBCTempl< false >::validParams(), KernelScalarBase::validParams(), InterfaceIntegralVariableValuePostprocessor::validParams(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::validParams(), SideAdvectiveFluxIntegralTempl< is_ad >::validParams(), MatDiffusionBaseTempl< T, false >::validParams(), NodeFaceConstraint::validParams(), MatReaction::validParams(), ConservativeAdvectionTempl< is_ad >::validParams(), MortarConstraintBase::validParams(), MatDiffusionBase< T >::validParams(), FVInterfaceKernel::validParams(), and FVBoundaryCondition::validParams().

254 {
255  addParam<std::vector<VariableName>>(name, doc_string);
256  _coupled_vars.insert(name);
257 
258  // Set the doc string for any associated deprecated coupled var
259  setDeprecatedVarDocString(name, doc_string);
260 }
std::string name(const ElemQuality q)
void setDeprecatedVarDocString(const std::string &new_name, const std::string &doc_string)
Private method for setting deprecated coupled variable documentation strings.
std::set< std::string > _coupled_vars
The coupled variables set.

◆ addCoupledVar() [2/3]

void InputParameters::addCoupledVar ( const std::string &  name,
const Real  value,
const std::string &  doc_string 
)

This method adds a coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable if found

Also - you can provide a default value for this variable in the case that an actual variable is not provided.

Definition at line 224 of file InputParameters.C.

225 {
226  addParam<std::vector<VariableName>>(name, doc_string);
227  _coupled_vars.insert(name);
228  auto & metadata = _params[name];
229  metadata._coupled_default.assign(1, value);
230  metadata._have_coupled_default = true;
231 
232  // Set the doc string for any associated deprecated coupled var
233  setDeprecatedVarDocString(name, doc_string);
234 }
std::string name(const ElemQuality q)
void setDeprecatedVarDocString(const std::string &new_name, const std::string &doc_string)
Private method for setting deprecated coupled variable documentation strings.
std::set< std::string > _coupled_vars
The coupled variables set.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addCoupledVar() [3/3]

void InputParameters::addCoupledVar ( const std::string &  name,
const std::vector< Real > &  value,
const std::string &  doc_string 
)

This method adds a coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable if found

Also - you can provide a vector of values for this variable in the case that an actual variable is not provided.

Definition at line 237 of file InputParameters.C.

240 {
241  // std::vector<VariableName>(1, Moose::stringify(value)),
242  addParam<std::vector<VariableName>>(name, doc_string);
243  _coupled_vars.insert(name);
244  auto & metadata = _params[name];
245  metadata._coupled_default = value;
246  metadata._have_coupled_default = true;
247 
248  // Set the doc string for any associated deprecated coupled var
249  setDeprecatedVarDocString(name, doc_string);
250 }
std::string name(const ElemQuality q)
void setDeprecatedVarDocString(const std::string &new_name, const std::string &doc_string)
Private method for setting deprecated coupled variable documentation strings.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::set< std::string > _coupled_vars
The coupled variables set.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addCoupledVarWithAutoBuild()

void InputParameters::addCoupledVarWithAutoBuild ( const std::string &  name,
const std::string &  base_name,
const std::string &  num_name,
const std::string &  doc_string 
)

These methods add a coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable if found.

This version of the method will build a vector if the given the base_name and num_name parameters exist in the input file: e.g. [./foo] ... some_base = base_ some_num = 5 [../]

The coupling parameter will be passed this vector: "base_0 base_1 base_2 base_3 base_4"

Definition at line 291 of file InputParameters.C.

Referenced by addRequiredCoupledVarWithAutoBuild().

295 {
296  addParam<std::vector<VariableName>>(name, doc_string);
297  _coupled_vars.insert(name);
298  _params[name]._autobuild_vecs = std::make_pair(base_name, num_name);
299 
300  // Additionally there are two more parameters that need to be added:
301  addParam<std::string>(base_name, doc_string + " (base_name)");
302  addParam<unsigned int>(num_name, doc_string + " (num_name)");
303 }
std::string name(const ElemQuality q)
std::set< std::string > _coupled_vars
The coupled variables set.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addCustomTypeParam() [1/2]

template<typename T >
void InputParameters::addCustomTypeParam ( const std::string &  name,
const T &  value,
const std::string &  custom_type,
const std::string &  doc_string 
)

Definition at line 1977 of file InputParameters.h.

Referenced by ParsedVectorAux::validParams(), ParsedMaterialBase::validParams(), SolutionUserObject::validParams(), and ParsedConvergence::validParams().

1981 {
1982  addParam<T>(name, value, doc_string);
1983  _params[name]._custom_type = custom_type;
1984 }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addCustomTypeParam() [2/2]

template<typename T >
void InputParameters::addCustomTypeParam ( const std::string &  name,
const std::string &  custom_type,
const std::string &  doc_string 
)

Definition at line 1988 of file InputParameters.h.

1991 {
1992  addParam<T>(name, doc_string);
1993  _params[name]._custom_type = custom_type;
1994 }
std::string name(const ElemQuality q)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addDeprecatedCoupledVar()

void InputParameters::addDeprecatedCoupledVar ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  removal_date = "" 
)

This method adds a deprecated coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable if found. The doc string for the deprecated variable will be constructed from the doc string for the new variable. A deprecation message will also be automatically generated

Definition at line 263 of file InputParameters.C.

266 {
267  mooseDeprecated("Please use 'deprecateCoupledVar'");
268 
269  _show_deprecated_message = false;
270 
271  // Set the doc string if we are adding the deprecated var after the new var has already been added
272  auto params_it = _params.find(new_name);
273  std::string doc_string;
274  if (params_it != _params.end())
275  doc_string = params_it->second._doc_string;
276 
277  addParam<std::vector<VariableName>>(old_name, doc_string);
278  _coupled_vars.insert(old_name);
279  _new_to_deprecated_coupled_vars.emplace(new_name, old_name);
280 
281  std::string deprecation_message =
282  "The coupled variable parameter '" + old_name + "' has been deprecated";
283  if (!removal_date.empty())
284  deprecation_message += " and will be removed " + removal_date;
285  deprecation_message += ". Please use the '" + new_name + "' coupled variable parameter instead.";
286  _params[old_name]._deprecation_message = deprecation_message;
288 }
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:363
std::set< std::string > _coupled_vars
The coupled variables set.
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...
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addDeprecatedCustomTypeParam()

template<typename T >
void InputParameters::addDeprecatedCustomTypeParam ( const std::string &  name,
const std::string &  custom_type,
const std::string &  doc_string,
const std::string &  deprecation_msg 
)

Definition at line 1998 of file InputParameters.h.

Referenced by ParsedMaterialBase::validParams().

2002 {
2003  _show_deprecated_message = false;
2004  addParam<T>(name, doc_string);
2005  auto & metadata = _params[name];
2006  metadata._custom_type = custom_type;
2007 
2008  metadata._deprecation_message = deprecation_message;
2009  _show_deprecated_message = true;
2010 }
std::string name(const ElemQuality q)
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addDeprecatedParam() [1/6]

template<typename T >
void InputParameters::addDeprecatedParam ( const std::string &  name,
const T &  value,
const std::string &  doc_string,
const std::string &  deprecation_message 
)
Parameters
nameThe name of the parameter
valueThe default value of this parameter if it requires one
doc_stringDocumentation. This will be shown for –help
deprecation_messageThe message that will will print about why this param was deprecated. It might mention the "new way".

Definition at line 2169 of file InputParameters.h.

Referenced by FileMesh::validParams(), AdaptivityAction::validParams(), SetupDebugAction::validParams(), BlockDeletionGenerator::validParams(), RenameBlockGenerator::validParams(), AnnularMesh::validParams(), ParsedSubdomainGeneratorBase::validParams(), PolyLineMeshGenerator::validParams(), Console::validParams(), PostprocessorDT::validParams(), AnnularMeshGenerator::validParams(), SideSetsFromBoundingBoxGenerator::validParams(), VectorFunctionDirichletBC::validParams(), TagAuxBase< AuxKernel >::validParams(), FixedPointSolve::validParams(), DerivativeKernelInterface< T >::validParams(), Exodus::validParams(), CommonOutputAction::validParams(), MooseParsedGradFunction::validParams(), PropertyReadFile::validParams(), MultiAppUserObjectTransfer::validParams(), MultiAppTransfer::validParams(), FunctionMaterialBase< is_ad >::validParams(), SampledOutput::validParams(), DerivativeFunctionMaterialBaseTempl< is_ad >::validParams(), MortarConstraintBase::validParams(), Executioner::validParams(), Output::validParams(), MultiApp::validParams(), and FEProblemBase::validParams().

2173 {
2174  _show_deprecated_message = false;
2175  mooseAssert(!_old_to_new_name_and_dep.count(name),
2176  "Attempting to deprecate via addDeprecatedParam the parameter, '"
2177  << name << "', already deprecated via deprecateParam or renamed via renameParam");
2178  addParam<T>(name, value, doc_string);
2179 
2180  _params[name]._deprecation_message = deprecation_message;
2181  _show_deprecated_message = true;
2182 }
std::string name(const ElemQuality q)
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ addDeprecatedParam() [2/6]

template<typename T >
void InputParameters::addDeprecatedParam ( const std::string &  name,
const std::string &  doc_string,
const std::string &  deprecation_message 
)

Definition at line 2186 of file InputParameters.h.

2189 {
2190  _show_deprecated_message = false;
2191  mooseAssert(!_old_to_new_name_and_dep.count(name),
2192  "Attempting to deprecate via addDeprecatedParam the parameter, '"
2193  << name << "', already deprecated via deprecateParam or renamed via renameParam");
2194  addParam<T>(name, doc_string);
2195 
2196  _params[name]._deprecation_message = deprecation_message;
2197  _show_deprecated_message = true;
2198 }
std::string name(const ElemQuality q)
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ addDeprecatedParam() [3/6]

template<>
void InputParameters::addDeprecatedParam ( const std::string &  ,
const std::string &  ,
const std::string &   
)

Definition at line 1449 of file InputParameters.C.

1452 {
1453  mooseError("You must supply a MooseEnum object and the deprecation string when using "
1454  "addDeprecatedParam, even if the parameter is not required!");
1455 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addDeprecatedParam() [4/6]

template<>
void InputParameters::addDeprecatedParam ( const std::string &  ,
const std::string &  ,
const std::string &   
)

Definition at line 1459 of file InputParameters.C.

1462 {
1463  mooseError("You must supply a MultiMooseEnum object and the deprecation string when using "
1464  "addDeprecatedParam, even if the parameter is not required!");
1465 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addDeprecatedParam() [5/6]

template<>
void InputParameters::addDeprecatedParam ( const std::string &  ,
const std::string &  ,
const std::string &   
)

◆ addDeprecatedParam() [6/6]

template<>
void InputParameters::addDeprecatedParam ( const std::string &  ,
const std::string &  ,
const std::string &   
)

◆ addOptionalValuedCommandLineParam()

template<typename T >
void InputParameters::addOptionalValuedCommandLineParam ( const std::string &  name,
const std::string &  syntax,
const T &  value,
const std::string &  doc_string 
)

Add a command line parameter with an optional value.

This is a deprecated option and only remains for two parameters: "mesh_only" and "recover". There are issues with command line parameters with optional values because if a value following one of these is a hit cli parameter, we don't know if we should apply it to the optional option or as a hit parameter.

It is also allowed for "run" as we take all arguments past –run and pass to python.

Parameters
nameThe name of the parameer
syntaxSpace separated list of command-line switch syntax that can set this option
valueThe default value to assign
doc_stringDocumentation. This will be shown for –help

Definition at line 2084 of file InputParameters.h.

Referenced by MooseApp::validParams().

2088 {
2089  mooseAssert(name == "citations" || name == "csg_only" || name == "mesh_only" ||
2090  name == "recover" || name == "run",
2091  "Not supported for new parameters");
2092  static_assert(!std::is_same_v<T, bool>, "Cannot be used for a bool (does not take a value)");
2093  addParam<T>(name, value, doc_string);
2094  addCommandLineParamHelper<T>(name, syntax, /* required = */ false, /* value_required = */ false);
2095 }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ addParam() [1/7]

template<typename T , typename S >
void InputParameters::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.

The first version of this function takes a default value which is used if the parameter is not found in the input file. The second method will leave the parameter uninitialized but can be checked with "isParamValid" before use.

Definition at line 1831 of file InputParameters.h.

Referenced by MFEMExecutedObject::addDependencyParam(), addDeprecatedCoupledVar(), ConstantReporter::addReporterTypeParams(), MultiAppTransfer::addSkipCoordCollapsingParam(), MultiAppTransfer::addUserObjectExecutionCheckParam(), AdvancedOutput::addValidParams(), Moose::commonAdaptivityParams(), TransientBase::defaultSteadyStateConvergenceParams(), FEProblemSolve::feProblemDefaultConvergenceParams(), FixedPointSolve::fixedPointDefaultConvergenceParams(), ConservativeAdvectionTempl< is_ad >::generalParams(), Moose::PetscSupport::getPetscValidParams(), Moose::SlepcSupport::getSlepcEigenProblemValidParams(), MortarConsumerInterface::triangulationParams(), ADFluxFromGradientMaterial::validParams(), FVDiffusionInterface::validParams(), FVOneVarDiffusionInterface::validParams(), EqualValueBoundaryConstraint::validParams(), ArrayTimeDerivative::validParams(), PenaltyDirichletNodalKernel::validParams(), AutoCheckpointAction::validParams(), MassEigenKernel::validParams(), TimeDerivative::validParams(), VectorTimeDerivative::validParams(), NumRelationshipManagers::validParams(), NumVars::validParams(), PerfGraphData::validParams(), Residual::validParams(), DynamicObjectRegistrationAction::validParams(), ErrorFractionMarker::validParams(), VectorPostprocessorReductionValue::validParams(), ErrorToleranceMarker::validParams(), ReadExecutorParamsAction::validParams(), ValueRangeMarker::validParams(), ValueThresholdMarker::validParams(), ElementStatistics::validParams(), NodalStatistics::validParams(), FileMesh::validParams(), ArrayVariableComponent::validParams(), TiledMesh::validParams(), ConstantVectorPostprocessor::validParams(), InversePowerMethod::validParams(), BoundaryDeletionGenerator::validParams(), ArrayVarReductionAux::validParams(), NonlinearEigen::validParams(), ADRobinBC::validParams(), ADVectorRobinBC::validParams(), ArrayHFEMDirichletBC::validParams(), ArrayNeumannBC::validParams(), ArrayPenaltyDirichletBC::validParams(), ArrayVacuumBC::validParams(), CopyNodalVarsAction::validParams(), HFEMDirichletBC::validParams(), ElementIntegerAux::validParams(), CreateExecutionerAction::validParams(), FVFunctorTimeKernel::validParams(), FVMatAdvection::validParams(), FVReaction::validParams(), GradientJumpIndicator::validParams(), JSONOutput::validParams(), CoefReactionTempl< is_ad >::validParams(), ExtraIDIntegralReporter::validParams(), DerivativeSumMaterialTempl< is_ad >::validParams(), AddFieldSplitAction::validParams(), ElementOrderConversionGenerator::validParams(), ActivateElementsByPath::validParams(), ActivateElementsCoupled::validParams(), ThresholdElementSubdomainModifier::validParams(), CreateProblemAction::validParams(), AdaptivityAction::validParams(), MooseObjectAction::validParams(), PenetrationAux::validParams(), TimeExtremeValue::validParams(), ElementQualityChecker::validParams(), SetupMeshAction::validParams(), CSVReaderVectorPostprocessor::validParams(), Eigenvalues::validParams(), UniqueExtraIDMeshGenerator::validParams(), ActivateElementsUserObjectBase::validParams(), MFEMBoundaryIntegratedBC::validParams(), MFEMBoundaryNormalIntegratedBC::validParams(), MFEMComplexScalarDirichletBC::validParams(), MFEMComplexVectorDirichletBCBase::validParams(), MFEMRWTE10IntegratedBC::validParams(), MFEMScalarDirichletBC::validParams(), MFEMVectorBoundaryIntegratedBC::validParams(), MFEMVectorDirichletBCBase::validParams(), MFEMVectorFEBoundaryFluxIntegratedBC::validParams(), MFEMVectorFEBoundaryTangentIntegratedBC::validParams(), MFEMVectorFEMassIntegratedBC::validParams(), GapValueAux::validParams(), MFEMScalarFESpace::validParams(), MFEMVectorFESpace::validParams(), MFEMEigenproblem::validParams(), PIDChainControl::validParams(), ScaleOldChainControl::validParams(), TerminateChainControl::validParams(), CoupledForceNodalKernel::validParams(), LowerBoundNodalKernel::validParams(), ReactionNodalKernel::validParams(), UpperBoundNodalKernel::validParams(), UnitTripChainControl::validParams(), CoefTimeDerivative::validParams(), DivDivField::validParams(), DivField::validParams(), FunctorKernel::validParams(), GradField::validParams(), FunctionDiffusion::validParams(), MassMatrix::validParams(), ConstantPostprocessor::validParams(), DiscreteVariableResidualNorm::validParams(), ElementExtremeFunctorValueTempl< is_ad >::validParams(), NullKernel::validParams(), SecondTimeDerivativeAux::validParams(), MatrixSymmetryCheck::validParams(), ConditionalEnableControl::validParams(), NumElements::validParams(), LinearFVAdvectionDiffusionScalarSymmetryBC::validParams(), ScalarVariable::validParams(), TimeIntegratedPostprocessor::validParams(), ScalePostprocessor::validParams(), SingleMatrixPreconditioner::validParams(), IterationCountConvergence::validParams(), BoundaryMarker::validParams(), MultiPostprocessorConvergence::validParams(), TimeDerivativeAux::validParams(), RestartableDataReporter::validParams(), NullScalarKernel::validParams(), SetupDebugAction::validParams(), TimeIntervalTimes::validParams(), ArrayDGDiffusion::validParams(), AnnularMesh::validParams(), GeneratedMesh::validParams(), RinglebMesh::validParams(), ElemSideNeighborLayersTester::validParams(), SpiralAnnularMesh::validParams(), AddMetaDataGenerator::validParams(), BlockDeletionGenerator::validParams(), AdvectiveFluxAux::validParams(), BoundaryLayerSubdomainGenerator::validParams(), SidesetInfoVectorPostprocessor::validParams(), BreakBoundaryOnSubdomainGenerator::validParams(), CoarsenBlockGenerator::validParams(), ElementGenerator::validParams(), ExtraNodesetGenerator::validParams(), CombineComponentsMeshes::validParams(), ConstantFunction::validParams(), FileMeshGenerator::validParams(), LowerDBlockFromSidesetGenerator::validParams(), ConstantAux::validParams(), PiecewiseConstant::validParams(), MoveNodeGenerator::validParams(), NodeSetsGeneratorBase::validParams(), OrientSurfaceMeshGenerator::validParams(), CopyValueAux::validParams(), PiecewiseTabularInterface::validParams(), ParsedSubdomainMeshGenerator::validParams(), PlaneIDMeshGenerator::validParams(), RefineBlockGenerator::validParams(), RefineSidesetGenerator::validParams(), RenameBlockGenerator::validParams(), RenumberBySubdomainGenerator::validParams(), RinglebMeshGenerator::validParams(), SideSetsFromNodeSetsGenerator::validParams(), SphereMeshGenerator::validParams(), SpiralAnnularMeshGenerator::validParams(), SubdomainPerElementGenerator::validParams(), DirichletBCBase::validParams(), SurfaceDelaunayGeneratorBase::validParams(), TiledMeshGenerator::validParams(), MoveNodesToSphere::validParams(), FunctorDirichletBC::validParams(), FunctorNeumannBC::validParams(), FVCoupledForce::validParams(), FunctionIC::validParams(), DeprecatedBlockAction::validParams(), BoundsBase::validParams(), GetPostprocessorChainControl::validParams(), InterfaceDiffusion::validParams(), LimitChainControl::validParams(), MaterialStdVectorRealGradientAux::validParams(), SpatialUserObjectVectorPostprocessor::validParams(), Console::validParams(), ControlOutput::validParams(), GMVOutput::validParams(), PerfGraphOutput::validParams(), EqualValueConstraint::validParams(), Tecplot::validParams(), VTKOutput::validParams(), ParsedAux::validParams(), DiffusionCG::validParams(), DiffusionFV::validParams(), MultiAppPositions::validParams(), ParsedVectorAux::validParams(), TransformedPositions::validParams(), ChangeOverFixedPointPostprocessor::validParams(), AddActionComponentAction::validParams(), NodalConstraint::validParams(), ReactionTempl< is_ad >::validParams(), LinearFVAdvectionDiffusionExtrapolatedBC::validParams(), NumFixedPointIterations::validParams(), NumNonlinearIterations::validParams(), ParsedPostprocessor::validParams(), PseudoTimestep::validParams(), Receiver::validParams(), PIDTransientControl::validParams(), LinearFVReaction::validParams(), LinearFVSource::validParams(), FiniteDifferencePreconditioner::validParams(), TagVectorAux::validParams(), ElementExtremeMaterialPropertyReporterTempl< is_ad >::validParams(), VariableGradientComponent::validParams(), IterationInfo::validParams(), ParsedODEKernel::validParams(), VectorPostprocessorVisualizationAux::validParams(), ActuallyExplicitEuler::validParams(), NewmarkBeta::validParams(), CSVFileTimes::validParams(), MaxIncrement::validParams(), Times::validParams(), ADDGAdvection::validParams(), FunctionDT::validParams(), MaterialFunctorConverterTempl< T >::validParams(), ParsedMaterialBase::validParams(), TimeSequenceStepperBase::validParams(), MultiAppCloneReporterTransfer::validParams(), MultiAppConservativeTransfer::validParams(), RankTwoTensorFromComponentProperties::validParams(), ConcentricCircleMesh::validParams(), MultiAppReporterTransfer::validParams(), ImageMesh::validParams(), MeshGeneratorMesh::validParams(), InterfaceValueUserObject::validParams(), SetupResidualDebugAction::validParams(), FunctorBinnedValuesDivision::validParams(), AnnularMeshGenerator::validParams(), CombinedVectorPostprocessor::validParams(), BoundaryElementConversionGenerator::validParams(), SpatialAverageBase::validParams(), BreakMeshByBlockGenerator::validParams(), ArrayParsedAux::validParams(), BSplineCurveGenerator::validParams(), CartesianMeshGenerator::validParams(), ConcentricCircleMeshGenerator::validParams(), ChangeOverTimePostprocessor::validParams(), ExamplePatchMeshGenerator::validParams(), FillBetweenCurvesGenerator::validParams(), FillBetweenPointVectorsGenerator::validParams(), FillBetweenSidesetsGenerator::validParams(), GeneratedMeshGenerator::validParams(), MeshDiagnosticsGenerator::validParams(), MeshRepairGenerator::validParams(), PiecewiseLinear::validParams(), ParsedSubdomainGeneratorBase::validParams(), PolyLineMeshGenerator::validParams(), FunctorADConverterTempl< T >::validParams(), SplineFunction::validParams(), DivergenceAuxTempl< is_ad >::validParams(), FunctorSmootherTempl< T >::validParams(), SideSetExtruderGenerator::validParams(), SmoothMeshGenerator::validParams(), PostprocessorDT::validParams(), FVBoundaryScalarLagrangeMultiplierConstraint::validParams(), StitchMeshGenerator::validParams(), SubdomainsFromPartitionerGenerator::validParams(), ElementNormalAux::validParams(), XYTriangleBoundaryLayerGenerator::validParams(), FunctorAux::validParams(), MoveNodesToGeometryModifierBase::validParams(), MatchedValueBCTempl< is_ad >::validParams(), ParsedReporterBase::validParams(), FVMassMatrix::validParams(), MFEMSimplifiedFESpace::validParams(), FVScalarLagrangeMultiplierConstraint::validParams(), FunctorIC::validParams(), InterfaceValueUserObjectAux::validParams(), MaterialRealDenseMatrixAux::validParams(), ADMatInterfaceReaction::validParams(), PenaltyInterfaceDiffusionTempl< T, is_ad >::validParams(), MFEMHypreLOBPCG::validParams(), MFEMHyprePCG::validParams(), MaterialStdVectorAuxBaseTempl< Real, is_ad >::validParams(), MFEMMUMPS::validParams(), FullSolveMultiApp::validParams(), FunctorTimes::validParams(), MeshDivisionAux::validParams(), MaterialDerivativeTestAction::validParams(), ADFluxDivergence::validParams(), ADMatCoupledForce::validParams(), FVNeumannBC::validParams(), Constraint::validParams(), CoupledTiedValueConstraint::validParams(), AdvancedExtruderGenerator::validParams(), SolutionInvalidityOutput::validParams(), CoupledForceTempl< is_ad >::validParams(), NormalizationAux::validParams(), LinearFVTimeDerivative::validParams(), ElementGroupCentroidPositions::validParams(), TiedValueConstraint::validParams(), ExtremeValueBase< SideVariablePostprocessor >::validParams(), FunctionSideIntegral::validParams(), VectorFunctionReaction::validParams(), MemoryUsage::validParams(), FEProblemSolve::validParams(), RelativeSolutionDifferenceNorm::validParams(), LinearFVFluxKernel::validParams(), CylindricalGridDivision::validParams(), TimesEnableControl::validParams(), TagMatrixAux::validParams(), QuadraturePointMarker::validParams(), SetAdaptivityOptionsAction::validParams(), CoupledGradientMaterialTempl< is_ad >::validParams(), BoundingValueElementDamper::validParams(), ScalarKernelBase::validParams(), BoundingValueNodalDamper::validParams(), VariableTimeIntegrationAux::validParams(), ScalarTagMatrixAux::validParams(), MultiAppGeneralFieldKDTreeTransferBase::validParams(), MultiAppShapeEvaluationTransfer::validParams(), ScalarTagVectorAux::validParams(), SolutionTimeAdaptiveDT::validParams(), CartesianGridDivision::validParams(), WorkBalance::validParams(), SphericalGridDivision::validParams(), ArrayVariableValueVolumeHistogram::validParams(), ElementMaterialSampler::validParams(), LeastSquaresFit::validParams(), VariableValueVolumeHistogram::validParams(), BreakMeshByElementGenerator::validParams(), ADFunctionDirichletBC::validParams(), CombinerGenerator::validParams(), DeleteElementsNearMeshGenerator::validParams(), BicubicSplineFunction::validParams(), CompositeFunction::validParams(), ADVectorFunctionDirichletBC::validParams(), ADVectorFunctionNeumannBC::validParams(), ImageMeshGenerator::validParams(), LevelSetMeshingHelper::validParams(), MeshExtruderGenerator::validParams(), ParsedExtraElementIDGenerator::validParams(), ParsedGenerateNodeset::validParams(), PolyLineMeshFollowingNodeSetGenerator::validParams(), ProjectSideSetOntoLevelSetGenerator::validParams(), SideSetsFromBoundingBoxGenerator::validParams(), VectorMagnitudeFunctorMaterialTempl< is_ad >::validParams(), StackGenerator::validParams(), StitchMeshGeneratorBase::validParams(), ParsedFunctorMaterialTempl< is_ad >::validParams(), SurfaceMeshGeneratorBase::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), CreateDisplacedProblemAction::validParams(), TransformGenerator::validParams(), XYZDelaunayGenerator::validParams(), FunctionGradientNeumannBC::validParams(), TimedSubdomainModifier::validParams(), FVAnisotropicDiffusion::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), MFEMBoundaryCondition::validParams(), FVDiffusionInterpolationInterface::validParams(), NeumannBCTempl< is_ad >::validParams(), FunctorVectorElementalAuxTempl< is_ad >::validParams(), InterfaceQpMaterialPropertyBaseUserObject< Real >::validParams(), MFEMMixedBilinearFormKernel::validParams(), VectorCurlPenaltyDirichletBC::validParams(), VectorDivPenaltyDirichletBC::validParams(), VectorFunctionDirichletBC::validParams(), VectorPenaltyDirichletBC::validParams(), MFEMConduitDataCollection::validParams(), MFEMParaViewDataCollection::validParams(), MFEMVisItDataCollection::validParams(), MFEML2Error::validParams(), InternalSideIndicatorBase::validParams(), MFEMVectorL2Error::validParams(), GetFunctionValueChainControl::validParams(), MaterialRealTensorValueAuxTempl< is_ad >::validParams(), MFEMCGSolver::validParams(), MFEMGMRESSolver::validParams(), MFEMHypreBoomerAMG::validParams(), MFEMHypreFGMRES::validParams(), FVRelationshipManagerInterface::validParams(), ParsedChainControl::validParams(), MaterialRealVectorValueAuxTempl< T, is_ad, is_functor >::validParams(), CSV::validParams(), DOFMapOutput::validParams(), FileOutput::validParams(), Gnuplot::validParams(), SingleRankPartitioner::validParams(), VectorMemoryUsage::validParams(), Positions::validParams(), MatCoupledForce::validParams(), MaterialPropertyValueTempl< is_ad >::validParams(), GreaterThanLessThanPostprocessor::validParams(), LinearFVDiffusion::validParams(), MFEMHypreGMRES::validParams(), ParsedConvergence::validParams(), MFEMHypreADS::validParams(), MFEMDataCollection::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), MultiAppPostprocessorInterpolationTransfer::validParams(), MultiAppVariableValueSamplePostprocessorTransfer::validParams(), MFEMMesh::validParams(), ExtraIDIntegralVectorPostprocessor::validParams(), PointVariableSamplerBase::validParams(), CircularBoundaryCorrectionGenerator::validParams(), CutMeshByLevelSetGenerator::validParams(), CoarsenedPiecewiseLinear::validParams(), OrientedSubdomainBoundingBoxGenerator::validParams(), PiecewiseLinearFromVectorPostprocessor::validParams(), ParsedCurveGenerator::validParams(), MFEMProblemSolve::validParams(), ParsedNodeTransformGenerator::validParams(), MFEMSteady::validParams(), GenericFunctorGradientMaterialTempl< is_ad >::validParams(), MFEMGenericFESpace::validParams(), GenericFunctorMaterialTempl< is_ad >::validParams(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::validParams(), FVFunctorNeumannBC::validParams(), XYDelaunayGenerator::validParams(), SolutionHistory::validParams(), MultiAppPostprocessorTransfer::validParams(), CreateApplicationBlockAction::validParams(), LeastSquaresFitHistory::validParams(), FVAdvectedMinmodWeightBased::validParams(), FVAdvectedVanLeerWeightBased::validParams(), FunctorCoordinatesFunctionAux::validParams(), CoupledValueFunctionMaterialTempl< is_ad >::validParams(), PointwiseRenormalizeVector::validParams(), MFEMFESpace::validParams(), FVOrthogonalDiffusion::validParams(), MFEML2ZienkiewiczZhuIndicator::validParams(), MFEMNLCurlCurlKernel::validParams(), MFEMNLDiffusionKernel::validParams(), MFEMRefinementMarker::validParams(), DisplayGhostingAction::validParams(), MFEMHypreAMS::validParams(), MFEMPetscNonlinearSolver::validParams(), DirectionalNeumannBC::validParams(), ReferenceResidualInterface::validParams(), PointSamplerBase::validParams(), IntegratedBCBase::validParams(), XYMeshLineCutter::validParams(), ElemElemConstraint::validParams(), ADKernelSUPGTempl< T >::validParams(), RandomPartitioner::validParams(), NodalScalarKernel::validParams(), ElementIntegralFunctorPostprocessorTempl< is_ad >::validParams(), ElementVectorL2Error::validParams(), Moose::MFEM::SolverBase::validParams(), NumDOFs::validParams(), LinearFVAnisotropicDiffusion::validParams(), MultiSystemSolveObject::validParams(), LinearNodalConstraint::validParams(), EigenProblem::validParams(), QuadraturePointsPositions::validParams(), VectorBodyForce::validParams(), MaterialADConverterTempl< T >::validParams(), Moose::MFEM::EigensolverBase::validParams(), MultiAppGeneralFieldNearestLocationTransfer::validParams(), FunctionValuePostprocessor::validParams(), MFEMVectorFEDivergenceKernel::validParams(), MFEMVectorFEWeakDivergenceKernel::validParams(), MFEMVectorFEMassKernel::validParams(), Boundary2DDelaunayGenerator::validParams(), MFEMDiffusionKernel::validParams(), MFEMMixedVectorMassKernel::validParams(), CutMeshByLevelSetGeneratorBase::validParams(), ElementDeletionGeneratorBase::validParams(), BatchMeshGeneratorAction::validParams(), MFEMDomainLFKernel::validParams(), SidesetAroundSubdomainUpdater::validParams(), MaterialDerivativeTestKernelBase< Real >::validParams(), ReporterPointSource::validParams(), PiecewiseTabularBase::validParams(), ADPiecewiseLinearInterpolationMaterial::validParams(), FVFunctionNeumannBC::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), ElementUOAux::validParams(), FVBodyForce::validParams(), MFEMConvectiveHeatFluxBC::validParams(), MFEMNLConvectiveHeatFluxBC::validParams(), MFEMCurlCurlKernel::validParams(), MFEMDivDivKernel::validParams(), MFEMKernel::validParams(), MFEMMassKernel::validParams(), MFEMMixedGradGradKernel::validParams(), MFEMMixedScalarCurlKernel::validParams(), MFEMMixedVectorGradientKernel::validParams(), MFEMVectorDomainLFKernel::validParams(), MFEMVectorFEDomainLFKernel::validParams(), GhostingFromUOAux::validParams(), SetupQuadratureAction::validParams(), MFEMBoundarySubMesh::validParams(), FixedPointSolve::validParams(), MortarNodalAuxKernelTempl< ComputeValueType >::validParams(), BlockRestrictionDebugOutput::validParams(), TransfiniteMeshGenerator::validParams(), SurfaceSubdomainsDelaunayRemesher::validParams(), FunctorExtremaPositions::validParams(), MultiAppDofCopyTransfer::validParams(), ElementIntegralArrayVariablePostprocessor::validParams(), FindValueOnLine::validParams(), LibtorchControlValuePostprocessor::validParams(), MFEMDomainSubMesh::validParams(), MaterialOutputAction::validParams(), SolutionAux::validParams(), TimePeriod::validParams(), ConservativeAdvectionBCTempl< false >::validParams(), TorchScriptUserObject::validParams(), MFEMVectorBoundaryFluxIntegralPostprocessor::validParams(), MFEMVectorFEInnerProductIntegralPostprocessor::validParams(), DerivativeKernelInterface< T >::validParams(), MFEMComplexVectorPeriodAveragedPostprocessor::validParams(), InterfaceQpUserObjectBase::validParams(), ProjectionAux::validParams(), EigenProblemSolve::validParams(), ElementIntegralVariablePostprocessor::validParams(), SolutionScalarAux::validParams(), BoundingBoxIC::validParams(), ManifoldSubdomainGenerator::validParams(), ParsedGenerateSideset::validParams(), PetscExternalPartitioner::validParams(), TimeStepper::validParams(), MFEMScalarTimeAverageAux::validParams(), PostprocessorNeumannBC::validParams(), Moose::MFEM::LinearSolverBase::validParams(), MFEMBoundaryRestrictable::validParams(), ADKernelScalarBase::validParams(), MortarScalarBase::validParams(), MaterialAuxBaseTempl< RealTensorValue, is_ad >::validParams(), FVOrthogonalBoundaryDiffusion::validParams(), EigenKernel::validParams(), ADMortarScalarBase::validParams(), BoundaryIntegralValueConstraint::validParams(), SideIntegralFunctorPostprocessorTempl< false >::validParams(), StitchedMesh::validParams(), ElementVariablesDifferenceMax::validParams(), MFEMBlockRestrictable::validParams(), ElementSideNeighborLayers::validParams(), MooseStaticCondensationPreconditioner::validParams(), KernelScalarBase::validParams(), CoupledVarNeumannBCTempl< false >::validParams(), CSVTimeSequenceStepper::validParams(), MultiAppProjectionTransfer::validParams(), TransientMultiApp::validParams(), GeometricSearchInterface::validParams(), MFEMInnerProductAux::validParams(), Exodus::validParams(), Nemesis::validParams(), VariableResidualNormsDebugOutput::validParams(), ADDirichletBCBase::validParams(), LinearFVAdvectionDiffusionFunctorNeumannBC::validParams(), DGDiffusion::validParams(), EqualValueEmbeddedConstraintTempl< is_ad >::validParams(), MFEMProblem::validParams(), PiecewiseMultilinear::validParams(), SteadyBase::validParams(), ParsedDownSelectionPositions::validParams(), VacuumBC::validParams(), MooseParsedVectorFunction::validParams(), LibmeshPartitioner::validParams(), PiecewiseMulticonstant::validParams(), LinearCombinationPostprocessor::validParams(), MeshInfo::validParams(), MultiAppGeneralFieldFunctorTransfer::validParams(), ADDGDiffusion::validParams(), InterfaceIntegralVariableValuePostprocessor::validParams(), MultiAppNearestNodeTransfer::validParams(), MFEMCrossProductAux::validParams(), BodyForceTempl< is_ad >::validParams(), PNGOutput::validParams(), NodalPatchRecovery::validParams(), Convergence::validParams(), Split::validParams(), ExplicitTimeIntegrator::validParams(), PatternedMeshGenerator::validParams(), SideSetsGeneratorBase::validParams(), LibtorchNeuralNetControl::validParams(), NodalVariableValue::validParams(), CommonOutputAction::validParams(), LinearFVAdvectionDiffusionFunctorRobinBC::validParams(), SubdomainBoundingBoxGenerator::validParams(), ParsedElementDeletionGenerator::validParams(), FVDiffusion::validParams(), AdamsPredictor::validParams(), FVFunctionIC::validParams(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::validParams(), ADDirichletBCBaseTempl< Real >::validParams(), GhostingUserObject::validParams(), SideAdvectiveFluxIntegralTempl< is_ad >::validParams(), EigenExecutionerBase::validParams(), SinNeumannBC::validParams(), NodalNormalsPreprocessor::validParams(), ActionComponent::validParams(), DistributedRectilinearMeshGenerator::validParams(), AddPeriodicBCAction::validParams(), PiecewiseMultiInterpolation::validParams(), RelationshipManager::validParams(), MooseParsedGradFunction::validParams(), BoundingBoxNodeSetGenerator::validParams(), PropertyReadFile::validParams(), VectorConstantIC::validParams(), WebServerControl::validParams(), Axisymmetric2D3DSolutionFunction::validParams(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::validParams(), DiffusionPhysicsBase::validParams(), NodalBCBase::validParams(), Moose::MFEM::NonlinearSolverBase::validParams(), NEML2Action::validParams(), AddNodalNormalsAction::validParams(), InitialConditionInterface::validParams(), MatDiffusionBaseTempl< T, false >::validParams(), Damper::validParams(), TableOutput::validParams(), GenericFunctionMaterialTempl< is_ad >::validParams(), ComparisonPostprocessor::validParams(), MultiAppUserObjectTransfer::validParams(), ProjectedStatefulMaterialStorageAction::validParams(), Predictor::validParams(), InterfaceKernelBase::validParams(), CylinderComponent::validParams(), GenericFunctionVectorMaterialTempl< is_ad >::validParams(), ComponentJunction::validParams(), TransientBase::validParams(), MFEMLinearElasticityKernel::validParams(), DGFunctionDiffusionDirichletBC::validParams(), VectorFunctionIC::validParams(), MultiAppGeometricInterpolationTransfer::validParams(), Eigenvalue::validParams(), NodalUserObject::validParams(), GridPartitioner::validParams(), PatternedMesh::validParams(), AB2PredictorCorrector::validParams(), MeshGeneratorComponent::validParams(), PhysicsBase::validParams(), PenaltyPeriodicSegmentalConstraint::validParams(), ADPenaltyPeriodicSegmentalConstraint::validParams(), ElementIndicator::validParams(), ADNodalBCTempl< RealVectorValue, ADDirichletBCBase >::validParams(), DiracKernelBase::validParams(), MooseObject::validParams(), NearestPointBase< LayeredSideDiffusiveFluxAverage, SideIntegralVariableUserObject >::validParams(), MultiAppTransfer::validParams(), SolutionUserObjectBase::validParams(), NodalKernelBase::validParams(), BoundaryCondition::validParams(), IterationAdaptiveDT::validParams(), FileRangeBuilder::validParams(), NEML2ModelInterface< GeneralUserObject >::validParams(), FunctionMaterialBase< is_ad >::validParams(), SetupInterface::validParams(), ADPenaltyDirichletBC::validParams(), NodeFaceConstraint::validParams(), VariableCondensationPreconditioner::validParams(), VectorPostprocessor::validParams(), PenaltyDirichletBC::validParams(), FVFluxKernel::validParams(), Indicator::validParams(), MoosePreconditioner::validParams(), Material::validParams(), DumpObjectsProblem::validParams(), SolutionIC::validParams(), LayeredBase::validParams(), MortarConsumerInterface::validParams(), MultiAppGeneralFieldTransfer::validParams(), RandomIC::validParams(), DerivativeParsedMaterialHelperTempl< is_ad >::validParams(), RandomICBase::validParams(), Terminator::validParams(), AuxScalarKernel::validParams(), SampledOutput::validParams(), Action::validParams(), PetscOutput::validParams(), ShapeUserObject< SideUserObject >::validParams(), MooseParsedFunctionBase::validParams(), Transfer::validParams(), TransientInterface::validParams(), RandomInterface::validParams(), DGKernelBase::validParams(), TimeIntegrator::validParams(), NestedSolveTempl< is_ad >::validParams(), MeshGenerator::validParams(), ElementSubdomainModifierBase::validParams(), BoundaryRestrictable::validParams(), MooseVariableBase::validParams(), ConservativeAdvectionTempl< is_ad >::validParams(), MortarConstraintBase::validParams(), Control::validParams(), ScalarInitialCondition::validParams(), OutputInterface::validParams(), DomainUserObject::validParams(), PiecewiseBilinear::validParams(), Executioner::validParams(), FieldSplitPreconditionerTempl< MoosePreconditioner >::validParams(), AStableDirk4::validParams(), UserObjectBase::validParams(), Checkpoint::validParams(), Output::validParams(), ParsedMaterialHelper< is_ad >::validParams(), FunctionParserUtils< false >::validParams(), MFEMMatrixFreeAMS::validParams(), Sampler::validParams(), AuxKernelBase::validParams(), InitialConditionBase::validParams(), FVInterfaceKernel::validParams(), TaggingInterface::validParams(), Moose::Builder::validParams(), FVBoundaryCondition::validParams(), TopResidualDebugOutput::validParams(), SubProblem::validParams(), BlockRestrictable::validParams(), MaterialBase::validParams(), MaterialPropertyInterface::validParams(), MeshBaseImageSampler::validParams(), ImageSampler::validParams(), MooseMesh::validParams(), MultiApp::validParams(), Executor::validParams(), MooseApp::validParams(), and FEProblemBase::validParams().

1832 {
1833  checkParamName(name);
1834  checkConsistentType<T>(name);
1835 
1836  T & l_value = InputParameters::set<T>(name);
1837  auto & metadata = _params[name];
1838  if constexpr (isFunctorNameType<T>())
1839  metadata._doc_string = appendFunctorDescription<T>(doc_string);
1840  else
1841  metadata._doc_string = doc_string;
1842 
1843  // Set the parameter now
1844  setParamHelper(name, l_value, value);
1845 
1846  /* Indicate the default value, as set via addParam, is being used. The parameter is removed from
1847  the list whenever
1848  it changes, see set_attributes */
1849  metadata._set_by_add_param = true;
1850 }
std::string name(const ElemQuality q)
std::string appendFunctorDescription(const std::string &doc_string) const
Appends description of what a functor is to a doc string.
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::map< std::string, Metadata > _params
The actual parameter data.
void setParamHelper(const std::string &name, T &l_value, const S &r_value)
This method is called when adding a Parameter with a default value, can be specialized for non-matchi...

◆ addParam() [2/7]

template<typename T >
void InputParameters::addParam ( const std::string &  name,
const std::string &  doc_string 
)

Definition at line 1854 of file InputParameters.h.

1855 {
1856  checkParamName(name);
1857  checkConsistentType<T>(name);
1858 
1859  InputParameters::insert<T>(name);
1860  if constexpr (isFunctorNameType<T>())
1861  _params[name]._doc_string = appendFunctorDescription<T>(doc_string);
1862  else
1863  _params[name]._doc_string = doc_string;
1864 }
std::string name(const ElemQuality q)
std::string appendFunctorDescription(const std::string &doc_string) const
Appends description of what a functor is to a doc string.
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addParam() [3/7]

template<typename T >
void InputParameters::addParam ( const std::string &  name,
const std::initializer_list< typename T::value_type > &  value,
const std::string &  doc_string 
)
inline

Enable support for initializer lists as default arguments for container type.

Definition at line 266 of file InputParameters.h.

269  {
270  addParam<T>(name, T{value}, doc_string);
271  }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ addParam() [4/7]

template<>
void InputParameters::addParam ( const std::string &  ,
const std::string &   
)

Definition at line 1388 of file InputParameters.C.

1390 {
1391  mooseError("You must supply a MooseEnum object when using addParam, even if the parameter is not "
1392  "required!");
1393 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addParam() [5/7]

template<>
void InputParameters::addParam ( const std::string &  ,
const std::string &   
)

Definition at line 1397 of file InputParameters.C.

1399 {
1400  mooseError("You must supply a MultiMooseEnum object when using addParam, even if the parameter "
1401  "is not required!");
1402 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addParam() [6/7]

template<>
void InputParameters::addParam ( const std::string &  ,
const std::string &   
)

◆ addParam() [7/7]

template<>
void InputParameters::addParam ( const std::string &  ,
const std::string &   
)

◆ addParamNamesToGroup()

void InputParameters::addParamNamesToGroup ( const std::string &  space_delim_names,
const std::string  group_name 
)

This method takes a space delimited list of parameter names and adds them to the specified group name.

This information is used in the GUI to group parameters into logical sections.

Definition at line 1027 of file InputParameters.C.

Referenced by MultiAppTransfer::addSkipCoordCollapsingParam(), AdvancedOutput::addValidParams(), TransientBase::defaultSteadyStateConvergenceParams(), FEProblemSolve::feProblemDefaultConvergenceParams(), FixedPointSolve::fixedPointDefaultConvergenceParams(), Moose::PetscSupport::getPetscValidParams(), Moose::SlepcSupport::getSlepcEigenProblemValidParams(), CopyNodalVarsAction::validParams(), DerivativeSumMaterialTempl< is_ad >::validParams(), SetupMeshAction::validParams(), GeneratedMesh::validParams(), NodalPatchRecoveryBase::validParams(), FileMeshGenerator::validParams(), NodeSetsGeneratorBase::validParams(), SurfaceDelaunayGeneratorBase::validParams(), PiecewiseTabularInterface::validParams(), Console::validParams(), GMVOutput::validParams(), Tecplot::validParams(), VTKOutput::validParams(), DiffusionFV::validParams(), Times::validParams(), AddActionComponentAction::validParams(), MultiAppConservativeTransfer::validParams(), BSplineCurveGenerator::validParams(), Constraint::validParams(), TimedSubdomainModifier::validParams(), ScalarKernelBase::validParams(), SetAdaptivityOptionsAction::validParams(), AdvancedExtruderGenerator::validParams(), LevelSetMeshingHelper::validParams(), ParsedGenerateNodeset::validParams(), ProjectSideSetOntoLevelSetGenerator::validParams(), SurfaceMeshGeneratorBase::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), CSV::validParams(), FVRelationshipManagerInterface::validParams(), FileOutput::validParams(), Positions::validParams(), LeastSquaresFitHistory::validParams(), XYDelaunayGenerator::validParams(), IntegratedBCBase::validParams(), BatchMeshGeneratorAction::validParams(), ReferenceResidualInterface::validParams(), EigenProblem::validParams(), MultiSystemSolveObject::validParams(), EigenProblemSolve::validParams(), FixedPointSolve::validParams(), SurfaceSubdomainsDelaunayRemesher::validParams(), TransfiniteMeshGenerator::validParams(), TransientMultiApp::validParams(), GeometricSearchInterface::validParams(), MaterialAuxBaseTempl< RealTensorValue, is_ad >::validParams(), Exodus::validParams(), PNGOutput::validParams(), Postprocessor::validParams(), Split::validParams(), NodalPatchRecovery::validParams(), SideSetsGeneratorBase::validParams(), EigenExecutionerBase::validParams(), NodalBCBase::validParams(), DiffusionPhysicsBase::validParams(), ComponentJunction::validParams(), CylinderComponent::validParams(), TableOutput::validParams(), InterfaceKernelBase::validParams(), TransientBase::validParams(), DiracKernelBase::validParams(), PhysicsBase::validParams(), MooseObject::validParams(), SolutionUserObjectBase::validParams(), NearestPointBase< LayeredSideDiffusiveFluxAverage, SideIntegralVariableUserObject >::validParams(), BoundaryCondition::validParams(), NodalKernelBase::validParams(), RadialAverage::validParams(), VectorPostprocessor::validParams(), FVFluxKernel::validParams(), Indicator::validParams(), Material::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryTempl< T, is_ad >::validParams(), LayeredBase::validParams(), MultiAppGeneralFieldTransfer::validParams(), AuxScalarKernel::validParams(), SampledOutput::validParams(), Action::validParams(), ShapeUserObject< SideUserObject >::validParams(), PetscOutput::validParams(), DGKernelBase::validParams(), RandomInterface::validParams(), TransientInterface::validParams(), MeshGenerator::validParams(), MooseVariableBase::validParams(), OutputInterface::validParams(), Executioner::validParams(), UserObjectBase::validParams(), Output::validParams(), FunctionParserUtils< false >::validParams(), AuxKernelBase::validParams(), InitialConditionBase::validParams(), TaggingInterface::validParams(), FVInterfaceKernel::validParams(), FVBoundaryCondition::validParams(), SubProblem::validParams(), MaterialPropertyInterface::validParams(), MeshBaseImageSampler::validParams(), ImageSampler::validParams(), MultiApp::validParams(), and FEProblemBase::validParams().

1029 {
1030  std::vector<std::string> elements;
1031  MooseUtils::tokenize(space_delim_names, elements, 1, " \t\n\v\f\r"); // tokenize on whitespace
1032 
1033  // Since we don't require types (templates) for this method, we need
1034  // to get a raw list of parameter names to compare against.
1035  std::set<std::string> param_names;
1036  for (const auto & it : *this)
1037  param_names.insert(it.first);
1038 
1039  for (const auto & param_name : elements)
1040  if (_params.count(param_name) > 0)
1041  _params[param_name]._group = group_name;
1042  else
1043  mooseError("Unable to find a parameter with name: ",
1044  param_name,
1045  " when adding to group ",
1046  group_name,
1047  '.');
1048 }
void tokenize(const std::string &str, std::vector< T > &elements, unsigned int min_len=1, const std::string &delims="/")
This function will split the passed in string on a set of delimiters appending the substrings to the ...
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addPrivateParam() [1/6]

template<typename T >
void InputParameters::addPrivateParam ( const std::string &  name,
const T &  value 
)

These method add a parameter to the InputParameters object which can be retrieved like any other parameter.

This parameter however is not printed in the Input file syntax dump or web page dump so does not take a documentation string. The first version of this function takes an optional default value.

Definition at line 2025 of file InputParameters.h.

Referenced by AddControlAction::act(), FEProblemBase::addOutput(), ActionFactory::create(), ActionFactory::getValidParams(), AppFactory::storeAppParams(), GlobalParamsAction::validParams(), CreateProblemDefaultAction::validParams(), ElementReporter::validParams(), GeneralReporter::validParams(), NodalReporter::validParams(), DefaultConvergenceBase::validParams(), StitchMeshGenerator::validParams(), XDA::validParams(), InternalSideIndicatorBase::validParams(), DefaultNonlinearConvergence::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), MFEMFunctorMaterial::validParams(), CopyMeshPartitioner::validParams(), MoosePartitioner::validParams(), EigenProblemSolve::validParams(), RelationshipManager::validParams(), NodalNormalsPreprocessor::validParams(), EigenExecutionerBase::validParams(), MFEMExecutedObject::validParams(), MooseObject::validParams(), BoundaryRestrictableRequired::validParams(), VectorPostprocessor::validParams(), MoosePreconditioner::validParams(), DisplacedProblem::validParams(), Action::validParams(), MeshGenerator::validParams(), BoundaryRestrictable::validParams(), MooseVariableBase::validParams(), Executioner::validParams(), Output::validParams(), MooseBase::validParams(), BlockRestrictable::validParams(), MaterialBase::validParams(), MaterialPropertyInterface::validParams(), MultiApp::validParams(), MooseApp::validParams(), and FEProblemBase::validParams().

2026 {
2027  checkParamName(name);
2028  checkConsistentType<T>(name);
2029 
2030  InputParameters::set<T>(name) = value;
2031  auto & metadata = _params[name];
2032  metadata._is_private = true;
2033  metadata._set_by_add_param = true;
2034 }
std::string name(const ElemQuality q)
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addPrivateParam() [2/6]

template<typename T >
void InputParameters::addPrivateParam ( const std::string &  name)

Definition at line 2014 of file InputParameters.h.

2015 {
2016  checkParamName(name);
2017  checkConsistentType<T>(name);
2018 
2019  InputParameters::insert<T>(name);
2020  _params[name]._is_private = true;
2021 }
std::string name(const ElemQuality q)
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addPrivateParam() [3/6]

template<>
void InputParameters::addPrivateParam ( const std::string &  )

Definition at line 1433 of file InputParameters.C.

1434 {
1435  mooseError("You must supply a MooseEnum object when using addPrivateParam, even if the parameter "
1436  "is not required!");
1437 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addPrivateParam() [4/6]

template<>
void InputParameters::addPrivateParam ( const std::string &  )

Definition at line 1441 of file InputParameters.C.

1442 {
1443  mooseError("You must supply a MultiMooseEnum object when using addPrivateParam, even if the "
1444  "parameter is not required!");
1445 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addPrivateParam() [5/6]

template<>
void InputParameters::addPrivateParam ( const std::string &  )

◆ addPrivateParam() [6/6]

template<>
void InputParameters::addPrivateParam ( const std::string &  )

◆ addRangeCheckedParam() [1/2]

template<typename T >
void InputParameters::addRangeCheckedParam ( const std::string &  name,
const T &  value,
const std::string &  parsed_function,
const std::string &  doc_string 
)

Definition at line 1946 of file InputParameters.h.

Referenced by MultiAppTransfer::addBBoxFactorParam(), Moose::commonAdaptivityParams(), FixedPointSolve::fixedPointDefaultConvergenceParams(), ErrorFractionMarker::validParams(), ConstantDT::validParams(), PeriodicFunction::validParams(), LogConstantDT::validParams(), GeneratedMesh::validParams(), SurfaceDelaunayGeneratorBase::validParams(), CoarsenBlockGenerator::validParams(), FixedPointIterationAdaptiveDT::validParams(), AnnularMesh::validParams(), EqualValueConstraint::validParams(), FillBetweenSidesetsGenerator::validParams(), GeneratedMeshGenerator::validParams(), ConcentricCircleMesh::validParams(), ImageMesh::validParams(), SmoothMeshGenerator::validParams(), AnnularMeshGenerator::validParams(), XYTriangleBoundaryLayerGenerator::validParams(), BSplineCurveGenerator::validParams(), NewmarkBeta::validParams(), ConcentricCircleMeshGenerator::validParams(), FillBetweenPointVectorsGenerator::validParams(), FillBetweenCurvesGenerator::validParams(), PIDTransientControl::validParams(), ImageMeshGenerator::validParams(), CylindricalGridDivision::validParams(), SurfaceMeshGeneratorBase::validParams(), SphericalGridDivision::validParams(), ElementLpNormAux::validParams(), AdvancedExtruderGenerator::validParams(), XYZDelaunayGenerator::validParams(), BreakMeshByElementGenerator::validParams(), MFEMRefinementMarker::validParams(), ParsedCurveGenerator::validParams(), FVAdvectedMinmodWeightBased::validParams(), XYDelaunayGenerator::validParams(), CircularBoundaryCorrectionGenerator::validParams(), FVAdvectedVanLeerWeightBased::validParams(), ManifoldSubdomainGenerator::validParams(), FixedPointSolve::validParams(), TimeStepper::validParams(), SurfaceSubdomainsDelaunayRemesher::validParams(), TransfiniteMeshGenerator::validParams(), FVAdvectedVenkatakrishnanDeferredCorrection::validParams(), ElementSideNeighborLayers::validParams(), Exodus::validParams(), ElementPointNeighborLayers::validParams(), SideSetsGeneratorBase::validParams(), PNGOutput::validParams(), PatternedMeshGenerator::validParams(), DistributedRectilinearMeshGenerator::validParams(), CylinderComponent::validParams(), ComponentJunction::validParams(), PatternedMesh::validParams(), ElementW1pError::validParams(), IterationAdaptiveDT::validParams(), RadialAverage::validParams(), LayeredBase::validParams(), MultiAppGeneralFieldTransfer::validParams(), DerivativeFunctionMaterialBaseTempl< is_ad >::validParams(), MooseVariableBase::validParams(), Output::validParams(), and MultiApp::validParams().

1950 {
1951  addParam<T>(name, value, doc_string);
1952  _params[name]._range_function = parsed_function;
1953 }
std::string name(const ElemQuality q)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRangeCheckedParam() [2/2]

template<typename T >
void InputParameters::addRangeCheckedParam ( const std::string &  name,
const std::string &  parsed_function,
const std::string &  doc_string 
)

Definition at line 1957 of file InputParameters.h.

1960 {
1961  addParam<T>(name, doc_string);
1962  _params[name]._range_function = parsed_function;
1963 }
std::string name(const ElemQuality q)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRelationshipManager()

void InputParameters::addRelationshipManager ( const std::string &  name,
Moose::RelationshipManagerType  rm_type,
Moose::RelationshipManagerInputParameterCallback  input_parameter_callback = nullptr 
)

Tells MOOSE about a RelationshipManager that this object needs.

RelationshipManagers handle element "ghosting", "non-local DOF access" and "sparsity pattern" relationships.

Basically: if this object needs non-local (ie non-current-element) data access then you probably need a relationship manager

Parameters
nameThe name of the RelationshipManager type
rm_typeThe type (GEOMETRIC/ALGEBRAIC) of the RelationshipManger. Note: You can use boolean logic to to "or" RelationshipManagerTypes together to make a RelationshipManager that is multi-typed.
input_parameter_callbackThis is a function pointer that will get called to fill in the RelationShipManager's InputParameters. See MooseTypes.h for the signature of this function.

Definition at line 537 of file InputParameters.C.

Referenced by GradientJumpIndicator::validParams(), ElemSideNeighborLayersGeomTester::validParams(), ElemSideNeighborLayersTester::validParams(), NodalPatchRecoveryBase::validParams(), BreakMeshByBlockGenerator::validParams(), GMVOutput::validParams(), Tecplot::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryBase::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), FVAnisotropicDiffusion::validParams(), FVRelationshipManagerInterface::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), ProjectionAux::validParams(), MultiAppProjectionTransfer::validParams(), Exodus::validParams(), FVDiffusion::validParams(), DistributedRectilinearMeshGenerator::validParams(), InterfaceKernelBase::validParams(), InterfaceUserObjectBase::validParams(), InternalSideUserObject::validParams(), SideUserObject::validParams(), InterfaceMaterial::validParams(), RadialAverage::validParams(), NodeFaceConstraint::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryTempl< T, is_ad >::validParams(), MultiAppGeneralFieldTransfer::validParams(), MortarConsumerInterface::validParams(), DGKernelBase::validParams(), MortarConstraintBase::validParams(), DomainUserObject::validParams(), AuxKernelBase::validParams(), FVInterfaceKernel::validParams(), and MooseVariableFV< Real >::validParams().

541 {
542  _buildable_rm_types.emplace_back(name, rm_type, input_parameter_callback);
543 }
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
The RelationshipManagers that this object may either build or require.

◆ addRequiredCommandLineParam()

template<typename T >
void InputParameters::addRequiredCommandLineParam ( const std::string &  name,
const std::string &  syntax,
const std::string &  doc_string 
)

Add parameters for retrieval from the command line.

NOTE: This ONLY works for App objects! This is not valid for normal MOOSE objects!

Parameters
nameThe name of the parameter
syntaxSpace separated list of command-line switch syntax that can set this option
doc_stringDocumentation. This will be shown for –help

Definition at line 2038 of file InputParameters.h.

2041 {
2042  static_assert(!std::is_same_v<T, bool>, "Cannot be used for a bool");
2043 
2044  addRequiredParam<T>(name, doc_string);
2045  addCommandLineParamHelper<T>(name, syntax, /* required = */ true, /* value_required = */ true);
2046 }
std::string name(const ElemQuality q)

◆ addRequiredCoupledVar()

void InputParameters::addRequiredCoupledVar ( const std::string &  name,
const std::string &  doc_string 
)

This method adds a coupled variable name pair.

The parser will look for variable name pair in the input file and can return a reference to the storage location for the coupled variable. If the coupled variable is not supplied in the input file, and error is thrown.

Version 2: An auto built vector will be built from the base_name and num_name param. See addCoupledVar for an example

Definition at line 317 of file InputParameters.C.

Referenced by transferParam(), ADFluxFromGradientMaterial::validParams(), ArrayVariableComponent::validParams(), FVScalarLagrangeMultiplierInterface::validParams(), VariableInnerProduct::validParams(), ElementVariableStatistics::validParams(), NodalVariableStatistics::validParams(), CoupledODETimeDerivative::validParams(), ArrayVarReductionAux::validParams(), LowerDIntegratedBC::validParams(), CoupledVarThresholdElementSubdomainModifier::validParams(), SideVariablePostprocessor::validParams(), SideValueSampler::validParams(), DerivativeSumMaterialTempl< is_ad >::validParams(), ActivateElementsCoupled::validParams(), ElementVariablePostprocessor::validParams(), ElementL2Difference::validParams(), VectorVariableMagnitudeAux::validParams(), InterfaceQpValueUserObject::validParams(), ADVectorMatchedValueBC::validParams(), ArrayCoupledTimeDerivative::validParams(), NodalPatchRecoveryVariable::validParams(), ElementVariableVectorPostprocessor::validParams(), ArrayLowerDIntegratedBC::validParams(), NodalVariableVectorPostprocessor::validParams(), CoupledTimeDerivative::validParams(), GradField::validParams(), VectorCoupledTimeDerivative::validParams(), LowerBoundNodalKernel::validParams(), SecondTimeDerivativeAux::validParams(), DivField::validParams(), CopyValueAux::validParams(), VariableValueElementSubdomainModifier::validParams(), CoupledForceNodalKernel::validParams(), UpperBoundNodalKernel::validParams(), VectorMagnitudeAux::validParams(), VectorVariableComponentAux::validParams(), DiffusionFluxAux::validParams(), FVBoundaryScalarLagrangeMultiplierConstraint::validParams(), FVScalarLagrangeMultiplierConstraint::validParams(), MatchedValueBCTempl< is_ad >::validParams(), VectorFromComponentVariablesMaterialTempl< is_ad >::validParams(), VariableGradientComponent::validParams(), ElementLpNormAux::validParams(), CoupledForceTempl< is_ad >::validParams(), ElementHCurlSemiError::validParams(), ScalarTagMatrixAux::validParams(), CoupledGradientMaterialTempl< is_ad >::validParams(), NormalizationAux::validParams(), VariableTimeIntegrationAux::validParams(), ElementHDivSemiError::validParams(), PointVariableSamplerBase::validParams(), NodalVariablePostprocessor::validParams(), NearestNodeValueAux::validParams(), MatCoupledForce::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), OneDEqualValueConstraintBC::validParams(), MaterialDerivativeTestKernelBase< Real >::validParams(), TagAuxBase< AuxKernel >::validParams(), ADPiecewiseLinearInterpolationMaterial::validParams(), InterpolatedStatefulMaterialTempl< T >::validParams(), ProjectionAux::validParams(), ElementIntegralVariableUserObject::validParams(), ElementIntegralVariablePostprocessor::validParams(), ElementIntegralArrayVariablePostprocessor::validParams(), SideIntegralVariableUserObject::validParams(), NodalEqualValueConstraint::validParams(), BoundaryIntegralValueConstraint::validParams(), ElementVariablesDifferenceMax::validParams(), CoupledVarNeumannBCTempl< false >::validParams(), InterfaceIntegralVariableValuePostprocessor::validParams(), DGLowerDKernel::validParams(), SideIntegralVariablePostprocessor::validParams(), InternalSideIntegralVariablePostprocessor::validParams(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::validParams(), CompositeTensorBase< T, U >::validParams(), HFEMTrialJump::validParams(), ArrayDGLowerDKernel::validParams(), HFEMTestJump::validParams(), InterfaceKernelBase::validParams(), PeriodicSegmentalConstraint::validParams(), NodeElemConstraintBase::validParams(), PenaltyPeriodicSegmentalConstraint::validParams(), ADPeriodicSegmentalConstraint::validParams(), ADPenaltyPeriodicSegmentalConstraint::validParams(), and ScalarLagrangeMultiplier::validParams().

318 {
319  addRequiredParam<std::vector<VariableName>>(name, doc_string);
320  _coupled_vars.insert(name);
321 }
std::string name(const ElemQuality q)
std::set< std::string > _coupled_vars
The coupled variables set.

◆ addRequiredCoupledVarWithAutoBuild()

void InputParameters::addRequiredCoupledVarWithAutoBuild ( const std::string &  name,
const std::string &  base_name,
const std::string &  num_name,
const std::string &  doc_string 
)

Definition at line 306 of file InputParameters.C.

310 {
311  addRequiredParam<std::vector<VariableName>>(name, doc_string);
312 
313  addCoupledVarWithAutoBuild(name, base_name, num_name, doc_string);
314 }
std::string name(const ElemQuality q)
void addCoupledVarWithAutoBuild(const std::string &name, const std::string &base_name, const std::string &num_name, const std::string &doc_string)
These methods add a coupled variable name pair.

◆ addRequiredCustomTypeParam()

template<typename T >
void InputParameters::addRequiredCustomTypeParam ( const std::string &  name,
const std::string &  custom_type,
const std::string &  doc_string 
)

These methods add an option parameter and with a customer type to the InputParameters object.

The custom type will be output in YAML dumps and can be used within the GUI application.

Definition at line 1967 of file InputParameters.h.

Referenced by ArrayParsedAux::validParams(), ParsedAux::validParams(), ParsedODEKernel::validParams(), ParsedPostprocessor::validParams(), ParsedReporterBase::validParams(), ParsedVectorAux::validParams(), ParsedFunctorMaterialTempl< is_ad >::validParams(), ParsedChainControl::validParams(), ParsedConvergence::validParams(), ParsedDownSelectionPositions::validParams(), MooseParsedFunction::validParams(), and Terminator::validParams().

1970 {
1971  addRequiredParam<T>(name, doc_string);
1972  _params[name]._custom_type = custom_type;
1973 }
std::string name(const ElemQuality q)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRequiredParam() [1/6]

template<typename T >
void InputParameters::addRequiredParam ( const std::string &  name,
const std::string &  doc_string 
)

This method adds a parameter and documentation string to the InputParameters object that will be extracted from the input file.

If the parameter is missing in the input file, an error will be thrown

Definition at line 1805 of file InputParameters.h.

Referenced by MFEMExecutedObject::addRequiredDependencyParam(), ADFluxFromGradientMaterial::validParams(), MFEMComplexVariable::validParams(), FVOneVarDiffusionInterface::validParams(), FVDiffusionInterface::validParams(), ArrayPenaltyDirichletBC::validParams(), FVAdvection::validParams(), FVMatAdvection::validParams(), AnalyticalIndicator::validParams(), EqualValueBoundaryConstraint::validParams(), ArrayDiffusion::validParams(), PenaltyDirichletNodalKernel::validParams(), ArrayReaction::validParams(), ExtraElementIDAux::validParams(), IndicatorMarker::validParams(), UniformMarker::validParams(), PerfGraphData::validParams(), ValueRangeMarker::validParams(), VariableResidual::validParams(), GenericConstantArray::validParams(), VectorPostprocessorComponent::validParams(), VectorPostprocessorReductionValue::validParams(), DGConvection::validParams(), FileMesh::validParams(), ConstantDT::validParams(), TiledMesh::validParams(), TestSourceStepper::validParams(), BoundaryDeletionGenerator::validParams(), ConstantVectorPostprocessor::validParams(), ElementOrderConversionGenerator::validParams(), PointValueSampler::validParams(), ActivateElementsCoupled::validParams(), ThresholdElementSubdomainModifier::validParams(), ExtraIDIntegralReporter::validParams(), GenericConstantVectorMaterialTempl< is_ad >::validParams(), KokkosIntegralMaterialProperty< KokkosSideIntegralPostprocessor >::validParams(), PeriodicFunction::validParams(), FVPostprocessorDirichletBC::validParams(), LineValueSampler::validParams(), GapValueAux::validParams(), FunctionScalarIC::validParams(), UniqueExtraIDMeshGenerator::validParams(), ArrayFunctionIC::validParams(), ActivateElementsUserObjectBase::validParams(), NodalPatchRecoveryAuxBase::validParams(), ArrayBodyForce::validParams(), PenetrationAux::validParams(), ElementExtremeMaterialPropertyTempl< is_ad >::validParams(), ElementL2Error::validParams(), TimeExtremeValue::validParams(), BoxMarker::validParams(), MooseObjectAction::validParams(), ElementQualityChecker::validParams(), CSVReaderVectorPostprocessor::validParams(), CoarsenBlockGenerator::validParams(), LineFunctionSampler::validParams(), DebugResidualAux::validParams(), ElementGenerator::validParams(), ExtraNodesetGenerator::validParams(), FileMeshGenerator::validParams(), AdvectiveFluxAux::validParams(), FlipSidesetGenerator::validParams(), LowerDBlockFromSidesetGenerator::validParams(), MoveNodeGenerator::validParams(), NodeSetsFromSideSetsGenerator::validParams(), NodeSetsGeneratorBase::validParams(), FunctorNeumannBC::validParams(), OverlayMeshGenerator::validParams(), ParsedSubdomainMeshGenerator::validParams(), PlaneIDMeshGenerator::validParams(), FunctorDirichletBC::validParams(), RefineBlockGenerator::validParams(), RefineSidesetGenerator::validParams(), RenameBlockGenerator::validParams(), RenameBoundaryGenerator::validParams(), RenumberBySubdomainGenerator::validParams(), RinglebMeshGenerator::validParams(), SideSetsFromNodeSetsGenerator::validParams(), FVCoupledForce::validParams(), SideSetsFromNormalsGenerator::validParams(), FunctionIC::validParams(), SubdomainIDGenerator::validParams(), SubdomainPerElementGenerator::validParams(), SymmetryTransformGenerator::validParams(), TiledMeshGenerator::validParams(), BoundsBase::validParams(), ScalarComponentIC::validParams(), GetPostprocessorChainControl::validParams(), LimitChainControl::validParams(), PIDChainControl::validParams(), ProjectedMaterialPropertyNodalPatchRecoveryAux::validParams(), RealToBoolChainControl::validParams(), ScaleOldChainControl::validParams(), ADArrayReaction::validParams(), UnitTripChainControl::validParams(), FunctorKernel::validParams(), TerminateChainControl::validParams(), MultiPostprocessorConvergence::validParams(), DiscreteVariableResidualNorm::validParams(), ElementExtremeFunctorValueTempl< is_ad >::validParams(), BoundaryMarker::validParams(), ElementMaxLevelPostProcessor::validParams(), FunctionElementIntegral::validParams(), ComboMarker::validParams(), NodalL2Error::validParams(), PostprocessorSteadyStateConvergence::validParams(), ScalarVariable::validParams(), ScalePostprocessor::validParams(), PostprocessorConvergence::validParams(), ParsedVectorRealReductionReporter::validParams(), ParsedVectorReporter::validParams(), ParsedVectorVectorRealReductionReporter::validParams(), ConstantScalarAux::validParams(), ExplicitSSPRungeKutta::validParams(), ArrayDGDiffusion::validParams(), AnnularMesh::validParams(), FunctionArrayAux::validParams(), FunctionDiracSource::validParams(), FunctorDiracKernel::validParams(), GeneratedMesh::validParams(), RinglebMesh::validParams(), ExtraElementIntegerDivision::validParams(), NestedDivision::validParams(), ElemSideNeighborLayersGeomTester::validParams(), ElemSideNeighborLayersTester::validParams(), JSONFileReader::validParams(), BlockToMeshConverterGenerator::validParams(), NodalPatchRecoveryBase::validParams(), BoundaryLayerSubdomainGenerator::validParams(), BreakBoundaryOnSubdomainGenerator::validParams(), ElementsAlongLine::validParams(), ElementsAlongPlane::validParams(), IntersectionPointsAlongLine::validParams(), SplineFunction::validParams(), ConcentricCircleMeshGenerator::validParams(), PositionsFunctorValueSampler::validParams(), SpatialAverageBase::validParams(), MultiAppCloneReporterTransfer::validParams(), MultiAppConservativeTransfer::validParams(), AverageVariableChange::validParams(), ElementsToTetrahedronsConverter::validParams(), ReporterPositions::validParams(), FillBetweenCurvesGenerator::validParams(), FillBetweenPointVectorsGenerator::validParams(), FillBetweenSidesetsGenerator::validParams(), ImageSubdomainGenerator::validParams(), GeneratedMeshGenerator::validParams(), MeshRepairGenerator::validParams(), PostprocessorDT::validParams(), MeshDiagnosticsGenerator::validParams(), InterfaceValueUserObjectAux::validParams(), ParsedSubdomainGeneratorBase::validParams(), ReporterTimes::validParams(), SideSetExtruderGenerator::validParams(), SideSetsFromPointsGenerator::validParams(), SmoothMeshGenerator::validParams(), StitchBoundaryMeshGenerator::validParams(), StitchMeshGenerator::validParams(), SubdomainsFromPartitionerGenerator::validParams(), DiffusionFluxAux::validParams(), ConstantBounds::validParams(), FunctorIC::validParams(), SpatialUserObjectVectorPostprocessor::validParams(), XYTriangleBoundaryLayerGenerator::validParams(), IntegralPreservingFunctionIC::validParams(), DivergenceAuxTempl< is_ad >::validParams(), InterfaceReaction::validParams(), PenaltyInterfaceDiffusionTempl< T, is_ad >::validParams(), SmootherChainControl::validParams(), ArrayReactionNodalKernelTempl< is_ad >::validParams(), SetValueChainControlTempl< T >::validParams(), DiffusionFV::validParams(), FilePositions::validParams(), MaterialDerivativeRankFourTestKernel::validParams(), InputPositions::validParams(), MultiAppPositions::validParams(), EqualGradientConstraint::validParams(), MaterialDerivativeRankTwoTestKernel::validParams(), TransformedPositions::validParams(), TagVectorArrayVariableValueAux::validParams(), ChangeOverFixedPointPostprocessor::validParams(), ChangeOverTimePostprocessor::validParams(), ChainControlDataPostprocessor::validParams(), TagVectorAux::validParams(), ElementL2FunctorErrorTempl< is_ad >::validParams(), PIDTransientControl::validParams(), BoundaryPreservedMarker::validParams(), NearestNodeNumber::validParams(), ElementLengthAux::validParams(), ElementNormalAux::validParams(), VectorPostprocessorVisualizationAux::validParams(), PseudoTimestep::validParams(), ReporterPointMarker::validParams(), VectorVariableComponentAux::validParams(), AddActionComponentAction::validParams(), CylindricalAverage::validParams(), BreakMeshByBlockGenerator::validParams(), ADDGAdvection::validParams(), GenericConstant2DArrayTempl< is_ad >::validParams(), AccumulateReporter::validParams(), ElementExtremeMaterialPropertyReporterTempl< is_ad >::validParams(), GenericConstantRealVectorValueTempl< is_ad >::validParams(), FunctorAux::validParams(), ControllableInputTimes::validParams(), CSVFileTimes::validParams(), ExodusFileTimes::validParams(), InputTimes::validParams(), Times::validParams(), RankTwoTensorFromComponentProperties::validParams(), ConstantPointSource::validParams(), ExodusTimeSequenceStepper::validParams(), VectorFromComponentVariablesMaterialTempl< is_ad >::validParams(), ConcentricCircleMesh::validParams(), TimeSequenceStepper::validParams(), MultiAppPostprocessorToAuxScalarTransfer::validParams(), MultiAppReporterTransfer::validParams(), MultiAppScalarToAuxScalarTransfer::validParams(), FunctorBinnedValuesDivision::validParams(), Distribution::validParams(), MessageFromInput::validParams(), NearestNodeNumberUO::validParams(), AnnularMeshGenerator::validParams(), BoundaryElementConversionGenerator::validParams(), CombinedVectorPostprocessor::validParams(), LinearCombinationFunction::validParams(), PiecewiseConstantFromCSV::validParams(), CartesianMeshGenerator::validParams(), BicubicSplineFunction::validParams(), LeastSquaresFit::validParams(), AdvancedExtruderGenerator::validParams(), ArrayDirichletBC::validParams(), VariableValueVolumeHistogram::validParams(), FunctorChangeFunctorMaterialTempl< is_ad >::validParams(), CutMeshByPlaneGenerator::validParams(), DeleteElementsNearMeshGenerator::validParams(), DirichletBC::validParams(), ParsedFunctorMaterialTempl< is_ad >::validParams(), VectorMagnitudeFunctorMaterialTempl< is_ad >::validParams(), ElementsToSimplicesConverter::validParams(), MeshExtruderGenerator::validParams(), FunctionGradientNeumannBC::validParams(), FVConstantScalarOutflowBC::validParams(), FunctionScalarAux::validParams(), FVDirichletBC::validParams(), FVFunctionDirichletBC::validParams(), FunctionNeumannBC::validParams(), MeshCollectionGenerator::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), FunctorVectorElementalAuxTempl< is_ad >::validParams(), SolutionTimeAdaptiveDT::validParams(), DistributedPositions::validParams(), GenericConstantRankTwoTensorTempl< is_ad >::validParams(), ParsedExtraElementIDGenerator::validParams(), ParsedGenerateNodeset::validParams(), PolyLineMeshFollowingNodeSetGenerator::validParams(), ProjectSideSetOntoLevelSetGenerator::validParams(), FVAnisotropicDiffusion::validParams(), PostprocessorDirichletBC::validParams(), FunctorTimes::validParams(), CombinerGenerator::validParams(), LayeredSideDiffusiveFluxAverage::validParams(), SideSetsFromBoundingBoxGenerator::validParams(), VectorCurlPenaltyDirichletBC::validParams(), VectorDirichletBC::validParams(), StackGenerator::validParams(), ArrayConstantIC::validParams(), VectorDivPenaltyDirichletBC::validParams(), NodalNormalsCorner::validParams(), SurfaceMeshGeneratorBase::validParams(), VectorPenaltyDirichletBC::validParams(), NearestNodeDistanceAux::validParams(), TransformGenerator::validParams(), XYZDelaunayGenerator::validParams(), MeshDivisionAux::validParams(), FunctionAux::validParams(), GetFunctionValueChainControl::validParams(), MFEMComplexScalarProjectionAux::validParams(), MFEMComplexVectorProjectionAux::validParams(), MFEMScalarProjectionAux::validParams(), MFEMVectorProjectionAux::validParams(), InternalSideIndicatorBase::validParams(), MFEMPointValueSampler::validParams(), ElementAdaptivityLevelAux::validParams(), CylindricalGridDivision::validParams(), NEML2PostKernel::validParams(), MultiAppVariableValueSampleTransfer::validParams(), SpatialUserObjectAux::validParams(), FunctorPositions::validParams(), DifferencePostprocessor::validParams(), TagVectorArrayVariableAux::validParams(), BoolFunctionControl::validParams(), ElementHCurlSemiError::validParams(), ConditionalFunctionEnableControl::validParams(), ElementL1Error::validParams(), VectorFunctionAux::validParams(), TimesEnableControl::validParams(), QuadraturePointMarker::validParams(), NumMeshDivisions::validParams(), ElementQualityAux::validParams(), BreakMeshByElementGenerator::validParams(), NumPositions::validParams(), CoupledGradientMaterialTempl< is_ad >::validParams(), PercentChangePostprocessor::validParams(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::validParams(), MaterialDerivativeTestAction::validParams(), GenericFunctionRankTwoTensorTempl< is_ad >::validParams(), StitchMeshGeneratorBase::validParams(), ArrayVariableValueVolumeHistogram::validParams(), TimeSequenceFromTimes::validParams(), ADArrayDirichletBC::validParams(), VectorConstantPointSource::validParams(), ADDirichletBC::validParams(), ADFunctionNeumannBC::validParams(), InterfaceQpMaterialPropertyBaseUserObject< Real >::validParams(), ElementHDivSemiError::validParams(), OrientedSubdomainBoundingBoxGenerator::validParams(), MeshDivisionFunctorReductionVectorPostprocessor::validParams(), AnisotropicDiffusion::validParams(), FunctorCoordinatesFunctionAux::validParams(), ParsedNodeTransformGenerator::validParams(), GenericVectorFunctorMaterialTempl< is_ad >::validParams(), FVFunctorNeumannBC::validParams(), Positions::validParams(), MaterialPropertyValueTempl< is_ad >::validParams(), FunctionDirichletBC::validParams(), CoarsenedPiecewiseLinear::validParams(), ParsedCurveGenerator::validParams(), FunctionElementIntegralUserObject::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), MatNeumannBCTempl< is_ad >::validParams(), CutMeshByLevelSetGenerator::validParams(), OneDEqualValueConstraintBC::validParams(), GenericConstantStdVectorMaterialTempl< is_ad >::validParams(), ConstantDamper::validParams(), FVOrthogonalDiffusion::validParams(), XYDelaunayGenerator::validParams(), ConstantRate::validParams(), LeastSquaresFitHistory::validParams(), MFEMAuxKernel::validParams(), MFEMComplexAuxKernel::validParams(), NearestNodeValueAux::validParams(), MFEMGenericFESpace::validParams(), MFEMRefinementMarker::validParams(), MFEMMultiAppTransfer::validParams(), MultiAppVariableValueSamplePostprocessorTransfer::validParams(), MFEMLineValueSampler::validParams(), MFEMVariable::validParams(), CoupledValueFunctionMaterialTempl< is_ad >::validParams(), MultiAppVectorPostprocessorTransfer::validParams(), PiecewiseLinearFromVectorPostprocessor::validParams(), CumulativeValuePostprocessor::validParams(), MultiAppPostprocessorInterpolationTransfer::validParams(), NearestPositionsDivision::validParams(), ElementIntegralMaterialPropertyTempl< is_ad >::validParams(), LinearFVAdvection::validParams(), GreaterThanLessThanPostprocessor::validParams(), PointValue::validParams(), VectorOfPostprocessors::validParams(), CircularBoundaryCorrectionGenerator::validParams(), ExtraIDIntegralVectorPostprocessor::validParams(), MultiAppPostprocessorTransfer::validParams(), BlockWeightedPartitioner::validParams(), MultiAppGeneralFieldUserObjectTransfer::validParams(), CutMeshByLevelSetGeneratorBase::validParams(), ElementDeletionGeneratorBase::validParams(), FVFunctionNeumannBC::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), InterpolatedStatefulMaterialTempl< T >::validParams(), TorchScriptMaterial::validParams(), MaterialRankFourTensorAuxTempl< is_ad >::validParams(), GhostingFromUOAux::validParams(), ElementUOAux::validParams(), UserForcingFunctorNodalKernel::validParams(), SidesetAroundSubdomainUpdater::validParams(), SideIntegralFunctorUserObject::validParams(), MatReactionTempl< false >::validParams(), MaterialDerivativeTestKernelBase< Real >::validParams(), LinearNodalConstraint::validParams(), XYMeshLineCutter::validParams(), ADPiecewiseLinearInterpolationMaterial::validParams(), BatchMeshGeneratorAction::validParams(), LinearFVAnisotropicDiffusion::validParams(), FunctionValuePostprocessor::validParams(), ElementIntegralFunctorPostprocessorTempl< is_ad >::validParams(), Boundary2DDelaunayGenerator::validParams(), ReporterPointSource::validParams(), ElementH1SemiError::validParams(), MatBodyForceTempl< is_ad, Parent >::validParams(), SolutionScalarAux::validParams(), ElementL2ErrorFunctionAux::validParams(), ManifoldSubdomainGenerator::validParams(), UserForcingFunctionNodalKernel::validParams(), ParsedGenerateSideset::validParams(), FVDivergence::validParams(), BoundaryLinearFVFluxIntegral::validParams(), BoundingBoxIC::validParams(), ElementIntegralFunctorUserObject::validParams(), SurfaceSubdomainsDelaunayRemesher::validParams(), TransfiniteMeshGenerator::validParams(), MFEMGenericFunctorMaterial::validParams(), MFEMGenericFunctorVectorMaterial::validParams(), MFEMVectorBoundaryFluxIntegralPostprocessor::validParams(), MFEMScalarTimeAverageAux::validParams(), FunctorExtremaPositions::validParams(), MFEMIndicator::validParams(), LibtorchControlValuePostprocessor::validParams(), SideFVFluxBCIntegral::validParams(), ScalarConstantIC::validParams(), AuxNodalScalarKernel::validParams(), SolutionAux::validParams(), PlaneDeletionGenerator::validParams(), ElementalVariableValue::validParams(), TorchScriptUserObject::validParams(), CSVTimeSequenceStepper::validParams(), MultiAppCopyTransfer::validParams(), FVOrthogonalBoundaryDiffusion::validParams(), MaterialRankTwoTensorAuxTempl< T, is_ad >::validParams(), GenericConstantMaterialTempl< is_ad >::validParams(), LibtorchArtificialNeuralNetParameters::validParams(), MFEMCutTransitionSubMesh::validParams(), GhostPrimaryFace::validParams(), ContainsPointAux::validParams(), MaterialAuxBaseTempl< RealTensorValue, is_ad >::validParams(), TagVectorSum::validParams(), StitchedMesh::validParams(), OrientedBoxMarker::validParams(), SideIntegralFunctorPostprocessorTempl< false >::validParams(), MFEMInnerProductAux::validParams(), ScalarL2Error::validParams(), ADDGDiffusion::validParams(), FVConstantIC::validParams(), ParsedDownSelectionPositions::validParams(), HistogramVectorPostprocessor::validParams(), EqualValueEmbeddedConstraintTempl< is_ad >::validParams(), MFEMCrossProductAux::validParams(), DGDiffusion::validParams(), LinearFVAdvectionDiffusionFunctorNeumannBC::validParams(), LinearFVAdvectionDiffusionFunctorDirichletBC::validParams(), LibmeshPartitioner::validParams(), RealFunctionControl::validParams(), LinearCombinationPostprocessor::validParams(), MultiAppGeneralFieldFunctorTransfer::validParams(), LibtorchNeuralNetControl::validParams(), ParsedElementDeletionGenerator::validParams(), SubdomainBoundingBoxGenerator::validParams(), RBBMappingConverter::validParams(), SideSetsGeneratorBase::validParams(), NodalVariableValue::validParams(), PatternedMeshGenerator::validParams(), PNGOutput::validParams(), FVDiffusion::validParams(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::validParams(), DistributedRectilinearMeshGenerator::validParams(), FVFunctionIC::validParams(), EigenExecutionerBase::validParams(), SideAdvectiveFluxIntegralTempl< is_ad >::validParams(), ADFunctionPenaltyDirichletBC::validParams(), NodalNormalsPreprocessor::validParams(), ProxyRelationshipManager::validParams(), RelationshipManager::validParams(), VectorConstantIC::validParams(), Axisymmetric2D3DSolutionFunction::validParams(), CompositeTensorBase< T, U >::validParams(), FunctionPenaltyDirichletBC::validParams(), NodalDamper::validParams(), PropertyReadFile::validParams(), FVBoundedValueConstraint::validParams(), BoundingBoxNodeSetGenerator::validParams(), CylinderComponent::validParams(), ComponentJunction::validParams(), MultiAppUserObjectTransfer::validParams(), DGFunctionDiffusionDirichletBC::validParams(), Predictor::validParams(), CompileTimeDerivativesMaterial< N, is_ad, MaxD >::validParams(), ComparisonPostprocessor::validParams(), SumPostprocessor::validParams(), PatternedMesh::validParams(), MeshGeneratorComponent::validParams(), FVPointValueConstraint::validParams(), AB2PredictorCorrector::validParams(), ElementIndicator::validParams(), PostprocessorComparison::validParams(), NodeElemConstraintBase::validParams(), ConstantIC::validParams(), SolutionUserObjectBase::validParams(), ScalarSolutionIC::validParams(), VectorPostprocessorComparison::validParams(), BoundaryRestrictableRequired::validParams(), RelativeDifferencePostprocessor::validParams(), ElementW1pError::validParams(), AverageValueConstraint::validParams(), IterationAdaptiveDT::validParams(), PhysicsBasedPreconditioner::validParams(), RadialAverage::validParams(), PostprocessorSpatialUserObject::validParams(), ScalarLMKernelTempl< is_ad >::validParams(), ElementDamper::validParams(), NEML2Kernel::validParams(), InternalSideIndicatorTempl< ComputeValueType >::validParams(), VariableCondensationPreconditioner::validParams(), PenaltyDirichletBC::validParams(), ADPenaltyDirichletBC::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryTempl< T, is_ad >::validParams(), LayeredBase::validParams(), SolutionIC::validParams(), SamplerBase::validParams(), MortarConsumerInterface::validParams(), NEML2FEInterpolation::validParams(), GhostBoundary::validParams(), AuxScalarKernel::validParams(), LineMaterialSamplerBase< Real >::validParams(), OrientedBoxInterface::validParams(), FVInitialConditionBase::validParams(), PiecewiseFunction::validParams(), FieldSplitPreconditionerTempl< MoosePreconditioner >::validParams(), InitialConditionBase::validParams(), AuxKernelBase::validParams(), LinearFVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), FVBoundaryCondition::validParams(), and MultiApp::validParams().

1806 {
1807  checkParamName(name);
1808  checkConsistentType<T>(name);
1809 
1810  InputParameters::insert<T>(name);
1811  auto & metadata = _params[name];
1812  metadata._required = true;
1813  if constexpr (isFunctorNameType<T>())
1814  metadata._doc_string = appendFunctorDescription<T>(doc_string);
1815  else
1816  metadata._doc_string = doc_string;
1817 }
std::string name(const ElemQuality q)
std::string appendFunctorDescription(const std::string &doc_string) const
Appends description of what a functor is to a doc string.
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRequiredParam() [2/6]

template<typename T >
void InputParameters::addRequiredParam ( const std::string &  name,
const T &  moose_enum,
const std::string &  doc_string 
)

This version of addRequiredParam is here for a consistent use with MooseEnums.

Use of this function for any other type will throw an error.

Definition at line 1821 of file InputParameters.h.

1824 {
1825  mooseError("You cannot call addRequiredParam and supply a default value for this type, please "
1826  "use addParam instead");
1827 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ addRequiredParam() [3/6]

template<>
void InputParameters::addRequiredParam ( const std::string &  name,
const MooseEnum moose_enum,
const std::string &  doc_string 
)

Definition at line 1328 of file InputParameters.C.

1331 {
1332  InputParameters::set<MooseEnum>(name) = moose_enum; // valid parameter is set by set_attributes
1333  auto & metadata = _params[name];
1334  metadata._required = true;
1335  metadata._doc_string = doc_string;
1336 }
std::string name(const ElemQuality q)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRequiredParam() [4/6]

template<>
void InputParameters::addRequiredParam ( const std::string &  name,
const MultiMooseEnum moose_enum,
const std::string &  doc_string 
)

Definition at line 1340 of file InputParameters.C.

1343 {
1344  InputParameters::set<MultiMooseEnum>(name) =
1345  moose_enum; // valid parameter is set by set_attributes
1346  auto & metadata = _params[name];
1347  metadata._required = true;
1348  metadata._doc_string = doc_string;
1349 }
std::string name(const ElemQuality q)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ addRequiredParam() [5/6]

template<>
void InputParameters::addRequiredParam ( const std::string &  name,
const MooseEnum moose_enum,
const std::string &  doc_string 
)

◆ addRequiredParam() [6/6]

template<>
void InputParameters::addRequiredParam ( const std::string &  name,
const MultiMooseEnum moose_enum,
const std::string &  doc_string 
)

◆ addRequiredRangeCheckedParam()

template<typename T >
void InputParameters::addRequiredRangeCheckedParam ( const std::string &  name,
const std::string &  parsed_function,
const std::string &  doc_string 
)

◆ allowCopy()

void InputParameters::allowCopy ( bool  status)
inlineprivate

Toggle the availability of the copy constructor.

When MooseObject is created via the Factory this flag is set to false, so when a MooseObject is created if the constructor is not a const reference an error is produced. This method allows the InputParameterWarehouse to disable copying.

Definition at line 1484 of file InputParameters.h.

Referenced by ActionWarehouse::printInputFile().

1484 { _allow_copy = status; }
bool _allow_copy
A flag for toggling the error message in the copy constructor.
MPI_Status status

◆ appendFunctorDescription()

template<typename T >
std::string InputParameters::appendFunctorDescription ( const std::string &  doc_string) const
private

Appends description of what a functor is to a doc string.

Definition at line 2600 of file InputParameters.h.

2601 {
2602  auto numeric_value_type = []()
2603  {
2605  Moose::internal::getNullptrExample<T>()))
2606  return "number";
2607  else if constexpr (Moose::internal::isVectorFunctorNameTypeHelper(
2608  Moose::internal::getNullptrExample<T>()))
2609  return "numeric vector value (enclosed in curly braces)";
2610  else
2611  {
2612  mooseAssert(false, "We control instantiations of this method");
2613  return "";
2614  }
2615  };
2616 
2617  return MooseUtils::trim(doc_string, ". ") + ". A functor is any of the following: a variable, " +
2618  (
2619 #ifdef MOOSE_MFEM_ENABLED
2620  Moose::internal::isMFEMFunctorNameTypeHelper(Moose::internal::getNullptrExample<T>())
2621  ? "an MFEM"
2622  :
2623 #endif
2624  "a functor") +
2625  " material property, a function, a postprocessor or a " + numeric_value_type() + ".";
2626 }
constexpr bool isMFEMFunctorNameTypeHelper(T *)
constexpr bool isVectorFunctorNameTypeHelper(std::vector< T, A > *)
std::string trim(const std::string &str, const std::string &white_space=" \\\)
Standard scripting language trim function.
constexpr bool isScalarFunctorNameTypeHelper(T *)
constexpr T * getNullptrExample()
if(!dmm->_nl) SETERRQ(PETSC_COMM_WORLD
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...

◆ applyCommonUserSetParameters()

void InputParameters::applyCommonUserSetParameters ( const InputParameters common,
const std::vector< std::string > &  exclude = {},
const bool  allow_private = false 
)

Variant of applyParameters that only applies parameters explicitly set by the user in common (i.e.

isParamSetByUser() is true). Object-type defaults are therefore never overridden by common-block defaults, only by values the user actually wrote.

Definition at line 1149 of file InputParameters.C.

Referenced by FEProblemBase::addOutput().

1152 {
1153  for (const auto & it : common)
1154  {
1155  const std::string & common_name = it.first;
1156  if (std::find(exclude.begin(), exclude.end(), common_name) != exclude.end())
1157  continue;
1158  if (!common.isParamSetByUser(common_name))
1159  continue;
1160  applyParameter(common, common_name, allow_private);
1161  }
1162 
1163  for (const auto & var_name : common._coupled_vars)
1164  {
1165  if (std::find(exclude.begin(), exclude.end(), var_name) != exclude.end())
1166  continue;
1167  if (!common.isParamSetByUser(var_name))
1168  continue;
1169  applyCoupledVar(common, var_name);
1170  }
1171 }
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
Definition: KokkosUtils.h:40
void applyCoupledVar(const InputParameters &common, const std::string &var_name)
Apply properties of a single coupled variable in common, to a single coupled variable stored in this ...
void applyParameter(const InputParameters &common, const std::string &common_name, bool allow_private=false)
Apply values from a single parameter in common, to a single parameter stored in this object...

◆ applyCoupledVar()

void InputParameters::applyCoupledVar ( const InputParameters common,
const std::string &  var_name 
)

Apply properties of a single coupled variable in common, to a single coupled variable stored in this object.

Parameters
commonThe set of InputParameters from which to extract the coupled variable's properties
var_nameThe name of the coupled variable whose properties are to be applied

In order to apply the properties, both the local parameters and the common parameters must have a coupled variable with name var_name

Definition at line 1208 of file InputParameters.C.

Referenced by applyCommonUserSetParameters(), applyParameters(), and applySpecificParameters().

1209 {
1210  // Disable the display of deprecated message when applying common parameters, this avoids a dump
1211  // of messages
1212  _show_deprecated_message = false;
1213 
1214  // If the local parameters has a coupled variable, populate it with the value from the common
1215  // parameters, if the common parameters has the coupled variable too
1216  if (hasCoupledVar(var_name))
1217  {
1218  if (common.hasDefaultCoupledValue(var_name))
1219  {
1220  // prepare a vector of default coupled values
1221  std::vector<Real> defaults(common.numberDefaultCoupledValues(var_name));
1222  for (unsigned int j = 0; j < common.numberDefaultCoupledValues(var_name); ++j)
1223  defaults[j] = common.defaultCoupledValue(var_name, j);
1224  addCoupledVar(var_name, defaults, common.getDocString(var_name));
1225  }
1226  else if (common.hasCoupledVar(var_name))
1227  addCoupledVar(var_name, common.getDocString(var_name));
1228  }
1229 
1230  // Enable deprecated message printing
1231  _show_deprecated_message = true;
1232 }
unsigned int numberDefaultCoupledValues(const std::string &coupling_name) const
Get the number of defaulted coupled value entries.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
std::string getDocString(const std::string &name) const
Returns the documentation string for the specified parameter name.
bool hasDefaultCoupledValue(const std::string &coupling_name) const
Return whether or not the requested parameter has a default coupled value.
Real defaultCoupledValue(const std::string &coupling_name, unsigned int i=0) const
Get the default value for an optionally coupled variable.
void addCoupledVar(const std::string &name, const std::string &doc_string)
This method adds a coupled variable name pair.
bool hasCoupledVar(const std::string &coupling_name) const
Return whether or not the coupled variable exists.

◆ applyParameter()

void InputParameters::applyParameter ( const InputParameters common,
const std::string &  common_name,
bool  allow_private = false 
)

Apply values from a single parameter in common, to a single parameter stored in this object.

Parameters
commonThe set of InputParameters from which to extract parameters from
common_nameThe name within common from which to get the parameter values

In order to apply common parameter 4 statements must be satisfied (1) A local parameter must exist with the same name as common parameter (2) Common parameter must valid (3) Local parameter must be invalid OR not have been set from its default (4) Both cannot be private

Definition at line 1235 of file InputParameters.C.

Referenced by ComposeTimeStepperAction::act(), applyCommonUserSetParameters(), applyParameters(), and applySpecificParameters().

1238 {
1239  // Disable the display of deprecated message when applying common parameters, this avoids a dump
1240  // of messages
1241  _show_deprecated_message = false;
1242 
1243  const auto local_name = checkForRename(common_name);
1244 
1245  // Extract the properties from the local parameter for the current common parameter name
1246  const bool local_exist = _values.find(local_name) != _values.end();
1247  const bool local_set = _params.count(local_name) > 0 && !_params[local_name]._set_by_add_param;
1248  const bool local_priv = allow_private ? false : isPrivate(local_name);
1249  const bool local_valid = isParamValid(local_name);
1250 
1251  // Extract the properties from the common parameter
1252  const bool common_exist = common._values.find(common_name) != common._values.end();
1253  const bool common_priv = allow_private ? false : common.isPrivate(common_name);
1254  const bool common_valid = common.isParamValid(common_name);
1255 
1256  /* In order to apply a common parameter 4 statements must be satisfied
1257  * (1) A local parameter must exist with the same name as the common parameter
1258  * (2) Common parameter must be valid and exist
1259  * (3) Local parameter must be invalid OR not have been set from its default
1260  * (4) Both cannot be private
1261  */
1262  if (local_exist && common_exist && common_valid && (!local_valid || !local_set) &&
1263  (!common_priv || !local_priv))
1264  {
1265  remove(local_name);
1266  _values[local_name] = common._values.find(common_name)->second->clone();
1267  set_attributes(local_name, false);
1268  _params[local_name]._set_by_add_param =
1269  libmesh_map_find(common._params, common_name)._set_by_add_param;
1270  // Keep track of where this param came from if we can. This will enable us to
1271  // produce param errors from objects created within an action that link to
1272  // the parameter in the action
1273  at(local_name)._hit_node = common.getHitNode(common_name);
1274  }
1275  else if (!local_exist && !common_exist)
1276  mooseError("InputParameters::applyParameter(): Attempted to apply invalid parameter \"",
1277  common_name,
1278  "\"");
1279 
1280  // Enable deprecated message printing
1281  _show_deprecated_message = true;
1282 }
const hit::Node * getHitNode(const std::string &param) const
const hit::Node * _hit_node
Original location of parameter node; used for error messages.
bool isPrivate(const std::string &name) const
Returns a Boolean indicating whether the specified parameter is private or not.
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.
virtual void set_attributes(const std::string &name, bool inserted_only) override
Override from libMesh to set user-defined attributes on our parameter.
Metadata & at(const std::string &param_name)
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ applyParameters()

void InputParameters::applyParameters ( const InputParameters common,
const std::vector< std::string > &  exclude = {},
const bool  allow_private = false 
)

Method for applying common parameters.

Parameters
commonThe set of parameters to apply to the parameters stored in this object
excludeA vector of parameters to exclude

In order to apply common parameter 4 statements must be satisfied (1) A local parameter must exist with the same name as common parameter (2) Common parameter must be valid (3) Local parameter must be invalid OR not have been set from its default (4) Both cannot be private (unless allow_private = true)

Output objects have a set of common parameters that are passed down to each of the output objects created. This method is used for applying those common parameters.

See also
CommonOutputAction AddOutputAction

Definition at line 1117 of file InputParameters.C.

Referenced by AddActionComponentAction::act(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), SampledOutput::cloneMesh(), DumpObjectsProblem::DumpObjectsProblem(), and ProjectedStatefulMaterialStorageAction::processProperty().

1120 {
1121  // If we're applying all of the things, also associate the top level hit node
1122  if (exclude.empty() && !getHitNode() && common.getHitNode())
1123  setHitNode(*common.getHitNode(), {});
1124 
1125  // Loop through the common parameters
1126  for (const auto & it : common)
1127  {
1128  // Common parameter name
1129  const std::string & common_name = it.first;
1130  // Continue to next parameter, if the current is in list of excluded parameters
1131  if (std::find(exclude.begin(), exclude.end(), common_name) != exclude.end())
1132  continue;
1133 
1134  applyParameter(common, common_name, allow_private);
1135  }
1136 
1137  // Loop through the coupled variables
1138  for (const auto & var_name : common._coupled_vars)
1139  {
1140  // Continue to next variable, if the current is in list of excluded parameters
1141  if (std::find(exclude.begin(), exclude.end(), var_name) != exclude.end())
1142  continue;
1143 
1144  applyCoupledVar(common, var_name);
1145  }
1146 }
const hit::Node * getHitNode(const std::string &param) const
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
Definition: KokkosUtils.h:40
void applyCoupledVar(const InputParameters &common, const std::string &var_name)
Apply properties of a single coupled variable in common, to a single coupled variable stored in this ...
void applyParameter(const InputParameters &common, const std::string &common_name, bool allow_private=false)
Apply values from a single parameter in common, to a single parameter stored in this object...
void setHitNode(const std::string &param, const hit::Node &node, const SetParamHitNodeKey)
Sets the hit node associated with the parameter param to node.
const hit::Node * getHitNode() const

◆ applySpecificParameters()

void InputParameters::applySpecificParameters ( const InputParameters common,
const std::vector< std::string > &  include,
bool  allow_private = false 
)

Method for applying common parameters.

Parameters
commonThe set of parameters to apply to the parameters stored in this object
includeA vector of parameters to apply

In order to apply common parameter 4 statements must be satisfied (1) A local parameter must exist with the same name as common parameter (2) Common parameter must valid (3) Local parameter must be invalid OR not have been set from its default (4) Both cannot be private

Output objects have a set of common parameters that are passed down to each of the output objects created. This method is used for applying those common parameters.

See also
CommonOutputAction AddOutputAction

Definition at line 1174 of file InputParameters.C.

Referenced by AddVariableAction::init(), OverlayMeshGenerator::OverlayMeshGenerator(), and ProjectedStatefulMaterialStorageAction::processProperty().

1177 {
1178  // Loop through the common parameters
1179  for (const auto & it : common)
1180  {
1181  // Common parameter name
1182  const std::string & common_name = it.first;
1183 
1184  // Continue to next parameter, if the current is not in list of included parameters
1185  if (std::find(include.begin(), include.end(), common_name) == include.end())
1186  continue;
1187 
1188  applyParameter(common, common_name, allow_private);
1189  }
1190 
1191  // Loop through the coupled variables
1192  for (std::set<std::string>::const_iterator it = common.coupledVarsBegin();
1193  it != common.coupledVarsEnd();
1194  ++it)
1195  {
1196  // Variable name
1197  const std::string var_name = *it;
1198 
1199  // Continue to next variable, if the current is not in list of included parameters
1200  if (std::find(include.begin(), include.end(), var_name) == include.end())
1201  continue;
1202 
1203  applyCoupledVar(common, var_name);
1204  }
1205 }
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
Definition: KokkosUtils.h:40
void applyCoupledVar(const InputParameters &common, const std::string &var_name)
Apply properties of a single coupled variable in common, to a single coupled variable stored in this ...
void applyParameter(const InputParameters &common, const std::string &common_name, bool allow_private=false)
Apply values from a single parameter in common, to a single parameter stored in this object...

◆ areAllRequiredParamsValid()

bool InputParameters::areAllRequiredParamsValid ( ) const

This method returns true if all of the parameters in this object are valid (i.e.

isParamValid(name) == true - for all parameters)

Definition at line 440 of file InputParameters.C.

Referenced by ActionWarehouse::buildBuildableActions().

441 {
442  for (const auto & it : *this)
443  if (isParamRequired(it.first) && !isParamValid(it.first))
444  return false;
445  return true;
446 }
bool isParamRequired(const std::string &name) const
Returns a boolean indicating whether the specified parameter is required or not.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ at() [1/2]

Metadata& InputParameters::at ( const std::string &  param_name)
inlineprivate

Definition at line 1460 of file InputParameters.h.

Referenced by addCommandLineParamHelper(), applyParameter(), commandLineParamSet(), finalize(), getCommandLineMetadata(), getControllableExecuteOnTypes(), getHitNode(), isCommandLineParameter(), queryCommandLineMetadata(), queryDataFileNamePath(), setGlobalCommandLineParam(), and setHitNode().

1461  {
1462  const auto param = checkForRename(param_name);
1463  if (_params.count(param) == 0)
1464  mooseError("param '", param, "' not present in InputParams");
1465  return _params[param];
1466  }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ at() [2/2]

const Metadata& InputParameters::at ( const std::string &  param_name) const
inlineprivate

Definition at line 1467 of file InputParameters.h.

1468  {
1469  const auto param = checkForRename(param_name);
1470  if (_params.count(param) == 0)
1471  mooseError("param '", param, "' not present in InputParams");
1472  return _params.at(param);
1473  }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ blockFullpath()

std::string InputParameters::blockFullpath ( ) const
Returns
A string representing the full HIT parameter path from the input file (e.g. "Mesh/foo") for the block containing parameters for this object.

Definition at line 1619 of file InputParameters.C.

Referenced by AddFVICAction::act(), AddICAction::act(), AddAuxKernelAction::act(), AddMFEMComplexKernelComponentAction::act(), AddMFEMComplexBCComponentAction::act(), AddActionComponentAction::AddActionComponentAction(), checkParams(), MooseObjectAction::MooseObjectAction(), FVRelationshipManagerInterface::parameterError(), and NEML2Action::printSummary().

1620 {
1621  if (const auto hit_node = getHitNode())
1622  return hit_node->fullpath();
1623  return "";
1624 }
const hit::Node * getHitNode() const

◆ blockLocation()

std::string InputParameters::blockLocation ( ) const
Returns
A string representing the location (i.e. filename,linenum) in the input text for the block containing parameters for this object.

Definition at line 1611 of file InputParameters.C.

1612 {
1613  if (const auto hit_node = getHitNode())
1614  return hit_node->fileLocation(/* with_column = */ false);
1615  return "";
1616 }
const hit::Node * getHitNode() const

◆ callMooseError()

void InputParameters::callMooseError ( std::string  msg,
const bool  with_prefix = true,
const hit::Node *  node = nullptr,
const bool  show_trace = true 
) const
private

Internal helper for calling back to mooseError(), ideally from the underlying MooseBase object if it is available (for more context)

Definition at line 1940 of file InputParameters.C.

Referenced by mooseError(), and paramError().

1944 {
1945  // Find the context of the app if we can. This will let our errors be
1946  // prefixed by the multiapp name (if applicable) and will flush the
1947  // console before outputting an error
1948  MooseApp * app = nullptr;
1949  if (isMooseBaseObject() && have_parameter<MooseApp *>(MooseBase::app_param))
1950  app = get<MooseApp *>(MooseBase::app_param);
1951 
1952  MooseBase::callMooseError(app, *this, msg, with_prefix, node, show_trace);
1953 }
static const std::string app_param
The name of the parameter that contains the MooseApp.
Definition: MooseBase.h:59
Base class for MOOSE-based applications.
Definition: MooseApp.h:109
bool isMooseBaseObject() const
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
External method for calling moose error with added object context.
Definition: MooseBase.C:105

◆ checkConsistentType()

template<typename T >
void InputParameters::checkConsistentType ( const std::string &  name) const

This method checks to make sure that we aren't adding a parameter with the same name but a different type.

It throws a MooseError if an inconsistent type is detected. While this state is supported by libMesh it brings nothing but blood and tears for those who try ;)

Parameters
namethe name of the parameter

Definition at line 2099 of file InputParameters.h.

2100 {
2101  const auto name = checkForRename(name_in);
2102 
2103  // If we don't currently have the Parameter, can't be any inconsistency
2104  InputParameters::const_iterator it = _values.find(name);
2105  if (it == _values.end())
2106  return;
2107 
2108  // Now, if we already have the Parameter, but it doesn't have the
2109  // right type, throw an error.
2110  if (!this->Parameters::have_parameter<T>(name))
2111  mooseError("Attempting to set parameter \"",
2112  name,
2113  "\" with type (",
2114  libMesh::demangle(typeid(T).name()),
2115  ")\nbut the parameter already exists as type (",
2116  it->second->type(),
2117  ")");
2118 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string demangle(const char *name)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
map_type::const_iterator const_iterator

◆ checkForRename()

std::string InputParameters::checkForRename ( const std::string &  name) const

Checks whether the provided name is a renamed parameter name.

If so we return the 'new' name. If not we return the incoming name

Parameters
nameThe name to check for whether it is a renamed name
Returns
The new name if the incoming name is a renamed name, else name

Definition at line 1837 of file InputParameters.C.

Referenced by applyParameter(), at(), checkConsistentType(), checkParams(), ScalarCoupleable::checkVar(), Coupleable::checkVar(), commandLineParamSet(), Coupleable::coupledComponents(), ScalarCoupleable::coupledScalarComponents(), declareControllable(), defaultCoupledValue(), get(), getCheckedPointerParam(), getCommandLineMetadata(), getControllableExecuteOnTypes(), getCoupledVar(), getDescription(), getDocString(), getDocUnit(), getGroupName(), getMooseType(), getParamHelper(), ScalarCoupleable::getScalarVar(), Coupleable::getVarHelper(), getVecMooseType(), hasDefault(), have_parameter(), ignoreParameter(), isCommandLineParameter(), isControllable(), Coupleable::isCoupled(), ScalarCoupleable::isCoupledScalar(), isParamDefined(), isParamDeprecated(), isParamRequired(), isParamSetByAddParam(), isParamSetByUser(), isParamValid(), isPrivate(), isRangeChecked(), isType(), makeParamNotRequired(), makeParamRequired(), queryCommandLineMetadata(), queryDataFileNamePath(), queryDeprecatedParamMessage(), rangeCheckedFunction(), reservedValues(), set(), set_attributes(), setCoupledVar(), setDocString(), setDocUnit(), setGlobalCommandLineParam(), setReservedValues(), shouldIgnore(), suppressParameter(), transferParam(), and type().

1838 {
1839  if (auto it = _old_to_new_name_and_dep.find(name); it != _old_to_new_name_and_dep.end())
1840  return it->second.first;
1841  else
1842  return name;
1843 }
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ checkParamName()

void InputParameters::checkParamName ( const std::string &  name) const
private

Make sure the parameter name doesn't have any invalid characters.

Definition at line 1658 of file InputParameters.C.

Referenced by addParam(), addPrivateParam(), addRequiredParam(), and set().

1659 {
1660  const static pcrecpp::RE valid("[\\w:/]+");
1661  if (!valid.FullMatch(name))
1662  mooseError("Invalid parameter name: '", name, "'");
1663 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::vector< ElemQuality > valid(const ElemType t)

◆ checkParams()

void InputParameters::checkParams ( const std::string &  parsing_syntax)

This function checks parameters stored in the object to make sure they are in the correct state as the user expects: Required parameters are verified as valid meaning that they were either initialized when they were created, or were read from an input file or some other valid source.

Definition at line 589 of file InputParameters.C.

Referenced by FEProblemBase::addFVInitialCondition(), FEProblemBase::addInitialCondition(), and finalize().

590 {
591  const std::string parampath = blockFullpath() != "" ? blockFullpath() : parsing_syntax;
592 
593  // Required parameters
594  std::vector<std::string> required_param_errors;
595  for (const auto & it : *this)
596  {
597  const auto param_name = checkForRename(it.first);
598  if (!isParamValid(param_name) && isParamRequired(param_name))
599  {
600  // check if an old, deprecated name exists for this parameter that may be specified
601  auto oit = _new_to_deprecated_coupled_vars.find(param_name);
602  if (oit != _new_to_deprecated_coupled_vars.end() && isParamValid(oit->second))
603  continue;
604 
605  required_param_errors.push_back("missing required parameter '" + parampath + "/" +
606  param_name + "'\n\tDoc String: \"" +
607  getDocString(param_name) + "\"");
608  }
609  }
610 
611  if (required_param_errors.size())
612  mooseError(MooseUtils::stringJoin(required_param_errors, "\n"));
613 
614  // Range checked parameters
615  for (const auto & [name, param_ptr] : *this)
616  {
617  if (const auto error = parameterRangeCheck(*param_ptr, parampath + "/" + name, name, false))
618  {
619  if (error->first)
620  paramError(name, error->second);
621  else
622  mooseError("For range checked parameter '" + name + "': " + error->second);
623  }
624  }
625 
626  // Controllable parameters
627  for (const auto & param_name : getControllableParameters())
628  {
629  if (isPrivate(param_name))
630  paramError(param_name,
631  "private parameter '" + paramFullpath(param_name) + "' marked controllable");
632 
633  std::optional<std::string> error;
634  checkMooseType(NonlinearVariableName, param_name);
635  checkMooseType(AuxVariableName, param_name);
636  checkMooseType(VariableName, param_name);
637  checkMooseType(BoundaryName, param_name);
638  checkMooseType(SubdomainName, param_name);
639  checkMooseType(PostprocessorName, param_name);
640  checkMooseType(VectorPostprocessorName, param_name);
641  checkMooseType(UserObjectName, param_name);
642  checkMooseType(MaterialPropertyName, param_name);
643  if (error)
644  paramError(param_name, *error);
645  }
646 }
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
bool isPrivate(const std::string &name) const
Returns a Boolean indicating whether the specified parameter is private or not.
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available...
std::string getDocString(const std::string &name) const
Returns the documentation string for the specified parameter name.
std::optional< std::pair< bool, std::string > > parameterRangeCheck(const Parameters::Value &value, const std::string &long_name, const std::string &short_name, const bool include_param_path)
Performs a range check on the parameter (which must have a range check)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::string blockFullpath() const
bool isParamRequired(const std::string &name) const
Returns a boolean indicating whether the specified parameter is required or not.
std::set< std::string > getControllableParameters() const
Return list of controllable parameters.
std::string stringJoin(const std::vector< std::string > &values, const std::string &separator=" ")
Concatenates value into a single string separated by separator.
std::string paramFullpath(const std::string &param) const
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ clear()

void InputParameters::clear ( )
overridevirtual

Reimplemented from libMesh::Parameters.

Definition at line 64 of file InputParameters.C.

65 {
67  _params.clear();
68  _coupled_vars.clear();
70  _collapse_nesting = false;
73  _allow_copy = true;
75  _new_to_old_names.clear();
76  _hit_node = nullptr;
77  _finalized = false;
78 }
std::multimap< std::string, std::string > _new_to_old_names
A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names...
bool _allow_copy
A flag for toggling the error message in the copy constructor.
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.
sideset clear()
std::set< std::string > _coupled_vars
The coupled variables set.
bool _finalized
Whether or not we&#39;ve called finalize() on these parameters yet.
const hit::Node * _hit_node
The hit node representing the syntax that created these parameters, if any.
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ clearRelationshipManagers()

void InputParameters::clearRelationshipManagers ( )
inline

Clears all currently registered RelationshipManagers.

Definition at line 788 of file InputParameters.h.

Referenced by ElemSideNeighborLayersGeomTester::validParams().

788 { _buildable_rm_types.clear(); }
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
The RelationshipManagers that this object may either build or require.

◆ collapseSyntaxNesting() [1/2]

void InputParameters::collapseSyntaxNesting ( bool  collapse)

Mutators for controlling whether or not the outermost level of syntax will be collapsed when printed.

Definition at line 560 of file InputParameters.C.

Referenced by Moose::Builder::buildFullTree(), and Moose::Builder::buildJsonSyntaxTree().

561 {
562  _collapse_nesting = collapse;
563 }
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.

◆ collapseSyntaxNesting() [2/2]

bool InputParameters::collapseSyntaxNesting ( ) const

Definition at line 566 of file InputParameters.C.

567 {
568  return _collapse_nesting;
569 }
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.

◆ commandLineParamSet()

void InputParameters::commandLineParamSet ( const std::string &  name,
const CommandLineParamSetKey   
)

Marks the command line parameter name as set by the CommandLine.

Protected by the CommandLineParamSetKey so that only the CommandLine can call this.

Definition at line 1096 of file InputParameters.C.

1097 {
1098  auto & cl_data = at(checkForRename(name))._cl_data;
1099  if (!cl_data)
1100  mooseError("InputParameters::commandLineParamSet: The parameter '",
1101  name,
1102  "' is not a command line parameter");
1103  cl_data->set_by_command_line = true;
1104 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
Metadata & at(const std::string &param_name)

◆ coupledVarsBegin()

std::set<std::string>::const_iterator InputParameters::coupledVarsBegin ( ) const
inline

Methods returning iterators to the coupled variables names stored in this InputParameters object.

Definition at line 882 of file InputParameters.h.

Referenced by Coupleable::Coupleable(), LazyCoupleable::LazyCoupleable(), and ScalarCoupleable::ScalarCoupleable().

883  {
884  return _coupled_vars.begin();
885  }
std::set< std::string > _coupled_vars
The coupled variables set.

◆ coupledVarsEnd()

std::set<std::string>::const_iterator InputParameters::coupledVarsEnd ( ) const
inline

Definition at line 886 of file InputParameters.h.

Referenced by Coupleable::Coupleable(), LazyCoupleable::LazyCoupleable(), and ScalarCoupleable::ScalarCoupleable().

887  {
888  return _coupled_vars.end();
889  }
std::set< std::string > _coupled_vars
The coupled variables set.

◆ declareControllable()

void InputParameters::declareControllable ( const std::string &  name,
std::set< ExecFlagType execute_flags = {} 
)

Declare the given parameters as controllable.

Definition at line 456 of file InputParameters.C.

Referenced by GenericConstantArray::validParams(), PenaltyDirichletNodalKernel::validParams(), GenericConstantVectorMaterialTempl< is_ad >::validParams(), ConstantScalarAux::validParams(), ConstantFunction::validParams(), ConstantPostprocessor::validParams(), ConstantAux::validParams(), ControllableInputTimes::validParams(), ReactionTempl< is_ad >::validParams(), GenericConstant2DArrayTempl< is_ad >::validParams(), ConstantPointSource::validParams(), ArrayDirichletBC::validParams(), VectorConstantPointSource::validParams(), DirichletBC::validParams(), ADArrayDirichletBC::validParams(), NeumannBCTempl< is_ad >::validParams(), VectorDirichletBC::validParams(), ADDirichletBC::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), ConstantRate::validParams(), PiecewiseTabularBase::validParams(), FunctionValuePostprocessor::validParams(), FVBodyForce::validParams(), VectorBodyForce::validParams(), TorchScriptUserObject::validParams(), TimeStepper::validParams(), GenericConstantMaterialTempl< is_ad >::validParams(), BodyForceTempl< is_ad >::validParams(), Damper::validParams(), InterfaceKernelBase::validParams(), DiracKernelBase::validParams(), IterationAdaptiveDT::validParams(), PenaltyDirichletBC::validParams(), ADPenaltyDirichletBC::validParams(), AuxScalarKernel::validParams(), UserObjectBase::validParams(), Output::validParams(), AuxKernelBase::validParams(), LinearFVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), FVBoundaryCondition::validParams(), MultiApp::validParams(), and FEProblemBase::validParams().

458 {
459  std::vector<std::string> names;
460  MooseUtils::tokenize<std::string>(input_names, names, 1, " ");
461  for (auto & name_in : names)
462  {
463  const auto name = checkForRename(name_in);
464  auto map_iter = _params.find(name);
465  if (map_iter != _params.end()) // error is handled by checkParams method
466  {
467  map_iter->second._controllable = true;
468  map_iter->second._controllable_flags = execute_flags;
469  }
470  else
471  mooseError("The input parameter '",
472  name,
473  "' does not exist, thus cannot be marked as controllable.");
474  }
475 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.
ExecFlagEnum execute_flags
Storage for the registered execute flags.

◆ defaultCoupledValue() [1/2]

Real InputParameters::defaultCoupledValue ( const std::string &  coupling_name,
unsigned int  i = 0 
) const

Get the default value for an optionally coupled variable.

Parameters
coupling_nameThe name of the coupling parameter to get the default value for.
iBy default 0, in general the index of the requested coupled default value.

Definition at line 876 of file InputParameters.C.

Referenced by applyCoupledVar(), ScalarCoupleable::getADDefaultValue(), Coupleable::getADDefaultValue(), Coupleable::getADDefaultVectorValue(), Coupleable::getDefaultArrayValue(), ScalarCoupleable::getDefaultValue(), Coupleable::getDefaultValue(), Coupleable::getDefaultVectorValue(), setupVariableNames(), and transferParam().

877 {
878  auto value_it = _params.find(coupling_name);
879 
880  if (value_it == _params.end() || !value_it->second._have_coupled_default)
881  mooseError("Attempted to retrieve default value for coupled variable '",
882  coupling_name,
883  "' when none was provided. \n\nThere are three reasons why this may have "
884  "occurred:\n 1. The other version of params.addCoupledVar() should be used in order "
885  "to provide a default value. \n 2. This should have been a required coupled "
886  "variable added with params.addRequiredCoupledVar() \n 3. The call to get the "
887  "coupled value should have been properly guarded with isCoupled()\n");
888 
889  return value_it->second._coupled_default.at(i);
890 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ defaultCoupledValue() [2/2]

void InputParameters::defaultCoupledValue ( const std::string &  coupling_name,
Real  value,
unsigned int  i = 0 
)

Set the default value for an optionally coupled variable (called by the Parser).

Parameters
coupling_nameThe name of the coupling parameter to get the default value for.
valueDefault value to set.
iBy default 0, in general the index of the requested coupled default value.

Definition at line 867 of file InputParameters.C.

868 {
869  const auto actual_name = checkForRename(coupling_name);
870  _params[actual_name]._coupled_default.resize(i + 1);
871  _params[actual_name]._coupled_default[i] = value;
872  _params[actual_name]._have_coupled_default = true;
873 }
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ deprecateCoupledVar()

void InputParameters::deprecateCoupledVar ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  removal_date 
)

Definition at line 1829 of file InputParameters.C.

Referenced by CoupledGradientMaterialTempl< is_ad >::validParams(), and ConservativeAdvectionTempl< is_ad >::validParams().

1832 {
1833  renameCoupledVarInternal(old_name, new_name, "", removal_date);
1834 }
void renameCoupledVarInternal(const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)

◆ deprecateParam()

void InputParameters::deprecateParam ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  removal_date 
)

Definition at line 1821 of file InputParameters.C.

Referenced by CoupledGradientMaterialTempl< is_ad >::validParams(), and ConservativeAdvectionTempl< is_ad >::validParams().

1824 {
1825  renameParamInternal(old_name, new_name, "", removal_date);
1826 }
void renameParamInternal(const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)

◆ finalize()

void InputParameters::finalize ( const std::string &  parsing_syntax)

Finalizes the parameters, which must be done before constructing any objects with these parameters (to be called in the corresponding factories).

typed parameters.

This calls checkParams() and sets up the absolute paths for all file name.

Definition at line 674 of file InputParameters.C.

Referenced by Factory::initialize().

675 {
676  mooseAssert(!isFinalized(), "Already finalized");
677 
678  checkParams(parsing_syntax);
679 
680  // Set parameters that represent file types
681  for (const auto & name_value : *this)
682  {
683  const auto & param_name = name_value.first;
684  const auto & param_value = name_value.second;
685 
686  // Helper for setting a file typed parameter value
687  const auto set_filename = [&](auto & value)
688  {
689  constexpr bool is_data_file_name =
690  std::is_same_v<std::decay_t<decltype(value)>, DataFileName>;
691 
692  // We have behavior (which is gross) that requires that for
693  // everything but DataFileName, if the value is empty we
694  // don't bother looking for it
695  if constexpr (!is_data_file_name)
696  {
697  if (value.empty())
698  return;
699  }
700 
701  // Setup options for searching for the path
703  // Associate relative path searches with the folder
704  // that input file that has this parameter is located
705  options.base = getFileBase(param_name);
706  // If we don't explicitly have a DataFileName parameter,
707  // we only want to augment cases where a data name is
708  // explicitly set (like moose:file). We don't want to
709  // search all other data. To presere previous behavior,
710  // we also don't want to error if nothing is found; for
711  // example if a relative or absolute path is not found.
712  // The only time we'll error is if the data name is
713  // explicitly set and the path doesn't exist in the data
714  // or if that data name isn't registered.
715  if constexpr (!is_data_file_name)
716  {
717  options.search_all_data = false;
718  options.graceful = true;
719  }
720 
722  try
723  {
724  Moose::ScopedThrowOnError scoped_throw_on_error;
725  path = Moose::DataFileUtils::getPath(value, options);
726  }
727  catch (std::exception & e)
728  {
729  paramError(param_name, e.what());
730  }
731 
732  value = path.path;
733  at(param_name)._data_file_name_path = path;
734  };
735 
736 #define set_if_filename(type) \
737  else if (auto type_value = dynamic_cast<Parameters::Parameter<type> *>(param_value.get())) \
738  set_filename(type_value->set()); \
739  else if (auto type_values = dynamic_cast<Parameters::Parameter<std::vector<type>> *>( \
740  param_value.get())) for (auto & value : type_values->set()) set_filename(value)
741 
742  if (false)
743  ;
744  set_if_filename(FileName);
745  set_if_filename(FileNameNoExtension);
746  set_if_filename(MeshFileName);
747  set_if_filename(MatrixFileName);
748  set_if_filename(DataFileName);
749 #undef set_if_filename
750  }
751 
752  _finalized = true;
753 }
bool search_all_data
Whether or not to search all registered data.
Definition: DataFileUtils.h:67
std::optional< Moose::DataFileUtils::Path > _data_file_name_path
The searched path information pertaining to a DataFileName parameter.
bool graceful
Whether or not to error whenever a path is not found.
Definition: DataFileUtils.h:72
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available...
Path getPath(std::string path, const GetPathOptions &options={})
Get the data path for a given path, searching the registered data.
Definition: DataFileUtils.C:22
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
void checkParams(const std::string &parsing_syntax)
This function checks parameters stored in the object to make sure they are in the correct state as th...
Options to be passed to getPath().
Definition: DataFileUtils.h:60
Representation of a data file path.
Definition: DataFileUtils.h:40
std::optional< std::string > base
The base path by which to search for relative paths.
Definition: DataFileUtils.h:65
bool isFinalized() const
bool _finalized
Whether or not we&#39;ve called finalize() on these parameters yet.
Scoped helper for setting Moose::_throw_on_error during this scope.
Definition: Moose.h:296
std::filesystem::path getFileBase(const std::optional< std::string > &param_name=std::optional< std::string >()) const
Metadata & at(const std::string &param_name)

◆ get() [1/2]

template<typename R1 , typename R2 , typename V1 , typename V2 >
std::vector< std::pair< R1, R2 > > InputParameters::get ( const std::string &  param1,
const std::string &  param2 
) const

Combine two vector parameters into a single vector of pairs.

Definition at line 2341 of file InputParameters.h.

Referenced by ElementIDOutputAction::act(), AddMaterialAction::act(), SetupMeshAction::act(), SplitMeshAction::act(), MeshOnlyAction::act(), CSGOnlyAction::act(), SetupDebugAction::act(), MaterialOutputAction::act(), FEProblemBase::addAuxScalarKernel(), FEProblemBase::addAuxVariable(), FEProblemBase::addConstraint(), NonlinearSystemBase::addDGKernel(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), MooseEigenSystem::addKernel(), NonlinearSystemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterialHelper(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), FEProblemBase::addMultiApp(), NonlinearSystemBase::addNodalKernel(), FEProblemBase::addNodalKernel(), MooseObjectWarehouseBase< Indicator >::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), FEProblemBase::addScalarKernel(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), MooseServer::addValuesToList(), AuxiliarySystem::addVariable(), AddVariableAction::addVariable(), SystemBase::addVariable(), FEProblemBase::addVariable(), AuxKernelBase::AuxKernelBase(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromJSON(), PiecewiseTabularInterface::buildFromXandY(), PiecewiseTabularInterface::buildFromXY(), Moose::Builder::buildFullTree(), Moose::Builder::buildJsonSyntaxTree(), PostprocessorInterface::checkParam(), Moose::SlepcSupport::clearFreeNonlinearPowerIterations(), MooseBase::connectControllableParams(), Coupleable::coupledMatrixTagValue(), Coupleable::coupledMatrixTagValues(), PostprocessorInterface::coupledPostprocessors(), Coupleable::coupledVectorTagArrayGradient(), Coupleable::coupledVectorTagArrayGradients(), Coupleable::coupledVectorTagArrayValues(), Coupleable::coupledVectorTagDofValues(), Coupleable::coupledVectorTagGradient(), Coupleable::coupledVectorTagGradients(), Coupleable::coupledVectorTagValues(), ActionFactory::create(), AppFactory::create(), AddVariableAction::createInitialConditionAction(), MaterialBase::declareADProperty(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MaterialBase::declareProperty(), Postprocessor::declareValue(), FunctorInterface::deduceFunctorName(), ElementSubdomainModifierBase::extrapolatePolynomial(), AddVariableAction::feType(), FileRangeBuilder::FileRangeBuilder(), GapValueAux::GapValueAux(), ParsedSubdomainGeneratorBase::generate(), MooseServer::getActionParameters(), AppFactory::getAppParamsID(), MooseApp::getCheckpointDirectories(), DistributionInterface::getDistribution(), ElementIDInterface::getElementID(), ElementIDInterface::getElementIDByName(), ElementIDInterface::getElementIDIndex(), ElementIDInterface::getElementIDNeighbor(), ElementIDInterface::getElementIDNeighborByName(), FunctionInterface::getFunction(), MaterialBase::getGenericZeroMaterialProperty(), MooseServer::getHoverDisplayText(), FunctionInterface::getKokkosFunction(), MaterialPropertyInterface::getMaterial(), MaterialPropertyInterface::getMaterialDataType(), MaterialPropertyInterface::getMaterialPropertyName(), MooseServer::getObjectParameters(), MooseBase::getParam(), getParamHelper(), PostprocessorInterface::getPostprocessorNameInternal(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), SamplerInterface::getSampler(), AddVariableAction::getSubdomainIDs(), AuxKernelBase::getVariableHelper(), CommonOutputAction::hasConsole(), MeshGeneratorSystem::hasDataDrivenAllowed(), FunctionInterface::hasFunction(), MeshGenerator::hasGenerateCSG(), MeshGenerator::hasGenerateData(), ImageSampler::ImageSampler(), AddVariableAction::init(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LayeredBase::LayeredBase(), LevelSetMeshingHelper::LevelSetMeshingHelper(), SubProblem::markFamilyPRefinement(), SetupMeshAction::modifyParamsForUseSplit(), MooseVariableInterface< Real >::MooseVariableInterface(), NodeFaceConstraint::NodeFaceConstraint(), OrientedBoxInterface::OrientedBoxInterface(), ConsoleUtils::outputLegacyInformation(), InputParametersChecksUtils< BatchMeshGeneratorAction >::parameterConsistent(), ParsedMaterialBase::ParsedMaterialBase(), PenetrationAux::PenetrationAux(), PiecewiseTabularInterface::PiecewiseTabularInterface(), NEML2Action::printSummary(), ProjectedStatefulMaterialStorageAction::ProjectedStatefulMaterialStorageAction(), InputParameterWarehouse::removeInputParameters(), FEProblemBase::setAuxKernelParamsAndLog(), Moose::SlepcSupport::setEigenProblemSolverParams(), Moose::PetscSupport::setLineSearchFromParams(), Moose::PetscSupport::setMFFDTypeFromParams(), Moose::SlepcSupport::setNewtonPetscOptions(), MooseMesh::setPartitioner(), FEProblemBase::setResidualObjectParamsAndLog(), FVRelationshipManagerInterface::setRMParams(), Moose::SlepcSupport::setSlepcEigenSolverTolerances(), Moose::PetscSupport::setSolveTypeFromParams(), Moose::PeriodicBCHelper::setupAutoPeriodicBoundaries(), CreateExecutionerAction::setupAutoPreconditioning(), ReadExecutorParamsAction::setupAutoPreconditioning(), MeshBaseImageSampler::setupImageSampler(), ImageSampler::setupImageSampler(), NonlinearSystemBase::shouldEvaluatePreSMOResidual(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), Moose::SlepcSupport::storeSolveType(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), transferParam(), MooseBase::uniqueName(), GradientJumpIndicator::validParams(), ElemSideNeighborLayersGeomTester::validParams(), ElemSideNeighborLayersTester::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), FVRelationshipManagerInterface::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), ProjectionAux::validParams(), DistributedRectilinearMeshGenerator::validParams(), NearestRadiusLayeredAverage::validParams(), NodeFaceConstraint::validParams(), MultiAppGeneralFieldTransfer::validParams(), MortarConsumerInterface::validParams(), MortarConstraintBase::validParams(), FVInterfaceKernel::validParams(), MooseVariableFV< Real >::validParams(), Coupleable::vectorTagDofValueHelper(), Coupleable::vectorTagValueHelper(), MeshBaseImageSampler::vtkFlip(), MeshBaseImageSampler::vtkShiftAndScale(), ImageSampler::vtkShiftAndScale(), MeshBaseImageSampler::vtkThreshold(), ImageSampler::vtkThreshold(), and Moose::Builder::walkRaw().

2342 {
2343  const auto param1 = checkForRename(param1_in);
2344  const auto param2 = checkForRename(param2_in);
2345 
2346  const auto & v1 = get<V1>(param1);
2347  const auto & v2 = get<V2>(param2);
2348 
2349  auto controllable = getControllableParameters();
2350  if (controllable.count(param1) || controllable.count(param2))
2351  mooseError("Parameters ",
2352  param1,
2353  " and/or ",
2354  param2 + " are controllable parameters and cannot be retireved using "
2355  "the MooseObject::getParam/InputParameters::get methods for pairs");
2356 
2357  if (v1.size() != v2.size())
2358  paramError(param1,
2359  "Vector parameters ",
2360  param1,
2361  "(size: ",
2362  v1.size(),
2363  ") and " + param2,
2364  "(size: ",
2365  v2.size(),
2366  ") are of different lengths \n");
2367 
2368  std::vector<std::pair<R1, R2>> parameter_pairs;
2369  auto i1 = v1.begin();
2370  auto i2 = v2.begin();
2371  for (; i1 != v1.end() && i2 != v2.end(); ++i1, ++i2)
2372  parameter_pairs.emplace_back(std::make_pair(*i1, *i2));
2373  return parameter_pairs;
2374 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available...
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::set< std::string > getControllableParameters() const
Return list of controllable parameters.

◆ get() [2/2]

template<typename T >
const T & InputParameters::get ( std::string_view  name) const

A wrapper around the Parameters base class method.

Checks for parameter rename before calling the base class method

Parameters
nameThe name to query the parameter values map with
Returns
The parameter value corresponding to the (possibly renamed) name

Definition at line 2391 of file InputParameters.h.

2392 {
2393  const auto name = checkForRename(std::string(name_in));
2394 
2395  return Parameters::get<T>(name);
2396 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getAutoBuildVectors()

std::map< std::string, std::pair< std::string, std::string > > InputParameters::getAutoBuildVectors ( ) const

Returns the auto build vectors for all parameters.

Definition at line 904 of file InputParameters.C.

905 {
906  std::map<std::string, std::pair<std::string, std::string>> abv;
907  for (auto it = _params.begin(); it != _params.end(); ++it)
908  {
909  if (!it->second._autobuild_vecs.first.empty())
910  abv[it->first] = it->second._autobuild_vecs;
911  }
912  return abv;
913 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getBase()

const std::string & InputParameters::getBase ( ) const
Returns
The base system of the object these parameters are for, if any

Set via registerBase().

Definition at line 505 of file InputParameters.C.

Referenced by ActionWarehouse::addActionBlock(), AuxiliarySystem::addKernel(), FEProblemBase::addMaterialHelper(), JsonSyntaxTree::addParameters(), Action::addRelationshipManager(), MFEMProblem::addTransfer(), MooseServer::addValuesToList(), MooseBase::getBase(), MooseServer::getHoverDisplayText(), MooseServer::getObjectParameters(), and MooseBase::messagePrefix().

506 {
507  if (!have_parameter<std::string>(MooseBase::moose_base_param))
508  mooseError("InputParameters::getBase(): Parameters do not have base; one needs to be set with "
509  "registerBase()");
510  return get<std::string>(MooseBase::moose_base_param);
511 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
static const std::string moose_base_param
The name of the parameter that contains the moose system base.
Definition: MooseBase.h:61

◆ getBuildableRelationshipManagerTypes()

const std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > & InputParameters::getBuildableRelationshipManagerTypes ( ) const

Returns the list of buildable (or required) RelationshipManager object types for this object.

Definition at line 554 of file InputParameters.C.

Referenced by Action::addRelationshipManagers().

555 {
556  return _buildable_rm_types;
557 }
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
The RelationshipManagers that this object may either build or require.

◆ getBuildableTypes()

const std::vector< std::string > & InputParameters::getBuildableTypes ( ) const

Returns the list of buildable types as a std::vector<std::string>

Definition at line 546 of file InputParameters.C.

Referenced by Moose::Builder::buildFullTree(), and Moose::Builder::buildJsonSyntaxTree().

547 {
548  return _buildable_types;
549 }
std::vector< std::string > _buildable_types
The parameter is used to restrict types that can be built.

◆ getCheckedPointerParam()

template<typename T >
T InputParameters::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.

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

Definition at line 1789 of file InputParameters.h.

Referenced by Coupleable::Coupleable(), Postprocessor::declareValue(), MooseBase::getCheckedPointerParam(), ElementIDInterface::getElementID(), ElementIDInterface::getElementIDByName(), ElementIDInterface::getElementIDNeighbor(), ElementIDInterface::getElementIDNeighborByName(), AuxKernelBase::getVariableHelper(), MooseVariableInterface< Real >::MooseVariableInterface(), ScalarCoupleable::ScalarCoupleable(), and TaggingInterface::TaggingInterface().

1791 {
1792  const auto name = checkForRename(name_in);
1793 
1794  T param = this->get<T>(name);
1795 
1796  // Note: You will receive a compile error on this line if you attempt to pass a non-pointer
1797  // template type to this method
1798  if (!param)
1799  mooseError("Parameter ", name, " is NULL.\n", error_string);
1800  return this->get<T>(name);
1801 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getClassDescription()

std::string InputParameters::getClassDescription ( ) const

Returns the class description.

Definition at line 129 of file InputParameters.C.

Referenced by JsonSyntaxTree::addParameters(), MooseServer::addValuesToList(), and MooseServer::getHoverDisplayText().

130 {
131  return _class_description;
132 }
std::string _class_description
The class description for the owning object.

◆ getCommandLineMetadata()

const InputParameters::CommandLineMetadata & InputParameters::getCommandLineMetadata ( const std::string &  name) const
Returns
The command line metadata for the parameter name.

Definition at line 1085 of file InputParameters.C.

Referenced by MooseApp::copyInputs(), and MooseApp::showInputs().

1086 {
1087  const auto & cl_data = at(checkForRename(name))._cl_data;
1088  if (!cl_data)
1089  mooseError("InputParameters::getCommandLineMetadata: The parameter '",
1090  name,
1091  "' is not a command line parameter");
1092  return *cl_data;
1093 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
Metadata & at(const std::string &param_name)

◆ getControllableExecuteOnTypes()

const std::set< ExecFlagType > & InputParameters::getControllableExecuteOnTypes ( const std::string &  name) const

Return the allowed execute flags for a controllable parameter.

Definition at line 485 of file InputParameters.C.

486 {
487  const auto name = checkForRename(name_in);
488  return at(name)._controllable_flags;
489 }
std::string name(const ElemQuality q)
std::set< ExecFlagType > _controllable_flags
Controllable execute flag restriction.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
Metadata & at(const std::string &param_name)

◆ getControllableParameters()

std::set< std::string > InputParameters::getControllableParameters ( ) const

Return list of controllable parameters.

Definition at line 1695 of file InputParameters.C.

Referenced by checkParams(), and get().

1696 {
1697  std::set<std::string> controllable;
1698  for (auto it = _params.begin(); it != _params.end(); ++it)
1699  if (it->second._controllable)
1700  controllable.emplace(it->first);
1701  return controllable;
1702 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getCoupledVar()

const std::vector< VariableName > & InputParameters::getCoupledVar ( const std::string &  coupling_name) const

Get a coupled variable parameter.

Parameters
coupling_nameThe name of the coupling parameter to get.

Definition at line 847 of file InputParameters.C.

848 {
849  const auto actual_name = checkForRename(coupling_name);
850 
851  if (!hasCoupledVar(actual_name))
852  mooseError("Unable to get coupled variable parameter '",
853  coupling_name,
854  "' because it was not added with addCoupledVar or addRequiredCoupledVar.");
855 
856  return get<std::vector<VariableName>>(actual_name);
857 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
bool hasCoupledVar(const std::string &coupling_name) const
Return whether or not the coupled variable exists.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getCoupledVariableParamNames()

const std::set<std::string>& InputParameters::getCoupledVariableParamNames ( ) const
inline

Return the coupled variable parameter names.

Definition at line 894 of file InputParameters.h.

Referenced by FunctionMaterialBase< is_ad >::FunctionMaterialBase().

894 { return _coupled_vars; }
std::set< std::string > _coupled_vars
The coupled variables set.

◆ getDescription()

const std::string & InputParameters::getDescription ( const std::string &  name) const

Get the documentation string for a parameter.

Definition at line 1317 of file InputParameters.C.

Referenced by transferParam().

1318 {
1319  const auto name = checkForRename(name_in);
1320  auto it = _params.find(name);
1321  if (it == _params.end())
1322  mooseError("No parameter exists with the name ", name);
1323  return it->second._doc_string;
1324 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getDocString()

std::string InputParameters::getDocString ( const std::string &  name) const

Returns the documentation string for the specified parameter name.

Definition at line 324 of file InputParameters.C.

Referenced by applyCoupledVar(), checkParams(), and MooseServer::getHoverDisplayText().

325 {
326  const auto name = checkForRename(name_in);
327 
328  std::string doc_string;
329  auto it = _params.find(name);
330  if (it != _params.end())
331  for (const auto & ch : it->second._doc_string)
332  {
333  if (ch == '\n')
334  doc_string += " ... ";
335  else
336  doc_string += ch;
337  }
338 
339  return doc_string;
340 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getDocUnit()

std::string InputParameters::getDocUnit ( const std::string &  name) const

Returns the documentation unit string for the specified parameter name.

Definition at line 356 of file InputParameters.C.

Referenced by MooseServer::getHoverDisplayText().

357 {
358  const auto name = checkForRename(name_in);
359  return _params.at(name)._doc_unit;
360 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getFileBase()

std::filesystem::path InputParameters::getFileBase ( const std::optional< std::string > &  param_name = std::optional<std::string>()) const
Returns
A file base to associate with these parameters.

Optionally, an input parameter can be provided via param_name.

If the parameter is provided, we have the following options:

  • The parameter itself has a hit node set (context for that parameter)
  • The InputParameters object has a hit node set (context for all parameters)
  • Neither of the above and we die

In the event that a the parameter is set via command line, this will attempt to look at the parameter's parents to find a suitable context.

Definition at line 756 of file InputParameters.C.

Referenced by finalize().

757 {
758  mooseAssert(!have_parameter<std::string>("_app_name"),
759  "Not currently setup to work with app FileName parameters");
760 
761  const hit::Node * hit_node = nullptr;
762 
763  // Context from the individual parameter
764  if (param_name)
765  hit_node = getHitNode(*param_name);
766  // Context from the parameters
767  if (!hit_node)
768  hit_node = getHitNode();
769  // No hit node, so use the cwd (no input files)
770  if (!hit_node)
771  return std::filesystem::current_path();
772 
773  // Find any context that isn't command line arguments
774  while (hit_node && hit_node->filename() == "CLI_ARGS")
775  hit_node = hit_node->parent();
776 
777  // Failed to find a node up the tree that isn't a command line argument
778  if (!hit_node)
779  {
780  const std::string error = "Input context was set via a command-line argument and does not have "
781  "sufficient context for determining a file path.";
782  if (param_name)
783  paramError(*param_name, error);
784  else
785  mooseError(error);
786  }
787 
788  return std::filesystem::absolute(std::filesystem::path(hit_node->filename()).parent_path());
789 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available...
const hit::Node * getHitNode() const

◆ getGroupName()

std::string InputParameters::getGroupName ( const std::string &  param_name) const

This method retrieves the group name for the passed parameter name if one exists.

Otherwise an empty string is returned.

Definition at line 1107 of file InputParameters.C.

1108 {
1109  const auto param_name = checkForRename(param_name_in);
1110  auto it = _params.find(param_name);
1111  if (it != _params.end())
1112  return it->second._group;
1113  return std::string();
1114 }
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getGroupParameters()

std::set< std::string > InputParameters::getGroupParameters ( const std::string &  group) const

Return names of parameters within a group.

Definition at line 1676 of file InputParameters.C.

1677 {
1678  std::set<std::string> names;
1679  for (auto it = _params.begin(); it != _params.end(); ++it)
1680  if (it->second._group == group)
1681  names.emplace(it->first);
1682  return names;
1683 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getHitNode() [1/2]

const hit::Node * InputParameters::getHitNode ( const std::string &  param) const
Returns
The hit node associated with setting the parameter param, if any

Definition at line 1627 of file InputParameters.C.

Referenced by applyParameter(), applyParameters(), Action::associateWithParameter(), ActionWarehouse::getCurrentActionName(), MooseBase::getHitNode(), and Factory::initialize().

1628 {
1629  return at(param)._hit_node;
1630 }
const hit::Node * _hit_node
Original location of parameter node; used for error messages.
Metadata & at(const std::string &param_name)

◆ getHitNode() [2/2]

const hit::Node* InputParameters::getHitNode ( ) const
inline
Returns
The hit node that represents the syntax responsible for creating these parameters, if any

Definition at line 1335 of file InputParameters.h.

Referenced by applyParameters(), blockFullpath(), blockLocation(), getFileBase(), inputLocation(), paramFullpath(), paramMessageContext(), and rawParamVal().

1335 { return _hit_node; }
const hit::Node * _hit_node
The hit node representing the syntax that created these parameters, if any.

◆ getMooseType()

std::string InputParameters::getMooseType ( const std::string &  name) const

Utility functions for retrieving one of the MooseTypes variables into the common "string" base class.

Scalar and Vector versions are supplied

Definition at line 930 of file InputParameters.C.

Referenced by MooseObjectWarehouseBase< Indicator >::addObject(), BlockRestrictable::initializeBlockRestrictable(), isValid(), and varName().

931 {
932  const auto name = checkForRename(name_in);
933  std::string var;
934 
935  if (have_parameter<VariableName>(name))
936  var = get<VariableName>(name);
937  else if (have_parameter<NonlinearVariableName>(name))
938  var = get<NonlinearVariableName>(name);
939  else if (have_parameter<LinearVariableName>(name))
940  var = get<LinearVariableName>(name);
941  else if (have_parameter<AuxVariableName>(name))
942  var = get<AuxVariableName>(name);
943  else if (have_parameter<PostprocessorName>(name))
944  var = get<PostprocessorName>(name);
945  else if (have_parameter<VectorPostprocessorName>(name))
946  var = get<VectorPostprocessorName>(name);
947  else if (have_parameter<FunctionName>(name))
948  var = get<FunctionName>(name);
949  else if (have_parameter<UserObjectName>(name))
950  var = get<UserObjectName>(name);
951  else if (have_parameter<MaterialPropertyName>(name))
952  var = get<MaterialPropertyName>(name);
953  else if (have_parameter<std::string>(name))
954  var = get<std::string>(name);
955 
956  return var;
957 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getNewToDeprecatedVarMap()

const std::unordered_map<std::string, std::string>& InputParameters::getNewToDeprecatedVarMap ( ) const
inline

Return the new to deprecated variable name map.

Definition at line 899 of file InputParameters.h.

900  {
902  }
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.

◆ getObjectName()

const std::string & InputParameters::getObjectName ( ) const
Returns
The underlying owning object name, for MooseBase objects with parameters

Definition at line 1019 of file InputParameters.C.

Referenced by FEProblemBase::addConstraint(), MooseBase::messagePrefix(), operator=(), OrientedBoxInterface::OrientedBoxInterface(), and OutputInterface::OutputInterface().

1020 {
1021  if (!have_parameter<std::string>(MooseBase::name_param))
1022  ::mooseError("InputParameters::getObjectName(): Missing '", MooseBase::name_param, "' param");
1023  return get<std::string>(MooseBase::name_param);
1024 }
static const std::string name_param
The name of the parameter that contains the object name.
Definition: MooseBase.h:55
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.

◆ getObjectType()

const std::string & InputParameters::getObjectType ( ) const
Returns
The underlying owning object type, for MooseBase objects with parameters

Will error if a type does not exist

Definition at line 1011 of file InputParameters.C.

Referenced by MooseBase::messagePrefix(), and operator=().

1012 {
1013  if (const auto type_ptr = queryObjectType())
1014  return *type_ptr;
1015  ::mooseError("InputParameters::getObjectType(): Missing '", MooseBase::type_param, "' param");
1016 }
static const std::string type_param
The name of the parameter that contains the object type.
Definition: MooseBase.h:53
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
const std::string * queryObjectType() const

◆ getParametersList()

std::set< std::string > InputParameters::getParametersList ( ) const
Returns
list of all parameters

Definition at line 1686 of file InputParameters.C.

Referenced by MooseServer::gatherDocumentCompletionItems(), MooseServer::getFileNameTypeValues(), and MooseServer::getHoverDisplayText().

1687 {
1688  std::set<std::string> param_set;
1689  for (auto it = _params.begin(); it != _params.end(); ++it)
1690  param_set.emplace(it->first);
1691  return param_set;
1692 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ getParamHelper() [1/5]

template<typename T >
const T & InputParameters::getParamHelper ( const std::string &  name,
const InputParameters pars 
)
static

Definition at line 2317 of file InputParameters.h.

2318 {
2319  const auto name = pars.checkForRename(name_in);
2320 
2321  if (!pars.isParamValid(name))
2322  pars.mooseError("The parameter \"", name, "\" is being retrieved before being set.");
2323 
2324  return pars.get<T>(name);
2325 }
std::string name(const ElemQuality q)
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.
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ getParamHelper() [2/5]

template<>
const MooseEnum& InputParameters::getParamHelper ( const std::string &  name_in,
const InputParameters pars 
)

Definition at line 1576 of file InputParameters.C.

1578 {
1579  const auto name = pars.checkForRename(name_in);
1580  return pars.get<MooseEnum>(name);
1581 }
std::string name(const ElemQuality q)
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.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:54
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getParamHelper() [3/5]

template<>
const MultiMooseEnum& InputParameters::getParamHelper ( const std::string &  name_in,
const InputParameters pars 
)

Definition at line 1585 of file InputParameters.C.

1587 {
1588  const auto name = pars.checkForRename(name_in);
1589  return pars.get<MultiMooseEnum>(name);
1590 }
std::string name(const ElemQuality q)
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.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type...

◆ getParamHelper() [4/5]

template<>
const MooseEnum& InputParameters::getParamHelper ( const std::string &  name,
const InputParameters pars 
)

◆ getParamHelper() [5/5]

template<>
const MultiMooseEnum& InputParameters::getParamHelper ( const std::string &  name,
const InputParameters pars 
)

◆ getSystemAttributeName()

const std::string & InputParameters::getSystemAttributeName ( ) const

Get the system attribute name if it was registered.

Otherwise throw an error. See the AttribSystem object for use Attribute.h/C.

Definition at line 521 of file InputParameters.C.

Referenced by MFEMProblem::addPostprocessor(), MFEMProblem::addVectorPostprocessor(), and AttribSystem::initFrom().

522 {
523  mooseAssert(have_parameter<std::string>("_moose_warehouse_system_name"),
524  "SystemAttributeName is not available! Call 'registerSystemAttributeName' (usually "
525  "in the validParams function) before you try accessing it!");
526  return Parameters::get<std::string>("_moose_warehouse_system_name");
527 }

◆ getVecMooseType()

std::vector< std::string > InputParameters::getVecMooseType ( const std::string &  name) const

Definition at line 960 of file InputParameters.C.

Referenced by MooseObjectWarehouseBase< Indicator >::addObject(), Coupleable::Coupleable(), isValid(), ScalarCoupleable::ScalarCoupleable(), and varName().

961 {
962  const auto name = checkForRename(name_in);
963  std::vector<std::string> svars;
964 
965  if (have_parameter<std::vector<VariableName>>(name))
966  {
967  std::vector<VariableName> vars = get<std::vector<VariableName>>(name);
968  std::copy(vars.begin(), vars.end(), std::back_inserter(svars));
969  }
970  else if (have_parameter<std::vector<NonlinearVariableName>>(name))
971  {
972  std::vector<NonlinearVariableName> vars = get<std::vector<NonlinearVariableName>>(name);
973  std::copy(vars.begin(), vars.end(), std::back_inserter(svars));
974  }
975  else if (have_parameter<std::vector<AuxVariableName>>(name))
976  {
977  std::vector<AuxVariableName> vars = get<std::vector<AuxVariableName>>(name);
978  std::copy(vars.begin(), vars.end(), std::back_inserter(svars));
979  }
980  else if (have_parameter<std::vector<MaterialPropertyName>>(name))
981  {
982  std::vector<MaterialPropertyName> vars = get<std::vector<MaterialPropertyName>>(name);
983  std::copy(vars.begin(), vars.end(), std::back_inserter(svars));
984  }
985  else if (have_parameter<std::vector<std::string>>(name))
986  {
987  std::vector<std::string> vars = get<std::vector<std::string>>(name);
988  std::copy(vars.begin(), vars.end(), std::back_inserter(svars));
989  }
990 
991  return svars;
992 }
std::string name(const ElemQuality q)
char ** vars
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ hasBase()

bool InputParameters::hasBase ( ) const
Returns
Whether or not the object has a registered base

The base is registered with registerBase()

Definition at line 499 of file InputParameters.C.

Referenced by ActionWarehouse::addActionBlock(), JsonSyntaxTree::addParameters(), MooseServer::addValuesToList(), MooseServer::getHoverDisplayText(), MooseServer::getObjectParameters(), MooseBase::hasBase(), and MooseBase::messagePrefix().

500 {
501  return have_parameter<std::string>(MooseBase::moose_base_param);
502 }
static const std::string moose_base_param
The name of the parameter that contains the moose system base.
Definition: MooseBase.h:61

◆ hasCoupledValue()

bool InputParameters::hasCoupledValue ( const std::string &  coupling_name) const
inline

Return whether or not the coupled variable exists.

Parameters
coupling_nameThe name of the coupled variable to test for
Returns
True if the variable exists in the coupled variables for this InputParameters object

Definition at line 925 of file InputParameters.h.

926  {
927  mooseDeprecated("InputParameters::hasCoupledValue() is deprecated. Use "
928  "InputParameters::hasCoupledVar() instead.");
929  return hasCoupledVar(coupling_name);
930  }
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:363
bool hasCoupledVar(const std::string &coupling_name) const
Return whether or not the coupled variable exists.

◆ hasCoupledVar()

bool InputParameters::hasCoupledVar ( const std::string &  coupling_name) const

Return whether or not the coupled variable exists.

Parameters
coupling_nameThe name of the coupled variable to test for
Returns
True if the variable exists in the coupled variables for this InputParameters object

Definition at line 821 of file InputParameters.C.

Referenced by applyCoupledVar(), getCoupledVar(), hasCoupledValue(), Coupleable::isCoupled(), ScalarCoupleable::isCoupledScalar(), setCoupledVar(), and transferParam().

822 {
823  return _coupled_vars.find(coupling_name) != _coupled_vars.end();
824 }
std::set< std::string > _coupled_vars
The coupled variables set.

◆ hasDefault()

bool InputParameters::hasDefault ( const std::string &  param_name) const

Return whether a parameter has a default.

Definition at line 806 of file InputParameters.C.

Referenced by transferParam().

807 {
808  const auto name = checkForRename(param_name);
809  if (hasDefaultCoupledValue(name))
810  return true;
811  // If it has a default, it's already valid
812  else if (isParamSetByAddParam(name))
813  return true;
814  else if (isParamValid(name))
815  mooseError("No way to know if the parameter '", param_name, "' has a default");
816  else
817  return false;
818 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
bool isParamSetByAddParam(const std::string &name) const
Returns whether or not the parameter was set due to addParam.
bool hasDefaultCoupledValue(const std::string &coupling_name) const
Return whether or not the requested parameter has a default coupled value.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ hasDefaultCoupledValue()

bool InputParameters::hasDefaultCoupledValue ( const std::string &  coupling_name) const

Return whether or not the requested parameter has a default coupled value.

Parameters
coupling_nameThe name of the coupling parameter to get the default value for.

Definition at line 860 of file InputParameters.C.

Referenced by applyCoupledVar(), Coupleable::coupledComponents(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), hasDefault(), Coupleable::isCoupledConstant(), and transferParam().

861 {
862  return _params.count(coupling_name) > 0 && _params.at(coupling_name)._have_coupled_default &&
863  _coupled_vars.count(coupling_name) > 0;
864 }
std::set< std::string > _coupled_vars
The coupled variables set.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ have_parameter()

template<typename T >
bool InputParameters::have_parameter ( std::string_view  name) const

A wrapper around the Parameters base class method.

Checks for parameter rename before calling the base class method. This method tells whether a parameter with a known type is defined. If the type is unknown, use isParamDefined().

Parameters
nameThe name to query the parameter values map with
Returns
Whether there is a key in the parameter values map corresponding to the (possibly renamed) name

Definition at line 2400 of file InputParameters.h.

Referenced by FEProblemBase::addAuxScalarKernel(), FEProblemBase::addConstraint(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addIndicator(), FEProblemBase::addInterfaceKernel(), MooseEigenSystem::addKernel(), FEProblemBase::addMarker(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), NonlinearSystemBase::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addScalarKernel(), FEProblemBase::addTransfer(), MooseServer::addValuesToList(), MeshGeneratorSystem::appendMeshGenerator(), Moose::Builder::buildFullTree(), Moose::Builder::buildJsonSyntaxTree(), Coupleable::checkVar(), MaterialBase::declareADProperty(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MaterialBase::declareProperty(), FunctorInterface::deduceFunctorName(), MooseServer::getActionParameters(), AppFactory::getAppParamsID(), MooseServer::getCompletionItemKind(), MaterialBase::getGenericZeroMaterialProperty(), MooseServer::getHoverDisplayText(), MaterialPropertyInterface::getMaterialPropertyName(), MooseServer::getObjectParameters(), MaterialOutputAction::getParams(), getVecMooseType(), MooseBase::haveParameter(), AdvancedOutput::initExecutionTypes(), AttribDisplaced::initFrom(), isParamValid(), MooseApp::outputMachineReadableData(), OutputOnWarehouse::OutputOnWarehouse(), InputParametersChecksUtils< BatchMeshGeneratorAction >::parameterConsistent(), FVRelationshipManagerInterface::parameterError(), ParsedMaterialHelper< is_ad >::ParsedMaterialHelper(), NEML2Action::printSummary(), FEProblemBase::setAuxKernelParamsAndLog(), FEProblemBase::setResidualObjectParamsAndLog(), DumpObjectsProblem::stringifyParameters(), transferParam(), MooseBase::uniqueName(), BlockRestrictable::validParams(), and Moose::Builder::walkRaw().

2401 {
2402  const auto name = checkForRename(std::string(name_in));
2403 
2404  return Parameters::have_parameter<T>(name);
2405 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ ignoreParameter()

template<typename T >
void InputParameters::ignoreParameter ( const std::string &  name)

Informs this object that values for this parameter set from the input file or from the command line should be ignored.

Definition at line 2136 of file InputParameters.h.

Referenced by AddElementalFieldAction::validParams().

2137 {
2138  const auto name = checkForRename(name_in);
2139  suppressParameter<T>(name);
2140  _params[name]._ignore = true;
2141 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ inputLocation()

std::string InputParameters::inputLocation ( const std::string &  param) const
Returns
A string representing the location in the input text the parameter originated from (i.e. filename,linenum) for the given param

Definition at line 1642 of file InputParameters.C.

Referenced by paramLocationPrefix().

1643 {
1644  if (const auto hit_node = getHitNode(param))
1645  return hit_node->fileLocation(/* with_column = */ false);
1646  return "";
1647 }
const hit::Node * getHitNode() const

◆ isCommandLineParameter()

bool InputParameters::isCommandLineParameter ( const std::string &  name) const
Returns
Whether or not the parameter name is a command line parameter

Definition at line 1070 of file InputParameters.C.

1071 {
1072  return at(checkForRename(name))._cl_data.has_value();
1073 }
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
Metadata & at(const std::string &param_name)

◆ isControllable()

bool InputParameters::isControllable ( const std::string &  name) const

Returns a Boolean indicating whether the specified parameter is controllable.

Definition at line 478 of file InputParameters.C.

Referenced by transferParam().

479 {
480  const auto name = checkForRename(name_in);
481  return _params.count(name) > 0 && _params.at(name)._controllable;
482 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isFinalized()

bool InputParameters::isFinalized ( ) const
inline
Returns
Whether or not finalize() has been called

Definition at line 1348 of file InputParameters.h.

Referenced by finalize(), and MooseBase::MooseBase().

1348 { return _finalized; }
bool _finalized
Whether or not we&#39;ve called finalize() on these parameters yet.

◆ isFunctorNameType()

template<typename T >
constexpr bool InputParameters::isFunctorNameType ( )
staticprivate

Definition at line 2593 of file InputParameters.h.

2594 {
2595  return Moose::internal::isFunctorNameTypeHelper(Moose::internal::getNullptrExample<T>());
2596 }
constexpr bool isFunctorNameTypeHelper(T *ex)

◆ isKokkosObject()

bool InputParameters::isKokkosObject ( ) const

Returns whether this InputParameters belongs to a Kokkos object Checks whether MooseBase::kokkos_object_param is valid.

Definition at line 433 of file InputParameters.C.

Referenced by AddBCAction::act(), AddKernelAction::act(), AddVectorPostprocessorAction::act(), AddUserObjectAction::act(), AddMaterialAction::act(), AddPostprocessorAction::act(), AddNodalKernelAction::act(), AddReporterAction::act(), AddFunctionAction::act(), FEProblemBase::addMaterialHelper(), and MooseObject::isKokkosObject().

434 {
436 }
static const std::string kokkos_object_param
The name of the parameter that indicates an object is a Kokkos functor.
Definition: MooseBase.h:64
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isMooseBaseObject()

bool InputParameters::isMooseBaseObject ( ) const
Returns
Whether or not these parameters are for a MooseBase object, that is, one with a name and type.

Needed so that we can produce richer errors from within InputParameters that have the context of the underlying object, if possible.

Definition at line 995 of file InputParameters.C.

Referenced by callMooseError(), and MooseBase::messagePrefix().

996 {
997  return have_parameter<std::string>(MooseBase::type_param) &&
998  get<std::string>(MooseBase::type_param).size() &&
999  have_parameter<std::string>(MooseBase::name_param);
1000 }
static const std::string name_param
The name of the parameter that contains the object name.
Definition: MooseBase.h:55
static const std::string type_param
The name of the parameter that contains the object type.
Definition: MooseBase.h:53

◆ isParamDefined()

bool InputParameters::isParamDefined ( const std::string &  name) const

Method returns true if the parameter is defined for any type.

If the type is known, use have_parameter<T>() instead.

Parameters
nameThe parameter name

Definition at line 1310 of file InputParameters.C.

Referenced by MooseMeshUtils::copyIntoMesh().

1311 {
1312  const auto name = checkForRename(name_in);
1313  return _params.count(name) > 0;
1314 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isParamDeprecated()

bool InputParameters::isParamDeprecated ( const std::string &  name) const

Returns True if the parameters is deprecated.

Definition at line 425 of file InputParameters.C.

426 {
427  const auto name = checkForRename(name_in);
428  return _params.count(name) > 0 && !_params.at(name)._deprecation_message.empty();
429 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isParamRequired()

bool InputParameters::isParamRequired ( const std::string &  name) const

Returns a boolean indicating whether the specified parameter is required or not.

Definition at line 370 of file InputParameters.C.

Referenced by areAllRequiredParamsValid(), checkParams(), MooseServer::getCompletionItemKind(), and transferParam().

371 {
372  const auto name = checkForRename(name_in);
373  return _params.count(name) > 0 && _params.at(name)._required;
374 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isParamSetByAddParam()

bool InputParameters::isParamSetByAddParam ( const std::string &  name) const

Returns whether or not the parameter was set due to addParam.

If not then it was either set programmatically or was read through the input file.

Definition at line 418 of file InputParameters.C.

Referenced by MultiApp::createApp(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), hasDefault(), and TransientBase::TransientBase().

419 {
420  const auto name = checkForRename(name_in);
421  return _params.count(name) > 0 && _params.at(name)._set_by_add_param;
422 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isParamSetByUser()

bool InputParameters::isParamSetByUser ( const std::string &  name) const

Method returns true if the parameter was set by the user.

Parameters
nameThe parameter name

Definition at line 1293 of file InputParameters.C.

Referenced by CreateProblemAction::act(), MeshOnlyAction::act(), SetupMeshAction::act(), SplitMeshAction::act(), SystemBase::addVariable(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), PiecewiseTabularInterface::buildFromFile(), Console::Console(), DumpObjectsProblem::deduceNecessaryParameters(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), Executor::Executor(), Exodus::Exodus(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::generate(), AddVariableAction::init(), Console::initialSetup(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MooseBase::isParamSetByUser(), MultiApp::keepSolutionDuringRestore(), LayeredBase::LayeredBase(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MultiApp::MultiApp(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NearestPointBase< LayeredSideDiffusiveFluxAverage, SideIntegralVariableUserObject >::NearestPointBase(), paramSetByUser(), PiecewiseTabularInterface::PiecewiseTabularInterface(), MooseMesh::prepare(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), MooseMesh::setCoordSystem(), TransientBase::setupTimeIntegrator(), Transfer::Transfer(), TransientBase::TransientBase(), VectorBodyForce::VectorBodyForce(), vectorFunctionDim(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

1294 {
1295  const auto name = checkForRename(name_in);
1296  // Invalid; for sure not set by the user
1297  if (!isParamValid(name))
1298  return false;
1299  // Parameter is not located in the list (called Parameters::set)
1300  if (!_params.count(name))
1301  return false;
1302  // Special case for a command line option, which is a private parameter
1303  if (const auto cl_data = queryCommandLineMetadata(name))
1304  return cl_data->set_by_command_line;
1305  // Not a command line option, not set by addParam and not private
1306  return !_params.at(name)._set_by_add_param && !_params.at(name)._is_private;
1307 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< InputParameters::CommandLineMetadata > queryCommandLineMetadata(const std::string &name) const
std::map< std::string, Metadata > _params
The actual parameter data.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isParamValid()

bool InputParameters::isParamValid ( const std::string &  name) const

This method returns parameters that have been initialized in one fashion or another, i.e.

The value was supplied as a default argument or read and properly converted from the input file

Definition at line 386 of file InputParameters.C.

Referenced by ElementIDOutputAction::act(), ReadExecutorParamsAction::act(), CreateExecutionerAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), MeshOnlyAction::act(), MaterialOutputAction::act(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblem::addLineSearch(), MooseObjectWarehouseBase< Indicator >::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addTransfer(), AddVariableAction::addVariable(), SystemBase::addVariable(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), applyParameter(), areAllRequiredParamsValid(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromJSON(), PNGOutput::calculateRescalingValues(), PostprocessorInterface::checkParam(), checkParams(), Moose::PeriodicBCHelper::checkPeriodicParams(), Coupleable::coupledMatrixTagValue(), Coupleable::coupledMatrixTagValues(), Coupleable::coupledVectorTagArrayGradient(), Coupleable::coupledVectorTagArrayGradients(), Coupleable::coupledVectorTagArrayValues(), Coupleable::coupledVectorTagDofValues(), Coupleable::coupledVectorTagGradient(), Coupleable::coupledVectorTagGradients(), Coupleable::coupledVectorTagValues(), FunctorInterface::deduceFunctorName(), ElementMaterialSampler::ElementMaterialSampler(), FileRangeBuilder::FileRangeBuilder(), GapValueAux::GapValueAux(), MooseServer::getCompletionItemKind(), MaterialPropertyInterface::getMaterialDataType(), MaterialPropertyInterface::getMaterialPropertyName(), getParamHelper(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), GhostingUserObject::GhostingUserObject(), hasDefault(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isKokkosObject(), isParamSetByUser(), MooseBase::isParamValid(), isValid(), LayeredBase::LayeredBase(), LayeredIntegralBase< ElementIntegralVariableUserObject >::LayeredIntegralBase(), LevelSetMeshingHelper::LevelSetMeshingHelper(), SubProblem::markFamilyPRefinement(), UserObjectInterface::mooseObjectError(), MultiApp::MultiApp(), NodeFaceConstraint::NodeFaceConstraint(), InputParametersChecksUtils< BatchMeshGeneratorAction >::parameterConsistent(), ParsedReporterBase::ParsedReporterBase(), ParsedScalarReporter::ParsedScalarReporter(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseTabularInterface::PiecewiseTabularInterface(), ReporterInterface::possiblyCheckHasReporter(), PseudoTimestep::PseudoTimestep(), queryParam(), rangeCheck(), ReferenceResidualConvergence::ReferenceResidualConvergence(), Moose::PetscSupport::setLineSearchFromParams(), Moose::PetscSupport::setMFFDTypeFromParams(), MooseMesh::setPartitioner(), Moose::PetscSupport::setSolveTypeFromParams(), SideSetsGeneratorBase::setup(), MeshBaseImageSampler::setupImageSampler(), ImageSampler::setupImageSampler(), SetupMeshAction::setupMesh(), Moose::PeriodicBCHelper::setupPeriodicBoundaries(), Moose::SlepcSupport::storeSolveType(), DumpObjectsProblem::stringifyParameters(), BoundaryRestrictableRequired::validParams(), MultiAppGeneralFieldTransfer::validParams(), BoundaryRestrictable::validParams(), Coupleable::vectorTagDofValueHelper(), Coupleable::vectorTagValueHelper(), MeshBaseImageSampler::vtkMagnitude(), ImageSampler::vtkMagnitude(), MeshBaseImageSampler::vtkThreshold(), and ImageSampler::vtkThreshold().

387 {
388  const auto name = checkForRename(name_in);
389  if (have_parameter<MooseEnum>(name))
390  return get<MooseEnum>(name).isValid();
391  else if (have_parameter<std::vector<MooseEnum>>(name))
392  {
393  for (auto it = get<std::vector<MooseEnum>>(name).begin();
394  it != get<std::vector<MooseEnum>>(name).end();
395  ++it)
396  if (!it->isValid())
397  return false;
398  return true;
399  }
400  else if (have_parameter<MultiMooseEnum>(name))
401  return get<MultiMooseEnum>(name).isValid();
402  else if (have_parameter<std::vector<MultiMooseEnum>>(name))
403  {
404  for (auto it = get<std::vector<MultiMooseEnum>>(name).begin();
405  it != get<std::vector<MultiMooseEnum>>(name).end();
406  ++it)
407  if (!it->isValid())
408  return false;
409  return true;
410  }
411  else if (have_parameter<ExecFlagEnum>(name))
412  return get<ExecFlagEnum>(name).isValid();
413  else
414  return _params.count(name) > 0 && _params.at(name)._valid;
415 }
std::string name(const ElemQuality q)
void isValid(MooseObject *obj)
Definition: TheWarehouse.C:294
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isPrivate()

bool InputParameters::isPrivate ( const std::string &  name) const

Returns a Boolean indicating whether the specified parameter is private or not.

Definition at line 449 of file InputParameters.C.

Referenced by applyParameter(), checkParams(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), DumpObjectsProblem::stringifyParameters(), and transferParam().

450 {
451  const auto name = checkForRename(name_in);
452  return _params.count(name) > 0 && _params.at(name)._is_private;
453 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isRangeChecked()

bool InputParameters::isRangeChecked ( const std::string &  param_name) const

Return whether a parameter has a range check.

Definition at line 792 of file InputParameters.C.

Referenced by MooseServer::getHoverDisplayText(), and transferParam().

793 {
794  const auto name = checkForRename(param_name);
795  return !_params.find(name)->second._range_function.empty();
796 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ isType()

template<typename T >
bool InputParameters::isType ( const std::string &  name) const
Returns
True if the parameter with name name is of type T.

Definition at line 2380 of file InputParameters.h.

Referenced by BatchMeshGeneratorAction::checkInputParameterType(), PostprocessorInterface::checkParam(), PostprocessorInterface::coupledPostprocessors(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), PostprocessorInterface::getPostprocessorNameInternal(), ReporterInterface::getReporterName(), and Reporter::getReporterValueName().

2381 {
2382  const auto name = checkForRename(name_in);
2383 
2384  if (!_params.count(name))
2385  mooseError("Parameter \"", name, "\" is not valid.");
2386  return have_parameter<T>(name);
2387 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ makeParamNotRequired() [1/2]

template<typename T >
void InputParameters::makeParamNotRequired ( const std::string &  name)

Changes the parameter to not be required.

Parameters
nameThe parameter name

Definition at line 2157 of file InputParameters.h.

Referenced by MooseServer::getObjectParameters(), ControllableInputTimes::validParams(), ExtraIDIntegralVectorPostprocessor::validParams(), and MortarConstraintBase::validParams().

2158 {
2159  const auto name = checkForRename(name_in);
2160 
2161  if (!this->have_parameter<T>(name))
2162  mooseError("Unable to un-require nonexistent parameter: ", name);
2163 
2164  _params[name]._required = false;
2165 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ makeParamNotRequired() [2/2]

void InputParameters::makeParamNotRequired ( const std::string &  name)

Forces parameter of given name to be not required regardless of type.

Definition at line 377 of file InputParameters.C.

378 {
379  const auto name = checkForRename(name_in);
380 
381  if (_params.count(name))
382  _params[name]._required = false;
383 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ makeParamRequired()

template<typename T >
void InputParameters::makeParamRequired ( const std::string &  name)

Changes the parameter to be required.

Parameters
nameThe parameter name

Definition at line 2145 of file InputParameters.h.

Referenced by SideSetsBetweenSubdomainsGenerator::validParams(), and SideSetsAroundSubdomainGenerator::validParams().

2146 {
2147  const auto name = checkForRename(name_in);
2148 
2149  if (!this->have_parameter<T>(name))
2150  mooseError("Unable to require nonexistent parameter: ", name);
2151 
2152  _params[name]._required = true;
2153 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ markControlled()

void InputParameters::markControlled ( const std::string &  name)

Marker a parameter that has been changed by the Control system (this is for output purposes)

◆ mooseError()

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

Emits an error prefixed with the object information, if available.

Definition at line 2490 of file InputParameters.h.

Referenced by addCommandLineParamHelper(), addParamNamesToGroup(), addRequiredParam(), applyParameter(), at(), checkConsistentType(), checkParamName(), checkParams(), commandLineParamSet(), declareControllable(), defaultCoupledValue(), get(), getBase(), getCheckedPointerParam(), getCommandLineMetadata(), getCoupledVar(), getDescription(), getFileBase(), getObjectName(), getObjectType(), getParamHelper(), hasDefault(), isType(), makeParamNotRequired(), makeParamRequired(), numberDefaultCoupledValues(), operator=(), renameCoupledVarInternal(), renameParamInternal(), setCoupledVar(), setDeprecatedVarDocString(), setDocString(), setGlobalCommandLineParam(), shouldIgnore(), suppressParameter(), transferParam(), type(), and varName().

2491 {
2492  std::ostringstream oss;
2493  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
2494  callMooseError(oss.str());
2495 }
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:137
void callMooseError(std::string msg, const bool with_prefix=true, const hit::Node *node=nullptr, const bool show_trace=true) const
Internal helper for calling back to mooseError(), ideally from the underlying MooseBase object if it ...

◆ mooseObjectSyntaxVisibility() [1/2]

void InputParameters::mooseObjectSyntaxVisibility ( bool  visibility)

Mutators for controlling whether or not the outermost level of syntax will be collapsed when printed.

Definition at line 572 of file InputParameters.C.

Referenced by Moose::Builder::buildFullTree(), and Moose::Builder::buildJsonSyntaxTree().

573 {
574  _moose_object_syntax_visibility = visibility;
575 }
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.

◆ mooseObjectSyntaxVisibility() [2/2]

bool InputParameters::mooseObjectSyntaxVisibility ( ) const

Definition at line 578 of file InputParameters.C.

579 {
581 }
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.

◆ numberDefaultCoupledValues()

unsigned int InputParameters::numberDefaultCoupledValues ( const std::string &  coupling_name) const

Get the number of defaulted coupled value entries.

Parameters
coupling_nameThe name of the coupling parameter to get the default value for.

Definition at line 893 of file InputParameters.C.

Referenced by applyCoupledVar(), Coupleable::Coupleable(), Coupleable::coupledComponents(), Coupleable::getADDefaultVectorValue(), Coupleable::getDefaultArrayValue(), Coupleable::getDefaultValue(), and transferParam().

894 {
895  auto value_it = _params.find(coupling_name);
896  if (value_it == _params.end())
897  mooseError("Attempted to retrieve default value for coupled variable '",
898  coupling_name,
899  "' when none was provided.");
900  return value_it->second._coupled_default.size();
901 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ operator+=()

InputParameters & InputParameters::operator+= ( const InputParameters rhs)

Definition at line 180 of file InputParameters.C.

181 {
182  Parameters::operator+=(rhs);
183 
184  // TODO: this is not a proper merge - if a particular parameter exists in both this and rhs,
185  // then we should actually smartly merge both metadata structs before storing in this.
186  for (auto it = rhs._params.begin(); it != rhs._params.end(); ++it)
187  _params[it->first] = it->second;
188 
189  _buildable_types.insert(
190  _buildable_types.end(), rhs._buildable_types.begin(), rhs._buildable_types.end());
191  _buildable_rm_types.insert(
192  _buildable_rm_types.end(), rhs._buildable_rm_types.begin(), rhs._buildable_rm_types.end());
193 
194  // Collapse nesting and moose object syntax hiding are not modified with +=
195  _coupled_vars.insert(rhs._coupled_vars.begin(), rhs._coupled_vars.end());
198 
200  rhs._old_to_new_name_and_dep.end());
201  _new_to_old_names.insert(rhs._new_to_old_names.begin(), rhs._new_to_old_names.end());
202  return *this;
203 }
std::multimap< std::string, std::string > _new_to_old_names
A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names...
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
std::set< std::string > _coupled_vars
The coupled variables set.
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
The RelationshipManagers that this object may either build or require.
std::vector< std::string > _buildable_types
The parameter is used to restrict types that can be built.
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ operator=()

InputParameters & InputParameters::operator= ( const InputParameters rhs)

Definition at line 135 of file InputParameters.C.

136 {
137  // An error to help minimize the segmentation faults that occure when MooseObjects do not have the
138  // correct constructor
139  if (!rhs._allow_copy)
140  {
141  // If _allow_parameter_copy is set, these should be too (see
142  // InputParameterWarehouse::addInputParameters)
143  const std::string & name = rhs.getObjectName();
144  const std::string & type = rhs.getObjectType(); // could be empty
145  const std::string name_example = type.size() ? type : "the " + name + " object";
146  const std::string type_example = type.size() ? type : "MyObject";
147  ::mooseError(
148  "Copying of the InputParameters object for ",
149  name_example,
150  " is not allowed.\n\nThe likely cause for this error ",
151  "is having a constructor that does not use a const reference, all constructors\nfor "
152  "MooseObject based classes should be as follows:\n\n",
153  " ",
154  type_example,
155  "::",
156  type_example,
157  "(const InputParameters & parameters);");
158  }
159 
161 
162  _params = rhs._params;
163 
170  _allow_copy = rhs._allow_copy;
173  _hit_node = rhs._hit_node;
174  _finalized = false;
175 
176  return *this;
177 }
std::multimap< std::string, std::string > _new_to_old_names
A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names...
std::string name(const ElemQuality q)
bool _allow_copy
A flag for toggling the error message in the copy constructor.
const std::string & getObjectName() const
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
bool _collapse_nesting
This parameter collapses one level of nesting in the syntax blocks.
infix_ostream_iterator< T, charT, traits > & operator=(T const &item)
Definition: InfixIterator.h:47
const std::string & getObjectType() const
std::set< std::string > _coupled_vars
The coupled variables set.
std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > _buildable_rm_types
The RelationshipManagers that this object may either build or require.
bool _finalized
Whether or not we&#39;ve called finalize() on these parameters yet.
std::string type(const std::string &name) const
Prints the type of the requested parameter by name.
const hit::Node * _hit_node
The hit node representing the syntax that created these parameters, if any.
std::vector< std::string > _buildable_types
The parameter is used to restrict types that can be built.
bool _moose_object_syntax_visibility
This parameter hides derived MOOSE object types from appearing in syntax dumps.
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ paramAliases()

std::vector< std::string > InputParameters::paramAliases ( const std::string &  param_name) const

Return all the aliased names associated with param_name.

The returned container will always contain param_name itself. Other aliases in addition to param_name will include the base class parameter name if param_name is the derived class parameter name, or deprecated names that param_name is meant to replace.

Parameters
param_nameThe name of the parameter that we want to lookup aliases for. This parameter name must exist in our metadata and parameter names to values map, e.g. this parameter must represent the derived class parameter name if a base class parameter has been renamed or the blessed parameter name in situations where associated parameter names have been deprecated
Returns
All aliases which logically resolve-to/are-associated-with param_name, including param_name itself

Definition at line 1846 of file InputParameters.C.

1847 {
1848  mooseAssert(_values.find(param_name) != _values.end(),
1849  "The parameter we are searching for aliases for should exist in our parameter map");
1850  std::vector<std::string> aliases = {param_name};
1851 
1852  for (const auto & pr : as_range(_new_to_old_names.equal_range(param_name)))
1853  aliases.push_back(pr.second);
1854 
1855  return aliases;
1856 }
std::multimap< std::string, std::string > _new_to_old_names
A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names...
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)

◆ paramError()

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

Emits a parameter error prefixed with the parameter location and object information if available.

Definition at line 2508 of file InputParameters.h.

Referenced by SystemBase::addVariable(), PiecewiseTabularInterface::buildFromFile(), checkParams(), Moose::PeriodicBCHelper::checkPeriodicParams(), finalize(), get(), getFileBase(), MooseBase::paramError(), Moose::PeriodicBCHelper::setupAutoPeriodicBoundaries(), and Moose::PeriodicBCHelper::setupManualPeriodicBoundaries().

2509 {
2510  std::ostringstream oss;
2511  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
2512  const auto [prefix, node] = paramMessageContext(param);
2513  callMooseError(prefix + oss.str(), false, node, /* show_trace = */ false);
2514 }
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:137
std::pair< std::string, const hit::Node * > paramMessageContext(const std::string &param) const
Get the context associated with a parameter for a message.
void callMooseError(std::string msg, const bool with_prefix=true, const hit::Node *node=nullptr, const bool show_trace=true) const
Internal helper for calling back to mooseError(), ideally from the underlying MooseBase object if it ...

◆ parameterRangeCheck()

std::optional< std::pair< bool, std::string > > InputParameters::parameterRangeCheck ( const Parameters::Value &  value,
const std::string &  long_name,
const std::string &  short_name,
const bool  include_param_path 
)

Performs a range check on the parameter (which must have a range check)

Parameters
valueThe parameter value
long_nameThe full path to the parameter
short_nameThe name of the parameter
include_param_pathWhether or not to include the parameter path in errors
Returns
An error, if any; first is whether or not it is a user error and second is the message

Definition at line 649 of file InputParameters.C.

Referenced by checkParams().

653 {
654 #define dynamicCastRangeCheck(type, up_type, long_name, short_name) \
655  do \
656  { \
657  if (const auto scalar_p = dynamic_cast<const InputParameters::Parameter<type> *>(&value)) \
658  return rangeCheck<type, up_type>(long_name, short_name, *scalar_p, include_param_path); \
659  if (const auto vector_p = \
660  dynamic_cast<const InputParameters::Parameter<std::vector<type>> *>(&value)) \
661  return rangeCheck<type, up_type>(long_name, short_name, *vector_p, include_param_path); \
662  } while (0)
663 
664  dynamicCastRangeCheck(Real, Real, long_name, short_name);
665  dynamicCastRangeCheck(int, long, long_name, short_name);
666  dynamicCastRangeCheck(long, long, long_name, short_name);
667  dynamicCastRangeCheck(unsigned int, long, long_name, short_name);
668 #undef dynamicCastRangeCheck
669 
670  return {};
671 }

◆ paramFullpath()

std::string InputParameters::paramFullpath ( const std::string &  param) const
Returns
A string representing the full HIT parameter path from the input file (e.g. "Mesh/foo/bar" for param "bar") for the given param.

Definition at line 1650 of file InputParameters.C.

Referenced by checkParams(), and paramLocationPrefix().

1651 {
1652  if (const auto hit_node = getHitNode(param))
1653  return hit_node->fullpath();
1654  return "";
1655 }
const hit::Node * getHitNode() const

◆ paramLocationPrefix()

std::string InputParameters::paramLocationPrefix ( const std::string &  param) const

Returns a prefix containing the parameter name and location (if available)

Definition at line 1705 of file InputParameters.C.

Referenced by MaterialPropertyInterface::checkBlockAndBoundaryCompatibility().

1706 {
1707  auto prefix = param + ":";
1708  if (!inputLocation(param).empty())
1709  prefix = inputLocation(param) + ": (" + paramFullpath(param) + ")";
1710  return prefix;
1711 }
std::string inputLocation(const std::string &param) const
std::string paramFullpath(const std::string &param) const

◆ paramMessage()

template<typename... Args>
std::string InputParameters::paramMessage ( const std::string &  param,
Args...  args 
) const
Returns
A message used as a prefix for output relating to a parameter.

Will first prefix with a path to the parameter, or the parameter that resulted in the creation of these parameters, if available. The message will then be prefixed with the block path to the parameter, if available.

Definition at line 2499 of file InputParameters.h.

Referenced by MooseBase::paramInfo(), and MooseBase::paramWarning().

2500 {
2501  std::ostringstream oss;
2502  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
2503  return paramMessagePrefix(param) + oss.str();
2504 }
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:137
std::string paramMessagePrefix(const std::string &param) const
Get a prefix for messages associated with a parameter.

◆ paramMessageContext()

std::pair< std::string, const hit::Node * > InputParameters::paramMessageContext ( const std::string &  param) const
private

Get the context associated with a parameter for a message.

Parameters
paramThe parameter name
Returns
Pair that is the string prefix for the parameter (fullpath) and a pointer to the best hit node that can be associated with the parameter (if any)

Definition at line 1906 of file InputParameters.C.

Referenced by paramError(), and paramMessagePrefix().

1907 {
1908  const hit::Node * node = nullptr;
1909 
1910  std::string fullpath;
1911  // First try to find the parameter
1912  if (const hit::Node * param_node = getHitNode(param))
1913  {
1914  fullpath = param_node->fullpath();
1915  node = param_node;
1916  }
1917  // If no parameter node, hope for a block node
1918  else if (const hit::Node * block_node = getHitNode())
1919  {
1920  node = block_node;
1921  fullpath = block_node->fullpath() + "/" + param;
1922  }
1923  // Didn't find anything, at least use the parameter
1924  else
1925  fullpath = param;
1926 
1927  return {fullpath + ": ", node};
1928 }
const hit::Node * getHitNode() const

◆ paramMessagePrefix()

std::string InputParameters::paramMessagePrefix ( const std::string &  param) const
private

Get a prefix for messages associated with a parameter.

Will include the best file path possible for the parameter and the parameter's fullpath.

Definition at line 1931 of file InputParameters.C.

Referenced by paramMessage(), and queryDeprecatedParamMessage().

1932 {
1933  auto [prefix, node] = paramMessageContext(param);
1934  if (node)
1935  prefix = Moose::hitMessagePrefix(*node) + prefix;
1936  return prefix;
1937 }
std::pair< std::string, const hit::Node * > paramMessageContext(const std::string &param) const
Get the context associated with a parameter for a message.
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
Definition: Moose.C:893

◆ paramSetByUser()

bool InputParameters::paramSetByUser ( const std::string &  name) const

Deprecated method.

Use isParamSetByUser() instead.

Definition at line 1286 of file InputParameters.C.

1287 {
1288  mooseDeprecated("paramSetByUser() is deprecated. Use isParamSetByUser() instead.");
1289  return isParamSetByUser(name);
1290 }
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:363
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.

◆ queryCommandLineMetadata()

std::optional< InputParameters::CommandLineMetadata > InputParameters::queryCommandLineMetadata ( const std::string &  name) const
Returns
Queries for the command line metadata for the parameter name

Will return an empty optional if the parameter is not a command line param.

Definition at line 1076 of file InputParameters.C.

Referenced by isParamSetByUser().

1077 {
1078  const auto & cl_data = at(checkForRename(name))._cl_data;
1079  if (!cl_data)
1080  return {};
1081  return *cl_data;
1082 }
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
Metadata & at(const std::string &param_name)

◆ queryDataFileNamePath()

std::optional< Moose::DataFileUtils::Path > InputParameters::queryDataFileNamePath ( const std::string &  name) const
Returns
The DataFileName path for the parameter name (if any).

Definition at line 1859 of file InputParameters.C.

1860 {
1861  return at(checkForRename(name))._data_file_name_path;
1862 }
std::optional< Moose::DataFileUtils::Path > _data_file_name_path
The searched path information pertaining to a DataFileName parameter.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
Metadata & at(const std::string &param_name)

◆ queryDeprecatedParamMessage()

std::optional< std::string > InputParameters::queryDeprecatedParamMessage ( const std::string &  name) const
Returns
The deprecated parameter message for the given parameter, if any

Definition at line 109 of file InputParameters.C.

110 {
111  const auto name = checkForRename(name_in);
113  {
114  auto deprecation_message = [this](const auto & name, const auto & message) -> std::string
115  { return paramMessagePrefix(name) + message; };
116 
117  if (_params.count(name) && !libmesh_map_find(_params, name)._deprecation_message.empty())
118  return deprecation_message(name,
119  "The parameter '" + name + "' is deprecated.\n" +
120  libmesh_map_find(_params, name)._deprecation_message);
121  else if (auto it = _old_to_new_name_and_dep.find(name_in);
122  it != _old_to_new_name_and_dep.end() && !it->second.second.empty())
123  return deprecation_message(name_in, it->second.second);
124  }
125  return {};
126 }
std::string name(const ElemQuality q)
bool _show_deprecated_message
Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping me...
std::string paramMessagePrefix(const std::string &param) const
Get a prefix for messages associated with a parameter.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ queryObjectType()

const std::string * InputParameters::queryObjectType ( ) const
Returns
The object type represented by these parameters, if any

Definition at line 1003 of file InputParameters.C.

Referenced by getObjectType().

1004 {
1005  return have_parameter<std::string>(MooseBase::type_param)
1006  ? &get<std::string>(MooseBase::type_param)
1007  : nullptr;
1008 }
static const std::string type_param
The name of the parameter that contains the object type.
Definition: MooseBase.h:53

◆ queryParam()

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

Query a parameter.

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 2310 of file InputParameters.h.

Referenced by Moose::PeriodicBCHelper::setupManualPeriodicBoundaries().

2311 {
2312  return isParamValid(name) ? &getParamHelper<T>(name, *this) : nullptr;
2313 }
std::string name(const ElemQuality q)
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ rangeCheck() [1/2]

template<typename T , typename UP_T >
std::optional< std::pair< bool, std::string > > InputParameters::rangeCheck ( const std::string &  full_name,
const std::string &  short_name,
const InputParameters::Parameter< T > &  param,
const bool  include_param_path = true 
)

Runs a range on the supplied parameter if it exists and throws an error if that check fails.

Returns
Optional of whether or not the error is a user error (false = developer error) and the associated error

If include_param_path = true, include the parameter path in the error message

Definition at line 1742 of file InputParameters.h.

1746 {
1747  if (!isParamValid(short_name))
1748  return {};
1749 
1750  const auto & range_function = _params[short_name]._range_function;
1751  if (range_function.empty())
1752  return {};
1753 
1754  // Parse the expression
1756  if (fp.Parse(range_function, short_name) != -1) // -1 for success
1757  return {{false,
1758  "Error parsing expression '" + range_function + "'" + " for parameter " + short_name}};
1759 
1760  // ensure range-checked input file parameter comparison functions
1761  // do absolute floating point comparisons instead of using a default epsilon.
1762  auto tmp_eps = fp.epsilon();
1763  fp.setEpsilon(0);
1764  // We require a non-const value for the implicit upscaling of the parameter type
1765  std::vector<UP_T> value(1, param.get());
1766  UP_T result = fp.Eval(&value[0]);
1767  fp.setEpsilon(tmp_eps);
1768 
1769  if (fp.EvalError())
1770  return {{true,
1771  "Error evaluating expression '" + range_function + "' for parameter " + short_name +
1772  "; perhaps you used the wrong variable name?"}};
1773 
1774  if (!result)
1775  {
1776  std::ostringstream oss;
1777  oss << "Range check failed";
1778  if (include_param_path)
1779  oss << " for parameter " << full_name;
1780  oss << "; expression = '" << range_function << "', value = " << value[0];
1781  return {{true, oss.str()}};
1782  }
1783 
1784  return {};
1785 }
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::map< std::string, Metadata > _params
The actual parameter data.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ rangeCheck() [2/2]

template<typename T , typename UP_T >
std::optional< std::pair< bool, std::string > > InputParameters::rangeCheck ( const std::string &  full_name,
const std::string &  short_name,
const InputParameters::Parameter< std::vector< T >> &  param,
const bool  include_param_path = true 
)

Automatically detect the variables used in the range checking expression. We allow the following variables (where snam is the short_name of the parameter)

snam : tests every component in the vector 'snam > 0' snam_size : the size of the vector 'snam_size = 5' snam_i : where i is a number from 0 to sname_size-1 tests a specific component 'snam_0 > snam_1'

Definition at line 1624 of file InputParameters.h.

1628 {
1629  if (!isParamValid(short_name))
1630  return {};
1631 
1632  const auto & range_function = _params[short_name]._range_function;
1633  if (range_function.empty())
1634  return {};
1635 
1648  std::vector<std::string> vars;
1649  if (fp.ParseAndDeduceVariables(range_function, vars) != -1) // -1 for success
1650  return {{false,
1651  "Error parsing expression '" + range_function + "' for parameter " + short_name + ""}};
1652 
1653  // Fparser parameter buffer
1654  std::vector<UP_T> parbuf(vars.size());
1655 
1656  // parameter vector
1657  const std::vector<T> & value = param.get();
1658 
1659  // iterate over all vector values (maybe ;)
1660  bool need_to_iterate = false;
1661  unsigned int i = 0;
1662  do
1663  {
1664  // set parameters
1665  for (unsigned int j = 0; j < vars.size(); j++)
1666  {
1667  if (vars[j] == short_name)
1668  {
1669  if (value.size() == 0)
1670  {
1671  std::ostringstream oss;
1672  oss << "Range checking empty vector";
1673  if (include_param_path)
1674  oss << " parameter " << full_name;
1675  oss << "; expression = '" << range_function << "'";
1676  return {{true, oss.str()}};
1677  }
1678 
1679  parbuf[j] = value[i];
1680  need_to_iterate = true;
1681  }
1682  else if (vars[j] == short_name + "_size")
1683  parbuf[j] = value.size();
1684  else
1685  {
1686  if (vars[j].substr(0, short_name.size() + 1) != short_name + "_")
1687  return {{false, "Error parsing expression '" + range_function + "'"}};
1688  std::istringstream iss(vars[j]);
1689  iss.seekg(short_name.size() + 1);
1690 
1691  size_t index;
1692  if (iss >> index && iss.eof())
1693  {
1694  if (index >= value.size())
1695  {
1696  std::ostringstream oss;
1697  oss << "Error parsing expression '" + range_function + "'";
1698  if (include_param_path)
1699  oss << " for parameter " << full_name;
1700  oss << "; out of range variable '" + vars[j] << "'";
1701  return {{true, oss.str()}};
1702  }
1703  parbuf[j] = value[index];
1704  }
1705  else
1706  return {{false,
1707  "Error parsing expression '" + range_function + "'; invalid variable '" +
1708  vars[j] + "'"}};
1709  }
1710  }
1711 
1712  // ensure range-checked input file parameter comparison functions
1713  // do absolute floating point comparisons instead of using a default epsilon.
1714  auto tmp_eps = fp.epsilon();
1715  fp.setEpsilon(0);
1716  UP_T result = fp.Eval(&parbuf[0]);
1717  fp.setEpsilon(tmp_eps);
1718 
1719  // test function using the parameters determined above
1720  if (fp.EvalError())
1721  return {{false, "Error evaluating expression '" + range_function + "'"}};
1722 
1723  if (!result)
1724  {
1725  std::ostringstream oss;
1726  oss << "Range check failed";
1727  if (include_param_path)
1728  oss << " for parameter " << full_name;
1729  oss << "; expression = '" << range_function << "'";
1730  if (need_to_iterate)
1731  oss << ", component " << i;
1732  return {{true, oss.str()}};
1733  }
1734 
1735  } while (need_to_iterate && ++i < value.size());
1736 
1737  return {};
1738 }
char ** vars
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::map< std::string, Metadata > _params
The actual parameter data.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ rangeCheckedFunction()

std::string InputParameters::rangeCheckedFunction ( const std::string &  name) const

Return the range check function for any parameter (empty string if it is not range checked)

Definition at line 799 of file InputParameters.C.

Referenced by MooseServer::getHoverDisplayText(), and transferParam().

800 {
801  const auto name = checkForRename(param_name);
802  return _params.at(name)._range_function;
803 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ rawParamVal()

std::string InputParameters::rawParamVal ( const std::string &  param) const
Returns
A string representing the raw, unmodified token text for the given param. This is only set if this parameter is parsed from hit

Definition at line 1714 of file InputParameters.C.

1715 {
1716  if (const auto hit_node = getHitNode(param))
1717  return hit_node->strVal();
1718  return "";
1719 }
const hit::Node * getHitNode() const

◆ registerBase()

void InputParameters::registerBase ( const std::string &  value)

This method must be called from every base "Moose System" to create linkage with the Action System.

See "Moose.C" for the registerMooseObjectTask() calls.

Definition at line 492 of file InputParameters.C.

Referenced by Kernel::validParams(), VectorKernel::validParams(), LineSearch::validParams(), ArrayKernel::validParams(), ActivateElementsUserObjectBase::validParams(), BoundsBase::validParams(), FVInterpolationMethod::validParams(), HDGKernel::validParams(), Distribution::validParams(), Times::validParams(), Constraint::validParams(), Problem::validParams(), ScalarKernelBase::validParams(), MFEMBoundaryCondition::validParams(), LayeredExtremumMaterialProperty::validParams(), MFEMAuxKernel::validParams(), MFEMComplexAuxKernel::validParams(), MFEMFESpace::validParams(), PointwiseRenormalizeVector::validParams(), MFEMRefinementMarker::validParams(), ADInterfaceKernelTempl< T >::validParams(), MFEMSubMesh::validParams(), MFEMSubMeshTransfer::validParams(), Positions::validParams(), ADArrayKernel::validParams(), ChainControl::validParams(), SidesetAroundSubdomainUpdater::validParams(), MFEMFunctorMaterial::validParams(), MFEMKernel::validParams(), Moose::MFEM::SolverBase::validParams(), MoosePartitioner::validParams(), ADDiracKernel::validParams(), TimeStepper::validParams(), NearestPointAverage::validParams(), NearestPointIntegralVariablePostprocessor::validParams(), MFEMIndicator::validParams(), EigenKernel::validParams(), Split::validParams(), Convergence::validParams(), Postprocessor::validParams(), RelationshipManager::validParams(), AuxKernelTempl< Real >::validParams(), Damper::validParams(), Predictor::validParams(), InterfaceKernelBase::validParams(), LinearFVKernel::validParams(), Moose::FunctionBase::validParams(), DiracKernelTempl< T >::validParams(), BoundaryCondition::validParams(), NodalKernelBase::validParams(), VectorPostprocessor::validParams(), InterfaceKernelTempl< T >::validParams(), Indicator::validParams(), FVKernel::validParams(), MoosePreconditioner::validParams(), AuxScalarKernel::validParams(), MeshDivision::validParams(), Action::validParams(), TimeIntegrator::validParams(), DGKernelBase::validParams(), MeshGenerator::validParams(), ElementSubdomainModifierBase::validParams(), MooseVariableBase::validParams(), ScalarInitialCondition::validParams(), Control::validParams(), Reporter::validParams(), FVInitialConditionBase::validParams(), Executioner::validParams(), Marker::validParams(), UserObjectBase::validParams(), Output::validParams(), Sampler::validParams(), InitialConditionBase::validParams(), AuxKernelBase::validParams(), LinearFVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), FVBoundaryCondition::validParams(), MultiApp::validParams(), Executor::validParams(), and MooseApp::validParams().

493 {
494  InputParameters::set<std::string>(MooseBase::moose_base_param) = value;
495  _params[MooseBase::moose_base_param]._is_private = true;
496 }
static const std::string moose_base_param
The name of the parameter that contains the moose system base.
Definition: MooseBase.h:61
std::map< std::string, Metadata > _params
The actual parameter data.

◆ registerBuildableTypes()

void InputParameters::registerBuildableTypes ( const std::string &  names)

This method is here to indicate which Moose types a particular Action may build.

It takes a space delimited list of registered MooseObjects. TODO: For now we aren't actually checking this list when we build objects. Since individual actions can do whatever they want it's not exactly trivial to check this without changing the user API. This function properly restricts the syntax and YAML dumps.

Definition at line 530 of file InputParameters.C.

531 {
532  _buildable_types.clear();
533  MooseUtils::tokenize(names, _buildable_types, 1, " \t\n\v\f\r"); // tokenize on whitespace
534 }
void tokenize(const std::string &str, std::vector< T > &elements, unsigned int min_len=1, const std::string &delims="/")
This function will split the passed in string on a set of delimiters appending the substrings to the ...
std::vector< std::string > _buildable_types
The parameter is used to restrict types that can be built.

◆ registerSystemAttributeName()

void InputParameters::registerSystemAttributeName ( const std::string &  value)

This method is used to define the MOOSE system name that is used by the TheWarehouse object for storing objects to be retrieved for execution.

The base class of every object class that will be called for execution (e.g., UserObject objects) should call this method.

This is different from registerBase because the name supplied to registerBase is used to associate syntax, but the objects created often go to the same objects for execution, as is the case for Postprocessor object which are executed with UserObjects.

See the AttribSystem object for use Attribute.h/C.

Definition at line 514 of file InputParameters.C.

Referenced by FVInterpolationMethod::validParams(), Distribution::validParams(), LinearFVElementalKernel::validParams(), LinearFVFluxKernel::validParams(), UserObject::validParams(), MFEMBoundaryCondition::validParams(), Constraint::validParams(), ScalarKernelBase::validParams(), MFEMFESpace::validParams(), MFEMRefinementMarker::validParams(), MFEMSubMesh::validParams(), FVDirichletBCBase::validParams(), MFEMFunctorMaterial::validParams(), MFEMKernel::validParams(), Moose::MFEM::SolverBase::validParams(), MFEMIndicator::validParams(), TimeStepper::validParams(), Split::validParams(), Damper::validParams(), AuxKernelTempl< Real >::validParams(), InterfaceKernelBase::validParams(), FVFluxBC::validParams(), FVElementalKernel::validParams(), MFEMExecutedObject::validParams(), DiracKernelBase::validParams(), BoundaryCondition::validParams(), NodalKernelBase::validParams(), FVFluxKernel::validParams(), DGKernelBase::validParams(), Sampler::validParams(), LinearFVBoundaryCondition::validParams(), and FVInterfaceKernel::validParams().

515 {
516  InputParameters::set<std::string>("_moose_warehouse_system_name") = value;
517  _params["_moose_warehouse_system_name"]._is_private = true;
518 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ renameCoupledVar()

void InputParameters::renameCoupledVar ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  new_docstring 
)

Rename a coupled variable and provide a new documentation string.

Parameters
old_nameThe old name of the coupled variable
new_nameThe new name of the coupled variable
new_docstringThe new documentation string for the coupled variable

Definition at line 1813 of file InputParameters.C.

Referenced by ADPenaltyPeriodicSegmentalConstraint::validParams(), ADPeriodicSegmentalConstraint::validParams(), PeriodicSegmentalConstraint::validParams(), PenaltyPeriodicSegmentalConstraint::validParams(), and ScalarLMKernelTempl< is_ad >::validParams().

1816 {
1817  renameCoupledVarInternal(old_name, new_name, new_docstring, "");
1818 }
void renameCoupledVarInternal(const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)

◆ renameCoupledVarInternal()

void InputParameters::renameCoupledVarInternal ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  docstring,
const std::string &  removal_date 
)
private

Definition at line 1787 of file InputParameters.C.

Referenced by deprecateCoupledVar(), and renameCoupledVar().

1791 {
1792  auto coupled_vars_it = _coupled_vars.find(old_name);
1793  if (coupled_vars_it == _coupled_vars.end())
1794  mooseError("Requested to rename coupled variable '",
1795  old_name,
1796  "' but that coupled variable name doesn't exist in the parameters object.");
1797 
1798  _coupled_vars.insert(new_name);
1799  _coupled_vars.erase(coupled_vars_it);
1800 
1801  renameParamInternal(old_name, new_name, docstring, removal_date);
1802 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void renameParamInternal(const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)
std::string docstring(const std::string &desc)
Augment docstring if NEML2 is not enabled.
Definition: NEML2Utils.C:71
std::set< std::string > _coupled_vars
The coupled variables set.

◆ renameParam()

void InputParameters::renameParam ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  new_docstring 
)

Rename a parameter and provide a new documentation string.

Parameters
old_nameThe old name of the parameter
new_nameThe new name of the parameter
new_docstringThe new documentation string for the parameter If left empty, uses the old docstring for the renamed parameter

Definition at line 1805 of file InputParameters.C.

Referenced by OrientSurfaceMeshGenerator::validParams(), ParsedSubdomainMeshGenerator::validParams(), SideSetsBetweenSubdomainsGenerator::validParams(), StitchBoundaryMeshGenerator::validParams(), XYZDelaunayGenerator::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), SidesetAroundSubdomainUpdater::validParams(), MultiAppGeneralFieldNearestLocationTransfer::validParams(), SideSetsAroundSubdomainGenerator::validParams(), and MultiAppGeneralFieldFunctorTransfer::validParams().

1808 {
1809  renameParamInternal(old_name, new_name, new_docstring, "");
1810 }
void renameParamInternal(const std::string &old_name, const std::string &new_name, const std::string &docstring, const std::string &removal_date)

◆ renameParameterGroup()

void InputParameters::renameParameterGroup ( const std::string &  old_name,
const std::string &  new_name 
)

This method renames a parameter group.

Parameters
old_nameprevious name of the parameter group
new_namenew name of the parameter group

Definition at line 1051 of file InputParameters.C.

Referenced by LevelSetMeshingHelper::validParams(), and SurfaceSubdomainsDelaunayRemesher::validParams().

1052 {
1053  for (auto & param : _params)
1054  if (param.second._group == old_name)
1055  param.second._group = new_name;
1056 }
std::map< std::string, Metadata > _params
The actual parameter data.

◆ renameParamInternal()

void InputParameters::renameParamInternal ( const std::string &  old_name,
const std::string &  new_name,
const std::string &  docstring,
const std::string &  removal_date 
)
private

Definition at line 1753 of file InputParameters.C.

Referenced by deprecateParam(), renameCoupledVarInternal(), and renameParam().

1757 {
1758  auto params_it = _params.find(old_name);
1759  if (params_it == _params.end())
1760  mooseError("Requested to rename parameter '",
1761  old_name,
1762  "' but that parameter name doesn't exist in the parameters object.");
1763  mooseAssert(params_it->second._deprecation_message.empty(),
1764  "Attempting to rename the parameter, '" << old_name << "', that is deprecated");
1765 
1766  auto new_metadata = std::move(params_it->second);
1767  if (!docstring.empty())
1768  new_metadata._doc_string = docstring;
1769  _params.emplace(new_name, std::move(new_metadata));
1770  _params.erase(params_it);
1771 
1772  auto values_it = _values.find(old_name);
1773  auto new_value = std::move(values_it->second);
1774  _values.emplace(new_name, std::move(new_value));
1775  _values.erase(values_it);
1776 
1777  std::string deprecation_message;
1778  if (!removal_date.empty())
1779  deprecation_message = "'" + old_name + "' has been deprecated and will be removed on " +
1780  removal_date + ". Please use '" + new_name + "' instead.";
1781 
1782  _old_to_new_name_and_dep.emplace(old_name, std::make_pair(new_name, deprecation_message));
1783  _new_to_old_names.emplace(new_name, old_name);
1784 }
std::multimap< std::string, std::string > _new_to_old_names
A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names...
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string docstring(const std::string &desc)
Augment docstring if NEML2 is not enabled.
Definition: NEML2Utils.C:71
std::map< std::string, Metadata > _params
The actual parameter data.
std::map< std::string, std::pair< std::string, std::string > > _old_to_new_name_and_dep
A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the dep...

◆ reservedValues()

std::set< std::string > InputParameters::reservedValues ( const std::string &  name) const

Get a set of reserved parameter values.

Returns a set by value since we can return an empty set.

Definition at line 1601 of file InputParameters.C.

1602 {
1603  const auto name = checkForRename(name_in);
1604  auto it = _params.find(name);
1605  if (it == _params.end())
1606  return std::set<std::string>();
1607  return it->second._reserved_values;
1608 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ set()

template<typename T >
T & InputParameters::set ( const std::string &  name,
bool  quiet_mode = false 
)

Returns a writable reference to the named parameters.

Note: This is not a virtual function! Use caution when comparing to the parent class implementation

Parameters
nameThe name of the parameter to set
quiet_modeWhen true the parameter is kept with set_by_add_param=true, this is generally not needed.

"quite_mode" returns a writable reference to the named parameter, without setting set_by_add_param to false. Using this method of set will make the parameter to continue to behave if its value where set ONLY by addParam and not by any other method.

This was added for handling parameters in the Output objects that have behavior dependent on whether the user modified the parameters.

Definition at line 1595 of file InputParameters.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), ElementIDOutputAction::act(), AddFVICAction::act(), CreateExecutionerAction::act(), AddICAction::act(), PartitionerAction::act(), AutoCheckpointAction::act(), CreateProblemAction::act(), CombineComponentsMeshes::act(), AddTimeStepperAction::act(), SetupDebugAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), AddActionComponentAction::act(), SetupResidualDebugAction::act(), AddAuxKernelAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), SetAdaptivityOptionsAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), AddNodalNormalsAction::act(), FEProblemBase::addAnyRedistributers(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarKernel(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), DiffusionCG::addBoundaryConditionsFromComponents(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DiffusionCG::addFEBCs(), DiffusionCG::addFEKernels(), FEProblemBase::addFunction(), FEProblemBase::addFunctorMaterial(), DiffusionFV::addFVBCs(), FEProblemBase::addFVInitialCondition(), DiffusionFV::addFVKernels(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), DiffusionPhysicsBase::addInitialConditionsFromComponents(), FEProblemBase::addInterfaceKernel(), MooseEigenSystem::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), CylinderComponent::addMeshGenerators(), ComponentJunction::addMeshGenerators(), ComponentMeshTransformHelper::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), FEProblemBase::addMultiApp(), TableOutput::addMultiAppFixedPointIterationEndExecFlag(), FEProblemBase::addNodalKernel(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), DiffusionPhysicsBase::addPostprocessors(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), Action::addRelationshipManager(), FEProblemBase::addScalarKernel(), DiffusionCG::addSolverVariables(), DiffusionFV::addSolverVariables(), FEProblemBase::addTimeIntegrator(), SystemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), SystemBase::addVariable(), FEProblemBase::addVariable(), MFEMExecutedObject::appendDependencyParam(), MeshGeneratorSystem::appendMeshGenerator(), PhysicsBase::assignBlocks(), AStableDirk4::AStableDirk4(), ActionWarehouse::buildBuildableActions(), ActionUnitTest::buildMinimalObjects(), MooseObjectUnitTest::buildObjects(), SampledOutput::cloneMesh(), BatchMeshGeneratorAction::convertAndSetCompoundRealScalarVector(), BatchMeshGeneratorAction::convertAndSetNumericVector(), BatchMeshGeneratorAction::convertAndSetStringLikeVector(), CommonOutputAction::create(), ActionFactory::create(), AppFactory::create(), MultiApp::createApp(), AppFactory::createAppShared(), AddVariableAction::createInitialConditionAction(), MooseApp::createMinimalApp(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::getFunction(), FEProblemBase::getKokkosFunction(), MaterialOutputAction::getParams(), Moose::SlepcSupport::getSlepcValidParams(), AddElementalFieldAction::init(), Factory::initialize(), SetupMeshAction::modifyParamsForUseSplit(), MooseServer::parseDocumentForDiagnostics(), FEProblemBase::setAuxKernelParamsAndLog(), MeshGenerator::setHasGenerateCSG(), MeshGenerator::setHasGenerateData(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), MassMatrix::setMassMatrixParams(), FEProblemBase::setResidualObjectParamsAndLog(), FVRelationshipManagerInterface::setRMParams(), BatchMeshGeneratorAction::setScalarParams(), CreateExecutionerAction::setupAutoPreconditioning(), ReadExecutorParamsAction::setupAutoPreconditioning(), SideSetExtruderGenerator::SideSetExtruderGenerator(), FVOneVarDiffusionInterface::validParams(), AddFVICAction::validParams(), AddICAction::validParams(), InversePowerMethod::validParams(), NonlinearEigen::validParams(), FVFunctorTimeKernel::validParams(), FVTimeKernel::validParams(), GradientJumpIndicator::validParams(), GenericConstantArray::validParams(), ExternalProblem::validParams(), ADScalarTimeKernel::validParams(), JSONOutput::validParams(), DiscreteElementUserObject::validParams(), GenericConstantVectorMaterialTempl< is_ad >::validParams(), CSVReaderVectorPostprocessor::validParams(), GapValueAux::validParams(), ElementQualityChecker::validParams(), PenetrationAux::validParams(), ParsedVectorVectorRealReductionReporter::validParams(), OrientSurfaceMeshGenerator::validParams(), ElemSideNeighborLayersGeomTester::validParams(), JSONFileReader::validParams(), NodalPatchRecoveryBase::validParams(), ArrayTimeDerivativeNodalKernel::validParams(), ElemSideNeighborLayersTester::validParams(), ParsedVectorRealReductionReporter::validParams(), NodalSum::validParams(), TimeIntervalTimes::validParams(), WeightedGapAux::validParams(), MeshGeneratorMesh::validParams(), BreakMeshByBlockGenerator::validParams(), InputTimes::validParams(), ReporterTimes::validParams(), TransformedPositions::validParams(), MoveNodesToGeometryModifierBase::validParams(), ConvectiveFluxBC::validParams(), GhostEverything::validParams(), EigenDirichletBC::validParams(), CombinedVectorPostprocessor::validParams(), VectorTimeKernel::validParams(), MessageFromInput::validParams(), Console::validParams(), ControlOutput::validParams(), PerfGraphOutput::validParams(), ReporterDebugOutput::validParams(), PiecewiseConstantFromCSV::validParams(), VTKOutput::validParams(), AddOutputAction::validParams(), ControllableInputTimes::validParams(), PseudoTimestep::validParams(), FilePositions::validParams(), InputPositions::validParams(), MultiAppPositions::validParams(), ReporterPositions::validParams(), FVMassMatrix::validParams(), CSVFileTimes::validParams(), ExodusFileTimes::validParams(), ArrayTimeKernel::validParams(), SimulationTimes::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryBase::validParams(), AddAuxKernelAction::validParams(), ODETimeKernel::validParams(), TimeKernel::validParams(), AccumulateReporter::validParams(), GenericConstant2DArrayTempl< is_ad >::validParams(), GenericConstantRealVectorValueTempl< is_ad >::validParams(), GhostLowerDElems::validParams(), NodalL2Norm::validParams(), ADTimeKernelValueTempl< T >::validParams(), MFEMCGSolver::validParams(), MFEMGMRESSolver::validParams(), NodalNormalBC::validParams(), CoupledTiedValueConstraint::validParams(), NEML2PostKernel::validParams(), NEML2PreKernel::validParams(), TiedValueConstraint::validParams(), SolutionInvalidityOutput::validParams(), FunctorChangeFunctorMaterialTempl< is_ad >::validParams(), NodalNormalsEvaluator::validParams(), VectorMagnitudeFunctorMaterialTempl< is_ad >::validParams(), DistributedPositions::validParams(), ElementCentroidPositions::validParams(), NearestNodeDistanceAux::validParams(), FunctorPositions::validParams(), FVAnisotropicDiffusion::validParams(), ADTimeKernelGradTempl< T >::validParams(), ADTimeKernelTempl< T >::validParams(), FunctorTimes::validParams(), ElementGroupCentroidPositions::validParams(), FunctorElementalGradientAuxTempl< is_ad >::validParams(), GenericConstantRankTwoTensorTempl< is_ad >::validParams(), EigenArrayDirichletBC::validParams(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::validParams(), InterfaceTimeKernel::validParams(), GenericConstantStdVectorMaterialTempl< is_ad >::validParams(), DOFMapOutput::validParams(), NearestNodeValueAux::validParams(), LeastSquaresFitHistory::validParams(), NEML2Assembly::validParams(), BlockWeightedPartitioner::validParams(), GenericFunctorGradientMaterialTempl< is_ad >::validParams(), GenericFunctorMaterialTempl< is_ad >::validParams(), GenericVectorFunctorMaterialTempl< is_ad >::validParams(), VectorOfPostprocessors::validParams(), Positions::validParams(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::validParams(), NodePositions::validParams(), MultiAppGeneralFieldUserObjectTransfer::validParams(), GhostingFromUOAux::validParams(), BatchMeshGeneratorAction::validParams(), ElementUOAux::validParams(), FVFunctorDirichletBCTempl< is_ad >::validParams(), IntegratedBCBase::validParams(), ReporterPointSource::validParams(), MultiAppGeneralFieldNearestLocationTransfer::validParams(), MFEMPetscNonlinearSolver::validParams(), QuadraturePointsPositions::validParams(), TagAuxBase< AuxKernel >::validParams(), GhostHigherDLowerDPointNeighbors::validParams(), ProjectionAux::validParams(), InterfaceQpUserObjectBase::validParams(), BlockRestrictionDebugOutput::validParams(), GhostAllPointNeighbors::validParams(), TimeNodalKernel::validParams(), FunctorExtremaPositions::validParams(), TorchScriptUserObject::validParams(), MortarNodalAuxKernelTempl< ComputeValueType >::validParams(), MooseStaticCondensationPreconditioner::validParams(), MaterialPropertyDebugOutput::validParams(), GenericConstantMaterialTempl< is_ad >::validParams(), ElementVariablesDifferenceMax::validParams(), ParsedDownSelectionPositions::validParams(), Exodus::validParams(), VariableResidualNormsDebugOutput::validParams(), EqualValueEmbeddedConstraintTempl< is_ad >::validParams(), SinDirichletBC::validParams(), FVDiffusion::validParams(), DistributedRectilinearMeshGenerator::validParams(), TwoMaterialPropertyInterface::validParams(), NearestRadiusLayeredAverage::validParams(), GhostingUserObject::validParams(), PropertyReadFile::validParams(), NodalBCBase::validParams(), Moose::MFEM::NonlinearSolverBase::validParams(), KernelBase::validParams(), MultiAppUserObjectTransfer::validParams(), TransientBase::validParams(), ThreeMaterialPropertyInterface::validParams(), FVFluxBC::validParams(), MFEMExecutedObject::validParams(), MultiAppTransfer::validParams(), InterfaceMaterial::validParams(), RadialAverage::validParams(), NodeFaceConstraint::validParams(), ProjectedStatefulMaterialNodalPatchRecoveryTempl< T, is_ad >::validParams(), NEML2FEInterpolation::validParams(), MortarConsumerInterface::validParams(), MultiAppGeneralFieldTransfer::validParams(), SamplerBase::validParams(), ElementSubdomainModifierBase::validParams(), MortarConstraintBase::validParams(), Control::validParams(), Marker::validParams(), Checkpoint::validParams(), Output::validParams(), UserObjectBase::validParams(), Sampler::validParams(), AuxKernelBase::validParams(), LinearFVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), TopResidualDebugOutput::validParams(), MooseLinearVariableFV< Real >::validParams(), MooseVariableFV< Real >::validParams(), MultiApp::validParams(), Moose::Builder::walkRaw(), and RelationshipManager::zeroLayerGhosting().

1596 {
1597  const auto name = checkForRename(name_in);
1598 
1599  checkParamName(name);
1600  checkConsistentType<T>(name);
1601 
1602  T & result = this->Parameters::set<T>(name);
1603 
1604  if (quiet_mode)
1605  _params[name]._set_by_add_param = true;
1606 
1607  setHelper<T>(name);
1608 
1609  return result;
1610 }
std::string name(const ElemQuality q)
void checkParamName(const std::string &name) const
Make sure the parameter name doesn&#39;t have any invalid characters.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ set_attributes()

void InputParameters::set_attributes ( const std::string &  name,
bool  inserted_only 
)
overridevirtual

Override from libMesh to set user-defined attributes on our parameter.

"._set_by_add_param" and ".deprecated_params" are not populated until after the default value has already been set in libMesh (first callback to this method). Therefore if a variable is in/not in one of these sets, you can be assured it was put there outside of the "addParam*()" calls.

Reimplemented from libMesh::Parameters.

Definition at line 87 of file InputParameters.C.

Referenced by applyParameter().

88 {
89  const auto name = checkForRename(name_in);
90 
91  if (!inserted_only)
92  {
93  auto & metadata = _params[name];
100  metadata._set_by_add_param = false;
101 
102  // valid_params don't make sense for MooseEnums
103  if (!have_parameter<MooseEnum>(name) && !have_parameter<MultiMooseEnum>(name))
104  metadata._valid = true;
105  }
106 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ setCoupledVar() [1/2]

void InputParameters::setCoupledVar ( const std::string &  coupling_name,
const std::string &  value 
)

Set a coupled variable parameter to a single variable name.

Parameters
coupling_nameThe name of the coupling parameter to set.
valueThe variable name to set.

Definition at line 827 of file InputParameters.C.

828 {
829  setCoupledVar(coupling_name, std::vector<VariableName>{value});
830 }
void setCoupledVar(const std::string &coupling_name, const std::string &value)
Set a coupled variable parameter to a single variable name.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ setCoupledVar() [2/2]

void InputParameters::setCoupledVar ( const std::string &  coupling_name,
const std::vector< VariableName > &  values 
)

Set a coupled variable parameter to multiple variable names.

Parameters
coupling_nameThe name of the coupling parameter to set.
valuesThe variable names to set.

Definition at line 833 of file InputParameters.C.

835 {
836  const auto actual_name = checkForRename(coupling_name);
837 
838  if (!hasCoupledVar(actual_name))
839  mooseError("Unable to set coupled variable parameter '",
840  coupling_name,
841  "' because it was not added with addCoupledVar or addRequiredCoupledVar.");
842 
843  set<std::vector<VariableName>>(actual_name) = values;
844 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
bool hasCoupledVar(const std::string &coupling_name) const
Return whether or not the coupled variable exists.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ setDeprecatedVarDocString()

void InputParameters::setDeprecatedVarDocString ( const std::string &  new_name,
const std::string &  doc_string 
)
private

Private method for setting deprecated coupled variable documentation strings.

Definition at line 206 of file InputParameters.C.

Referenced by addCoupledVar().

208 {
209  auto coupled_vars_it = _new_to_deprecated_coupled_vars.find(new_name);
210  if (coupled_vars_it != _new_to_deprecated_coupled_vars.end())
211  {
212  auto params_it = _params.find(coupled_vars_it->second);
213  if (params_it == _params.end())
214  mooseError("There must have been a mistake in the construction of the new to deprecated "
215  "coupled vars map because the old name ",
216  coupled_vars_it->second,
217  " doesn't exist in the parameters data.");
218 
219  params_it->second._doc_string = doc_string;
220  }
221 }
std::unordered_map< std::string, std::string > _new_to_deprecated_coupled_vars
A map from deprecated coupled variable names to the new blessed name.
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ setDocString()

void InputParameters::setDocString ( const std::string &  name,
const std::string &  doc 
)

Set the doc string of a parameter.

This method is generally used from within the validParams function to modify the documentation for an existing parameter, such as a parameter that is supplied from an interface class.

Definition at line 343 of file InputParameters.C.

Referenced by TableOutput::addMultiAppFixedPointIterationEndExecFlag(), Moose::SlepcSupport::getSlepcValidParams(), OrientSurfaceMeshGenerator::validParams(), FVIntegralValueConstraint::validParams(), PropertyReadFile::validParams(), FVBoundedValueConstraint::validParams(), FVPointValueConstraint::validParams(), MultiAppTransfer::validParams(), MortarConstraintBase::validParams(), Output::validParams(), AuxKernelBase::validParams(), and MultiApp::validParams().

344 {
345  const auto name = checkForRename(name_in);
346 
347  auto it = _params.find(name);
348  if (it == _params.end())
349  mooseError("Unable to set the documentation string (using setDocString) for the \"",
350  name,
351  "\" parameter, the parameter does not exist.");
352  it->second._doc_string = doc;
353 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ setDocUnit()

void InputParameters::setDocUnit ( const std::string &  name,
const std::string &  doc_unit 
)

Set the unit string of a parameter.

This method is only used within MooseDocs and the input syntax dump in order to provide a developer-expected unit for software quality assurance purposes.

Definition at line 363 of file InputParameters.C.

Referenced by Output::validParams().

364 {
365  const auto name = checkForRename(name_in);
366  _params[name]._doc_unit = doc_unit;
367 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ setGlobalCommandLineParam()

void InputParameters::setGlobalCommandLineParam ( const std::string &  name)

Sets the command line parameter with name as global.

Global here means that it will be passed to all child MultiApps.

Definition at line 1059 of file InputParameters.C.

Referenced by MooseApp::validParams().

1060 {
1061  auto & cl_data = at(checkForRename(name))._cl_data;
1062  if (!cl_data)
1063  mooseError("InputParameters::setGlobalCommandLineParam: The parameter '",
1064  name,
1065  "' is not a command line parameter");
1066  cl_data->global = true;
1067 }
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::optional< CommandLineMetadata > _cl_data
The data pertaining to a command line parameter (empty if not a command line param) ...
Metadata & at(const std::string &param_name)

◆ setHelper()

template<typename T >
void InputParameters::setHelper ( const std::string &  name)

This functions is called in set as a 'callback' to avoid code duplication.

Definition at line 1588 of file InputParameters.h.

1589 {
1590 }

◆ setHitNode() [1/2]

void InputParameters::setHitNode ( const std::string &  param,
const hit::Node &  node,
const SetParamHitNodeKey   
)

Sets the hit node associated with the parameter param to node.

Is protected to be called by only the Builder via the SetParamHitNodeKey.

Definition at line 1633 of file InputParameters.C.

Referenced by FEProblemBase::addAnyRedistributers(), applyParameters(), Action::associateWithParameter(), Factory::clone(), ActionFactory::create(), Factory::initialize(), and Moose::Builder::walkRaw().

1636 {
1637  mooseAssert(node.type() == hit::NodeType::Field, "Must be a field");
1638  at(param)._hit_node = &node;
1639 }
const hit::Node * _hit_node
Original location of parameter node; used for error messages.
Metadata & at(const std::string &param_name)

◆ setHitNode() [2/2]

void InputParameters::setHitNode ( const hit::Node &  node,
const SetHitNodeKey   
)
inline

Sets the hit node that represents the syntax responsible for creating these parameters.

Is protected to be called by only the ActionFactory, Builder, and Factory via the SetHitNodeKey.

Definition at line 1343 of file InputParameters.h.

1343 { _hit_node = &node; }
const hit::Node * _hit_node
The hit node representing the syntax that created these parameters, if any.

◆ setParameters() [1/2]

template<typename T , typename... Ts>
void InputParameters::setParameters ( const std::string &  name,
const T &  value,
Ts...  extra_input_parameters 
)

Given a series of parameters names and values, sets each name to the corresponding value.

Any number of name, value pairs can be supplied.

Note that each value must be of the correct type for the parameter of that name, not merely of a type convertible to the correct type.

Parameters
nameThe name of the first parameter to set

Definition at line 1614 of file InputParameters.h.

Referenced by MeshGenerator::addMeshSubgenerator(), SideSetsFromNormalsGenerator::validParams(), SideSetsFromPointsGenerator::validParams(), SideSetsFromAllNormalsGenerator::validParams(), and MFEMMatrixFreeAMS::validParams().

1617 {
1618  this->set<T>(name) = value;
1619  this->setParameters(extra_input_parameters...);
1620 }
std::string name(const ElemQuality q)
void setParameters()
Method to terminate the recursive setParameters definition.

◆ setParameters() [2/2]

void InputParameters::setParameters ( )
inlineprivate

Method to terminate the recursive setParameters definition.

Definition at line 1374 of file InputParameters.h.

Referenced by setParameters().

1374 {}

◆ setParamHelper() [1/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
PostprocessorName &  l_value,
const Real r_value 
)
private

Definition at line 1480 of file InputParameters.C.

1483 {
1484  // Assign the default value so that it appears in the dump
1485  std::ostringstream oss;
1486  oss << r_value;
1487  l_value = oss.str();
1488 }

◆ setParamHelper() [2/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
PostprocessorName &  l_value,
const int r_value 
)
private

Definition at line 1492 of file InputParameters.C.

1495 {
1496  // Assign the default value so that it appears in the dump
1497  std::ostringstream oss;
1498  oss << r_value;
1499  l_value = oss.str();
1500 }

◆ setParamHelper() [3/17]

template<typename T , typename S >
void InputParameters::setParamHelper ( const std::string &  name,
T &  l_value,
const S &  r_value 
)
private

This method is called when adding a Parameter with a default value, can be specialized for non-matching types.

Definition at line 1868 of file InputParameters.h.

Referenced by addParam().

1869 {
1870  l_value = r_value;
1871 }

◆ setParamHelper() [4/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
FunctionName &  l_value,
const Real r_value 
)
private

Definition at line 1504 of file InputParameters.C.

1507 {
1508  // Assign the default value so that it appears in the dump
1509  std::ostringstream oss;
1510  oss << r_value;
1511  l_value = oss.str();
1512 }

◆ setParamHelper() [5/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
FunctionName &  l_value,
const int r_value 
)
private

Definition at line 1516 of file InputParameters.C.

1519 {
1520  // Assign the default value so that it appears in the dump
1521  std::ostringstream oss;
1522  oss << r_value;
1523  l_value = oss.str();
1524 }

◆ setParamHelper() [6/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MaterialPropertyName &  l_value,
const Real r_value 
)
private

Definition at line 1528 of file InputParameters.C.

1531 {
1532  // Assign the default value so that it appears in the dump
1533  std::ostringstream oss;
1534  oss << r_value;
1535  l_value = oss.str();
1536 }

◆ setParamHelper() [7/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MaterialPropertyName &  l_value,
const int r_value 
)
private

Definition at line 1540 of file InputParameters.C.

1543 {
1544  // Assign the default value so that it appears in the dump
1545  std::ostringstream oss;
1546  oss << r_value;
1547  l_value = oss.str();
1548 }

◆ setParamHelper() [8/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MooseFunctorName &  l_value,
const Real r_value 
)
private

Definition at line 1552 of file InputParameters.C.

1555 {
1556  // Assign the default value so that it appears in the dump
1557  std::ostringstream oss;
1558  oss << r_value;
1559  l_value = oss.str();
1560 }

◆ setParamHelper() [9/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MooseFunctorName &  l_value,
const int r_value 
)
private

Definition at line 1564 of file InputParameters.C.

1567 {
1568  // Assign the default value so that it appears in the dump
1569  std::ostringstream oss;
1570  oss << r_value;
1571  l_value = oss.str();
1572 }

◆ setParamHelper() [10/17]

template<>
void InputParameters::setParamHelper ( const std::string &  name,
PostprocessorName &  l_value,
const Real r_value 
)
private

◆ setParamHelper() [11/17]

template<>
void InputParameters::setParamHelper ( const std::string &  name,
PostprocessorName &  l_value,
const int r_value 
)
private

◆ setParamHelper() [12/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
FunctionName &  l_value,
const Real r_value 
)
private

◆ setParamHelper() [13/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
FunctionName &  l_value,
const int r_value 
)
private

◆ setParamHelper() [14/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MaterialPropertyName &  l_value,
const Real r_value 
)
private

◆ setParamHelper() [15/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MaterialPropertyName &  l_value,
const int r_value 
)
private

◆ setParamHelper() [16/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MooseFunctorName &  l_value,
const Real r_value 
)
private

◆ setParamHelper() [17/17]

template<>
void InputParameters::setParamHelper ( const std::string &  ,
MooseFunctorName &  l_value,
const int r_value 
)
private

◆ setReservedValues()

void InputParameters::setReservedValues ( const std::string &  name,
const std::set< std::string > &  reserved 
)

Provide a set of reserved values for a parameter.

These are values that are in addition to the normal set of values the parameter can take.

Definition at line 1593 of file InputParameters.C.

Referenced by OutputInterface::validParams().

1595 {
1596  const auto name = checkForRename(name_in);
1597  _params[name]._reserved_values = reserved;
1598 }
std::string name(const ElemQuality q)
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ setupVariableNames()

std::optional< std::string > InputParameters::setupVariableNames ( std::vector< VariableName > &  names,
const hit::Node &  node,
const Moose::PassKey< Moose::Builder  
)

Entrypoint for the Builder to setup a std::vector<VariableName> parameter, which will setup the default variable names if appropriate.

Parameters
namesThe variable names
nodeThe hit node that produced this parameter
Returns
An error message, if any

Definition at line 1865 of file InputParameters.C.

1868 {
1869  // Whether or not a name was found
1870  bool has_name = false;
1871  // Whether or not a default value (real) was found
1872  bool has_default = false;
1873 
1874  // Search through the names for values that convert to Real values,
1875  // which are default values. If defaults are found, set appropriately
1876  // in the InputParameters object. Keep track of if names or defaults
1877  // were found because we don't allow having both
1878  for (const auto i : index_range(names))
1879  {
1880  auto & name = names[i];
1881  Real real_value;
1882  if (MooseUtils::convert<Real>(name, real_value, false))
1883  {
1884  has_default = true;
1885  defaultCoupledValue(node.path(), real_value, i);
1886  }
1887  else
1888  has_name = true;
1889  }
1890 
1891  if (has_default)
1892  {
1893  if (has_name)
1894  return {"invalid value for '" + node.fullpath() +
1895  "': coupled vectors where some parameters are reals and others are variables are not "
1896  "supported"};
1897 
1898  // Don't actually use the names if these don't represent names
1899  names.clear();
1900  }
1901 
1902  return {};
1903 }
std::string name(const ElemQuality q)
Real defaultCoupledValue(const std::string &coupling_name, unsigned int i=0) const
Get the default value for an optionally coupled variable.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
auto index_range(const T &sizable)

◆ shouldIgnore()

bool InputParameters::shouldIgnore ( const std::string &  name)

Whether to ignore the value of an input parameter set in the input file or from the command line.

Definition at line 1666 of file InputParameters.C.

1667 {
1668  const auto name = checkForRename(name_in);
1669  auto it = _params.find(name);
1670  if (it != _params.end())
1671  return it->second._ignore;
1672  mooseError("Parameter ", name, " does not exist");
1673 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ suppressParameter()

template<typename T >
void InputParameters::suppressParameter ( const std::string &  name)

This method suppresses an inherited parameter so that it isn't required or valid in the derived class.

The parameter is added to the private parameter list. Suppressing a parameter can have dire consequences. Use at your own risk!

Definition at line 2122 of file InputParameters.h.

Referenced by MassMatrix::setMassMatrixParams(), TimestepSize::validParams(), ExternalProblem::validParams(), DiscreteElementUserObject::validParams(), MooseObjectAction::validParams(), CSVReaderVectorPostprocessor::validParams(), SideSetsFromNormalsGenerator::validParams(), ParsedScalarReporter::validParams(), ParsedVectorRealReductionReporter::validParams(), ParsedVectorVectorRealReductionReporter::validParams(), OrientSurfaceMeshGenerator::validParams(), SideSetsBetweenSubdomainsGenerator::validParams(), DiffusionFV::validParams(), NumNonlinearIterations::validParams(), FVMassMatrix::validParams(), PseudoTimestep::validParams(), SideSetsFromPointsGenerator::validParams(), AccumulateReporter::validParams(), CentroidMultiApp::validParams(), Times::validParams(), MultiAppCloneReporterTransfer::validParams(), QuadraturePointMultiApp::validParams(), ElementHCurlSemiError::validParams(), SideSetsFromAllNormalsGenerator::validParams(), ElementHDivSemiError::validParams(), SideSetsFromBoundingBoxGenerator::validParams(), SurfaceSubdomainsFromAllNormalsGenerator::validParams(), SolutionInvalidityReporter::validParams(), NEML2PreKernel::validParams(), MultiAppGeneralFieldShapeEvaluationTransfer::validParams(), ParsedGenerateNodeset::validParams(), NEML2PostKernel::validParams(), CSV::validParams(), NodePositions::validParams(), MultiAppGeneralFieldUserObjectTransfer::validParams(), NEML2Assembly::validParams(), MultiAppGeneralFieldNearestLocationTransfer::validParams(), ReporterPointSource::validParams(), Moose::MFEM::EigensolverBase::validParams(), TagAuxBase< AuxKernel >::validParams(), FunctorExtremaPositions::validParams(), MortarNodalAuxKernelTempl< ComputeValueType >::validParams(), SideSetsAroundSubdomainGenerator::validParams(), ParsedGenerateSideset::validParams(), MooseStaticCondensationPreconditioner::validParams(), VariableResidualNormsDebugOutput::validParams(), MultiAppGeneralFieldFunctorTransfer::validParams(), Convergence::validParams(), ActionComponent::validParams(), NearestRadiusLayeredAverage::validParams(), MultiAppUserObjectTransfer::validParams(), Moose::FunctionBase::validParams(), NEML2FEInterpolation::validParams(), MeshGenerator::validParams(), ElementSubdomainModifierBase::validParams(), Executioner::validParams(), Marker::validParams(), and MFEMMatrixFreeAMS::validParams().

2123 {
2124  const auto name = checkForRename(name_in);
2125  if (!this->have_parameter<T>(name))
2126  mooseError("Unable to suppress nonexistent parameter: ", name);
2127 
2128  auto & metadata = _params[name];
2129  metadata._required = false;
2130  metadata._is_private = true;
2131  metadata._controllable = false;
2132 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ transferParam()

template<typename T >
void InputParameters::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' validParams to another.

Parameters
source_paramThe parameters list holding the param we would like to transfer
nameThe name of the parameter to transfer
new_descriptionA new description of the parameter. If unspecified, uses the source_params'

Definition at line 2409 of file InputParameters.h.

Referenced by DiffusionCG::validParams(), and MooseVariableBase::validParams().

2413 {
2414  const auto name = source_params.checkForRename(std::string(name_in));
2415  const auto p_name = new_name.empty() ? name_in : new_name;
2416  if (!source_params.have_parameter<T>(name) && !source_params.hasCoupledVar(name))
2417  mooseError("The '",
2418  name_in,
2419  "' parameter could not be transferred because it does not exist with type '",
2420  MooseUtils::prettyCppType<T>(),
2421  "' in the source parameters");
2422  if (name != name_in)
2423  mooseWarning("The transferred parameter " + name_in + " is deprecated in favor of " + name +
2424  " in the source parameters. The new name should likely be used for the parameter "
2425  "transfer instead.");
2426  const std::string description =
2427  new_description.empty() ? source_params.getDescription(name) : new_description;
2428 
2429  if (source_params.isParamRequired(name))
2430  {
2431  // Check for a variable parameter
2432  if (source_params.hasCoupledVar(name))
2433  addRequiredCoupledVar(p_name, description);
2434  // Enums parameters have a default list of options
2435  else if constexpr (std::is_same_v<MooseEnum, T> || std::is_same_v<MultiMooseEnum, T>)
2436  addRequiredParam<T>(p_name, source_params.get<T>(name), description);
2437  else if (source_params.isRangeChecked(name))
2438  addRequiredRangeCheckedParam<T>(
2439  p_name, source_params.rangeCheckedFunction(name), description);
2440  else
2441  addRequiredParam<T>(p_name, description);
2442  }
2443  else
2444  {
2445  // Check for a variable parameter
2446  if (source_params.hasCoupledVar(name))
2447  {
2448  if (!source_params.hasDefaultCoupledValue(name))
2449  addCoupledVar(p_name, description);
2450  else if (source_params.numberDefaultCoupledValues(name) == 1)
2451  addCoupledVar(p_name, source_params.defaultCoupledValue(name), description);
2452  else
2453  {
2454  std::vector<Real> coupled_values;
2455  for (const auto i : libMesh::make_range(source_params.numberDefaultCoupledValues(name)))
2456  coupled_values.push_back(source_params.defaultCoupledValue(name, i));
2457  addCoupledVar(p_name, coupled_values, description);
2458  }
2459  }
2460  else if (source_params.isRangeChecked(name))
2461  {
2462  if (source_params.hasDefault(name))
2463  addRangeCheckedParam<T>(p_name,
2464  source_params.get<T>(name),
2465  source_params.rangeCheckedFunction(name),
2466  description);
2467  else
2468  addRangeCheckedParam<T>(p_name, source_params.rangeCheckedFunction(name), description);
2469  }
2470  else if constexpr (std::is_same_v<MooseEnum, T> || std::is_same_v<MultiMooseEnum, T>)
2471  addParam<T>(p_name, source_params.get<T>(name), description);
2472  else
2473  {
2474  if (source_params.hasDefault(name))
2475  addParam<T>(p_name, source_params.get<T>(name), description);
2476  else
2477  addParam<T>(p_name, description);
2478  }
2479  }
2480 
2481  // Copy other attributes
2482  if (source_params.isPrivate(name))
2483  _params[p_name]._is_private = true;
2484  if (source_params.isControllable(name))
2485  _params[p_name]._controllable = true;
2486 }
std::string name(const ElemQuality q)
void mooseWarning(Args &&... args)
Emit a warning message with the given stringified, concatenated args.
Definition: MooseError.h:345
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
void addCoupledVar(const std::string &name, const std::string &doc_string)
This method adds a coupled variable name pair.
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
This method adds a coupled variable name pair.
IntRange< T > make_range(T beg, T end)
std::map< std::string, Metadata > _params
The actual parameter data.

◆ type()

std::string InputParameters::type ( const std::string &  name) const

Prints the type of the requested parameter by name.

Definition at line 916 of file InputParameters.C.

Referenced by MooseServer::addValuesToList(), BatchMeshGeneratorAction::checkInputParameterType(), PostprocessorInterface::checkParam(), MooseServer::getFileNameTypeValues(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseServer::getNodesByValueAndTypes(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), and operator=().

917 {
918  const auto name = checkForRename(name_in);
919  if (!_values.count(name))
920  mooseError("Parameter \"", name, "\" not found.\n\n", *this);
921 
922  if (_coupled_vars.find(name) != _coupled_vars.end())
923  return "std::vector<VariableName>";
924  else if (_params.count(name) > 0 && !_params.at(name)._custom_type.empty())
925  return _params.at(name)._custom_type;
926  return _values.at(name)->type();
927 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::set< std::string > _coupled_vars
The coupled variables set.
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
std::map< std::string, Metadata > _params
The actual parameter data.

◆ varName()

std::string InputParameters::varName ( const std::string &  var_param_name,
const std::string &  moose_object_with_var_param_name 
) const

Determine the actual variable name from the given variable parameter name.

Parameters
var_param_namethe name of the variable parameter, e.g. 'variable'
moose_object_with_var_param_namethe name of the moose object holding the variable parameter. Used for potential error messaging

Definition at line 1722 of file InputParameters.C.

Referenced by FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addHDGKernel(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addScalarKernel(), and MooseVariableInterface< Real >::MooseVariableInterface().

1724 {
1725  // Try the scalar version first
1726  std::string variable_name = getMooseType(var_param_name);
1727  if (variable_name == "")
1728  {
1729  auto vec = getVecMooseType(var_param_name);
1730 
1731  // Catch the (very unlikely) case where a user specifies
1732  // variable = '' (the empty string)
1733  // in their input file. This could happen if e.g. something goes
1734  // wrong with dollar bracket expression expansion.
1735  if (vec.empty())
1736  mooseError("Error constructing object '",
1737  moose_object_with_var_param_name,
1738  "' while retrieving value for '",
1739  var_param_name,
1740  "' parameter! Did you forget to set '",
1741  var_param_name,
1742  "' or set it to '' (empty string) by accident?");
1743 
1744  // When using vector variables, we are only going to use the first one in the list at the
1745  // interface level...
1746  variable_name = vec[0];
1747  }
1748 
1749  return variable_name;
1750 }
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class...
void mooseError(Args &&... args) const
Emits an error prefixed with the object information, if available.
std::vector< std::string > getVecMooseType(const std::string &name) const

Friends And Related Function Documentation

◆ ActionWarehouse

friend class ActionWarehouse
friend

Definition at line 1583 of file InputParameters.h.

◆ emptyInputParameters

InputParameters emptyInputParameters ( )
friend

Definition at line 31 of file InputParameters.C.

32 {
33  InputParameters params;
34  return params;
35 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...

◆ InputParameterWarehouse

friend class InputParameterWarehouse
friend

Definition at line 1580 of file InputParameters.h.

◆ Parser

friend class Parser
friend

Definition at line 1581 of file InputParameters.h.

Member Data Documentation

◆ _allow_copy

bool InputParameters::_allow_copy
private

A flag for toggling the error message in the copy constructor.

Definition at line 1557 of file InputParameters.h.

Referenced by allowCopy(), clear(), and operator=().

◆ _buildable_rm_types

std::vector<std::tuple<std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback> > InputParameters::_buildable_rm_types
private

The RelationshipManagers that this object may either build or require.

The optional second argument may be supplied to "downgrade" the functionality of the corresponding relationship manager (e.g. An AlgebraicRelationshipManager could be only used as a GeometricRelationshipManager for a given simulation).

Definition at line 1543 of file InputParameters.h.

Referenced by addRelationshipManager(), clearRelationshipManagers(), getBuildableRelationshipManagerTypes(), operator+=(), and operator=().

◆ _buildable_types

std::vector<std::string> InputParameters::_buildable_types
private

The parameter is used to restrict types that can be built.

Typically this is used for MooseObjectAction derived Actions.

Definition at line 1534 of file InputParameters.h.

Referenced by getBuildableTypes(), operator+=(), operator=(), and registerBuildableTypes().

◆ _class_description

std::string InputParameters::_class_description
private

The class description for the owning object.

This string is used in many places including mouse-over events, and external documentation produced from the source code.

Definition at line 1530 of file InputParameters.h.

Referenced by addClassDescription(), and getClassDescription().

◆ _collapse_nesting

bool InputParameters::_collapse_nesting
private

This parameter collapses one level of nesting in the syntax blocks.

It is used in conjunction with MooseObjectAction derived Actions.

Definition at line 1547 of file InputParameters.h.

Referenced by clear(), collapseSyntaxNesting(), InputParameters(), and operator=().

◆ _coupled_vars

std::set<std::string> InputParameters::_coupled_vars
private

◆ _finalized

bool InputParameters::_finalized
private

Whether or not we've called finalize() on these parameters yet.

Definition at line 1576 of file InputParameters.h.

Referenced by clear(), finalize(), isFinalized(), and operator=().

◆ _hit_node

const hit::Node* InputParameters::_hit_node
private

The hit node representing the syntax that created these parameters, if any.

Definition at line 1573 of file InputParameters.h.

Referenced by clear(), getHitNode(), operator=(), and setHitNode().

◆ _moose_object_syntax_visibility

bool InputParameters::_moose_object_syntax_visibility
private

This parameter hides derived MOOSE object types from appearing in syntax dumps.

Definition at line 1550 of file InputParameters.h.

Referenced by clear(), InputParameters(), mooseObjectSyntaxVisibility(), and operator=().

◆ _new_to_deprecated_coupled_vars

std::unordered_map<std::string, std::string> InputParameters::_new_to_deprecated_coupled_vars
private

A map from deprecated coupled variable names to the new blessed name.

Definition at line 1560 of file InputParameters.h.

Referenced by addDeprecatedCoupledVar(), checkParams(), clear(), getNewToDeprecatedVarMap(), operator+=(), operator=(), and setDeprecatedVarDocString().

◆ _new_to_old_names

std::multimap<std::string, std::string> InputParameters::_new_to_old_names
private

A map from derived-class/blessed parameter names to associated base-class/deprecated parameter names.

Definition at line 1570 of file InputParameters.h.

Referenced by clear(), operator+=(), operator=(), paramAliases(), and renameParamInternal().

◆ _old_to_new_name_and_dep

std::map<std::string, std::pair<std::string, std::string> > InputParameters::_old_to_new_name_and_dep
private

A map from base-class/deprecated parameter names to derived-class/blessed parameter names and the deprecation messages in the case that the "old" parameter name is a deprecated parameter name.

The deprecation message will be empty if the "old" parameter name represents a base class parameter name

Definition at line 1566 of file InputParameters.h.

Referenced by addDeprecatedParam(), checkForRename(), clear(), operator+=(), operator=(), queryDeprecatedParamMessage(), and renameParamInternal().

◆ _params

std::map<std::string, Metadata> InputParameters::_params
private

◆ _show_deprecated_message

bool InputParameters::_show_deprecated_message
private

Flag for disabling deprecated parameters message, this is used by applyParameters to avoid dumping messages.

Definition at line 1554 of file InputParameters.h.

Referenced by addDeprecatedCoupledVar(), addDeprecatedCustomTypeParam(), addDeprecatedParam(), applyCoupledVar(), applyParameter(), clear(), and queryDeprecatedParamMessage().


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