www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Material Class Reference

Materials compute MaterialProperties. More...

#include <Material.h>

Inheritance diagram for Material:
[legend]

Public Types

enum  ConstantTypeEnum { ConstantTypeEnum::NONE, ConstantTypeEnum::ELEMENT, ConstantTypeEnum::SUBDOMAIN }
 
enum  TEST_TYPE { ALL, ANY }
 A flag changing the behavior of hasBoundary. More...
 

Public Member Functions

 Material (const InputParameters &parameters)
 
virtual const dof_id_typegetElementID (const std::string &id_parameter_name, unsigned int comp=0) const override
 Gets an element integer for the proper current element with a parameter of the object derived from this interface Note: This overrides the function in ElementIDInterface to assure derived materials call the functions in ElementIDInterface properly. More...
 
virtual const dof_id_typegetElementIDNeighbor (const std::string &id_parameter_name, unsigned int comp=0) const override
 Directly calling this function is not needed for materials because the same material has three copies for element interior, element side and neighbor side. More...
 
virtual const dof_id_typegetElementIDByName (const std::string &id_parameter_name) const override
 Gets an element integer for the proper current element with the element integer name Note: This overrides the function in ElementIDInterface to assure derived materials call the functions in ElementIDInterface properly. More...
 
virtual const dof_id_typegetElementIDNeighborByName (const std::string &id_parameter_name) const override
 Directly calling this function is not needed for materials because the same material has three copies for element interior, element side and neighbor side. More...
 
virtual void computeProperties () override
 Performs the quadrature point loop, calling computeQpProperties. More...
 
MaterialBasegetMaterial (const std::string &name)
 Retrieve the discrete material with a given parameter key named "name". More...
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false, bool no_dep=false)
 Retrieve the discrete material named "name". More...
 
virtual bool isBoundaryMaterial () const override
 Returns true of the MaterialData type is not associated with volume data. More...
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const override
 Retrieve the set of material properties that this object depends on. More...
 
virtual void subdomainSetup () override
 Subdomain setup evaluating material properties when required. More...
 
bool ghostable () const override final
 Whether this material supports ghosted computations. More...
 
virtual void resolveOptionalProperties () override
 resolve all optional properties More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 Return a constant zero anonymous material property. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
template<typename T , typename... Ts>
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 for backwards compatibility More...
 
virtual void initStatefulProperties (unsigned int n_points)
 Initialize stateful properties (if material has some) More...
 
virtual bool isInterfaceMaterial ()
 
virtual void resetProperties ()
 Resets the properties at each quadrature point (see resetQpProperties), only called if 'compute = false'. More...
 
virtual void computePropertiesAtQp (unsigned int qp)
 A method for (re)computing the properties of a MaterialBase. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 Return a constant zero anonymous material property. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
template<typename T , typename... Ts>
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 for backwards compatibility More...
 
template<typename T , typename... Ts>
const MaterialProperty< T > & getZeroMaterialPropertyByName (Ts... args)
 for backwards compatibility More...
 
virtual const std::set< std::string > & getRequestedItems () override
 Return a set of properties accessed with getMaterialProperty. More...
 
virtual const std::set< std::string > & getSuppliedItems () override
 Return a set of properties accessed with declareProperty. More...
 
const std::set< unsigned int > & getSuppliedPropIDs ()
 Get the prop ids corresponding to declareProperty. More...
 
void checkStatefulSanity () const
 
std::set< OutputName > getOutputs ()
 Get the list of output objects that this class is restricted. More...
 
bool hasStatefulProperties () const
 
void setFaceInfo (const FaceInfo &fi)
 
void setActiveProperties (const std::unordered_set< unsigned int > &needed_props)
 Set active properties of this material Note: This function is called by FEProblemBase::setActiveMaterialProperties in an element loop typically when switching subdomains. More...
 
bool forceStatefulInit () const
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
virtual const std::string & name () const
 Get the name of the class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 The unique parameter name of a valid parameter of this object for accessing parameter controls. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
MooseObjectName uniqueName () const
 The unique name for accessing input parameters of this object in the InputParameterWarehouse. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
bool isParamSetByUser (const std::string &nm) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
std::string objectErrorPrefix (const std::string &error_type) const
 A descriptive prefix for errors for an object. More...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type. More...
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
std::string errorPrefix (const std::string &error_type) const
 A descriptive prefix for errors for this object: More...
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Returns the path of a data file for a given FileName type parameter, searching (in the following order) More...
 
std::string getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const
 Returns the path of a data file for a given relative file path. More...
 
const std::vector< SubdomainName > & blocks () const
 Return the block names for this object. More...
 
unsigned int numBlocks () const
 Return the number of blocks for this object. More...
 
virtual const std::set< SubdomainID > & blockIDs () const
 Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids. More...
 
unsigned int blocksMaxDimension () const
 Return the largest mesh dimension of the elements in the blocks for this object. More...
 
bool hasBlocks (const SubdomainName &name) const
 Test if the supplied block name is valid for this object. More...
 
bool hasBlocks (const std::vector< SubdomainName > &names) const
 Test if the supplied vector of block names are valid for this object. More...
 
bool hasBlocks (SubdomainID id) const
 Test if the supplied block ids are valid for this object. More...
 
bool hasBlocks (const std::vector< SubdomainID > &ids) const
 Test if the supplied vector block ids are valid for this object. More...
 
bool hasBlocks (const std::set< SubdomainID > &ids) const
 Test if the supplied set of block ids are valid for this object. More...
 
bool isBlockSubset (const std::set< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects. More...
 
bool isBlockSubset (const std::vector< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects. More...
 
template<typename T , bool is_ad = false>
bool hasBlockMaterialProperty (const std::string &prop_name)
 Check if a material property is valid for all blocks of this object. More...
 
const std::set< SubdomainID > & meshBlockIDs () const
 Return all of the SubdomainIDs for the mesh. More...
 
virtual bool blockRestricted () const
 Returns true if this object has been restricted to a block. More...
 
virtual void checkVariable (const MooseVariableFieldBase &variable) const
 Helper for checking that the ids for this object are in agreement with the variables on the supplied variable. More...
 
virtual const std::set< BoundaryID > & boundaryIDs () const
 Return the boundary IDs for this object. More...
 
const std::vector< BoundaryName > & boundaryNames () const
 Return the boundary names for this object. More...
 
unsigned int numBoundaryIDs () const
 Return the number of boundaries for this object. More...
 
bool hasBoundary (const BoundaryName &name) const
 Test if the supplied boundary name is valid for this object. More...
 
bool hasBoundary (const std::vector< BoundaryName > &names) const
 Test if the supplied vector of boundary names are valid for this object. More...
 
bool hasBoundary (const BoundaryID &id) const
 Test if the supplied boundary ids are valid for this object. More...
 
bool hasBoundary (const std::vector< BoundaryID > &ids, TEST_TYPE type=ALL) const
 Test if the supplied vector boundary ids are valid for this object. More...
 
bool hasBoundary (const std::set< BoundaryID > &ids, TEST_TYPE type=ALL) const
 Test if the supplied set of boundary ids are valid for this object. More...
 
bool isBoundarySubset (const std::set< BoundaryID > &ids) const
 Test if the class boundary ids are a subset of the supplied objects. More...
 
bool isBoundarySubset (const std::vector< BoundaryID > &ids) const
 
template<typename T , bool is_ad = false>
bool hasBoundaryMaterialProperty (const std::string &prop_name) const
 Check if a material property is valid for all boundaries of this object. More...
 
virtual bool boundaryRestricted () const
 Returns true if this object has been restricted to a boundary. More...
 
const std::set< BoundaryID > & meshBoundaryIDs () const
 Returns the set of all boundary ids for the entire mesh. More...
 
virtual bool checkVariableBoundaryIntegrity () const
 Whether integrity/coverage checking should be conducted for moose variables used in this object. More...
 
virtual void initialSetup ()
 Gets called at the beginning of the simulation before this object is asked to do its job. More...
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job. More...
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job. More...
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job. More...
 
virtual void customSetup (const ExecFlagType &)
 Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain. More...
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object. More...
 
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies () const
 Retrieve the set of MooseVariableFieldBase that this object depends on. More...
 
template<typename DofObjectType >
std::set< MooseVariableFieldBase * > checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_omit={})
 Check whether all of the variable dependencies have degree of freedom indices on the supplied degree of freedom object. More...
 
template<typename DofObjectType >
std::set< MooseVariableFieldBase * > checkVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_check)
 Check whether all of the supplied variables have degree of freedom indices on the supplied degree of freedom object. More...
 
const std::vector< MooseVariableScalar * > & getCoupledMooseScalarVars ()
 Get the list of coupled scalar variables. More...
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
const FunctiongetFunction (const std::string &name) const
 Get a function with a given name. More...
 
const FunctiongetFunctionByName (const FunctionName &name) const
 Get a function with a given name. More...
 
bool hasFunction (const std::string &param_name) const
 Determine if the function exists. More...
 
bool hasFunctionByName (const FunctionName &name) const
 Determine if the function exists. More...
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
template<class T >
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 Get an user object with a given parameter param_name. More...
 
template<class T >
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 Get an user object with the name object_name. More...
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 Get an user object with a given parameter param_name. More...
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 Get an user object with the name object_name. More...
 
bool isImplicit ()
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 Determine whether or not the Postprocessor is a default value. More...
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 Determine if the Postprocessor data exists. More...
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 Determine if the Postprocessor data exists. More...
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 Returns number of Postprocessors coupled under parameter name. More...
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 Get the name of a postprocessor. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 Retrieve the value of a VectorPostprocessor. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 Retrieve the value of the VectorPostprocessor. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 Retrieve the old value of a VectorPostprocessor. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 Retrieve the old value of a VectorPostprocessor. More...
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 Return the scatter value for the post processor. More...
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 Return the scatter value for the post processor. More...
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 Return the old scatter value for the post processor. More...
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 Return the old scatter value for the post processor. More...
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 Determine if the VectorPostprocessor data exists by parameter. More...
 
bool hasVectorPostprocessor (const std::string &param_name) const
 Determine if the VectorPostprocessor exists by parameter. More...
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 Determine if the VectorPostprocessor data exists by name. More...
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 Determine if the VectorPostprocessor exists by name. More...
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 Get the name of a VectorPostprocessor associated with a parameter. More...
 
virtual void meshChanged ()
 Called on this object when the mesh changes. More...
 
void buildOutputHideVariableList (std::set< std::string > variable_names)
 Builds hide lists for output objects NOT listed in the 'outputs' parameter. More...
 
void setRandomResetFrequency (ExecFlagType exec_flag)
 This interface should be called from a derived class to enable random number generation in this object. More...
 
unsigned long getRandomLong () const
 Returns the next random number (long) from the generator tied to this object (elem/node). More...
 
Real getRandomReal () const
 Returns the next random number (Real) from the generator tied to this object (elem/node). More...
 
unsigned int getSeed (std::size_t id)
 Get the seed for the passed in elem/node id. More...
 
unsigned int getMasterSeed () const
 
bool isNodal () const
 
ExecFlagType getResetOnTime () const
 
void setRandomDataPointer (RandomData *random_data)
 
virtual unsigned int getElementIDIndex (const std::string &id_parameter_name, unsigned int comp=0) const
 Gets index of an element integer with a parameter of the object derived from this interface. More...
 
virtual unsigned int getElementIDIndexByName (const std::string &id_name) const
 Return the accessing integer for an extra element integer with its name. More...
 
dof_id_type getElementID (const Elem *elem, unsigned int elem_id_index) const
 Get an element integer for an element. More...
 
bool hasElementID (const std::string &id_name) const
 Whether mesh has an element integer with a given name. More...
 
dof_id_type maxElementID (unsigned int elem_id_index) const
 Return the maximum element ID for an element integer with its index. More...
 
dof_id_type minElementID (unsigned int elem_id_index) const
 Return the minimum element ID for an element integer with its index. More...
 
bool areElemIDsIdentical (const std::string &id_name1, const std::string &id_name2) const
 Whether two element integers are identical for all elements. More...
 
std::unordered_map< dof_id_type, std::set< dof_id_type > > getElemIDMapping (const std::string &id_name1, const std::string &id_name2) const
 Get the mapping from IDs of one extra element integer to another given the two integer names. More...
 
std::set< dof_id_typegetAllElemIDs (unsigned int elem_id_index) const
 Return all the unique element IDs for an element integer with its index on the entire domain. More...
 
std::set< dof_id_typegetElemIDsOnBlocks (unsigned int elem_id_index, const std::set< SubdomainID > &blks) const
 Return all the unique element IDs for an extra element integer with its index on a set of subdomains. More...
 
const std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > & getCoupledVars () const
 Get the list of coupled variables. More...
 
const std::vector< MooseVariableFieldBase * > & getCoupledMooseVars () const
 Get the list of all coupled variables. More...
 
const std::vector< MooseVariable * > & getCoupledStandardMooseVars () const
 Get the list of standard coupled variables. More...
 
const std::vector< VectorMooseVariable * > & getCoupledVectorMooseVars () const
 Get the list of vector coupled variables. More...
 
const std::vector< ArrayMooseVariable * > & getCoupledArrayMooseVars () const
 Get the list of array coupled variables. More...
 
void addFEVariableCoupleableVectorTag (TagID tag)
 
void addFEVariableCoupleableMatrixTag (TagID tag)
 
std::set< TagID > & getFEVariableCoupleableVectorTags ()
 
const std::set< TagID > & getFEVariableCoupleableVectorTags () const
 
std::set< TagID > & getFEVariableCoupleableMatrixTags ()
 
const std::set< TagID > & getFEVariableCoupleableMatrixTags () const
 
auto & getWritableCoupledVariables () const
 returns a reference to the set of writable coupled variables More...
 
bool hasWritableCoupledVariables () const
 Checks whether the object has any writable coupled variables. More...
 
const ADVariableValuegetADDefaultValue (const std::string &var_name) const
 Helper method to return (and insert if necessary) the default value for Automatic Differentiation for an uncoupled variable. More...
 
const ADVectorVariableValuegetADDefaultVectorValue (const std::string &var_name) const
 Helper method to return (and insert if necessary) the default vector value for Automatic Differentiation for an uncoupled variable. More...
 
const ADVariableGradientgetADDefaultGradient () const
 Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation for an uncoupled variable. More...
 
const ADVectorVariableGradientgetADDefaultVectorGradient () const
 Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation for an uncoupled vector variable. More...
 
const ADVariableSecondgetADDefaultSecond () const
 Helper method to return (and insert if necessary) the default second derivatives for Automatic Differentiation for an uncoupled variable. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 Retrieve the generic property named "name" for the specified material_data at state state. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 Retrieve the property named "name" for the specified material_data. More...
 
template<typename T >
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name, MaterialData &material_data)
 Retrieve the AD property named "name" for the specified material_data. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name, MaterialData &material_data)
 Retrieve the old property deduced from the name name for the specified material_data. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name, MaterialData &material_data)
 Retrieve the older property deduced from the name name for the specified material_data. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state)
 Retrieve the generic property named "name" without any deduction for the specified material_data for state state. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0)
 Retrieve the property named "name" without any deduction for the specified material_data. More...
 
template<typename T >
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data)
 Retrieve the AD property named "name" without any deduction for the specified material_data. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 Retrieve the old property named name without any deduction for the specified material_data. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 Retrieve the older property named name without any deduction for the specified material_data. More...
 
template<typename T >
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 Retrieve pointer to a material property with the mesh blocks where it is defined The name required by this method is the name defined in the input file. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 Return a constant zero anonymous material property. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
template<typename T , typename... Ts>
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 for backwards compatibility More...
 
std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 Retrieve the block ids that the material property is defined. More...
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 Retrieve the block names that the material property is defined. More...
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 Retrieve the boundary ids that the material property is defined. More...
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 Retrieve the boundary namess that the material property is defined. More...
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 Check if block and boundary restrictions of a given material are compatible with the current material. More...
 
std::unordered_map< SubdomainID, std::vector< MaterialBase * > > buildRequiredMaterials (bool allow_stateful=true)
 get a map of MaterialBase pointers for all material objects that this object depends on for each block More...
 
void statefulPropertiesAllowed (bool)
 Derived classes can declare whether or not they work with stateful material properties. More...
 
bool getMaterialPropertyCalled () const
 Returns true if getMaterialProperty() has been called, false otherwise. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 Retrieve the generic property named "prop_name" without any deduction for the specified material_data for state state. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 Retrieve the property through a given input parameter key with a fallback to getting it by name. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
template<typename T >
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const std::string &name, const unsigned int state=0)
 Retrieve the property named "name". More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyByName (const std::string &prop_name, const unsigned int state=0)
 
template<typename T >
const ADMaterialProperty< T > & getADMaterialPropertyByName (const std::string &prop_name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOldByName (const std::string &prop_name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlderByName (const std::string &prop_name)
 
template<typename T , bool is_ad>
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 Optional material property getters. More...
 
template<typename T >
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
template<typename T >
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
template<typename T >
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
template<typename T >
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
template<typename T >
MaterialProperty< T > & declarePropertyByName (const std::string &prop_name)
 Declare the property named "name". More...
 
template<typename T >
MaterialProperty< T > & declareProperty (const std::string &name)
 
template<typename T >
ADMaterialProperty< T > & declareADPropertyByName (const std::string &prop_name)
 
template<typename T >
ADMaterialProperty< T > & declareADProperty (const std::string &name)
 
template<typename T , bool is_ad>
auto & declareGenericProperty (const std::string &prop_name)
 
template<typename T , bool is_ad>
GenericMaterialProperty< T, is_ad > & declareGenericPropertyByName (const std::string &prop_name)
 
const DistributiongetDistribution (const std::string &name) const
 Get a distribution with a given name. More...
 
template<typename T >
const T & getDistribution (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 Get a distribution with a given name. More...
 
template<typename T >
const T & getDistributionByName (const std::string &name) const
 
bool hasUserObject (const std::string &param_name) const
 
template<class T >
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
template<class T >
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 doco-normal-methods-begin Retrieve the value of a Postprocessor or one of it's old or older values More...
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 Retrieve the value of the Postprocessor. More...
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 Return true if the VectorPostprocessor is marked with parallel_type as DISTRIBUTED. More...
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 Retrieve reference to material property or its old or older value The name required by this method is the name defined in the input file. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
template<typename T >
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
template<typename T >
bool hasMaterialProperty (const std::string &name)
 Check if the material property exists. More...
 
template<typename T >
bool hasMaterialPropertyByName (const std::string &name)
 
template<typename T >
bool hasADMaterialProperty (const std::string &name)
 
template<typename T >
bool hasADMaterialPropertyByName (const std::string &name)
 
template<typename T , bool is_ad>
bool hasGenericMaterialProperty (const std::string &name)
 generic hasMaterialProperty helper More...
 
template<typename T , bool is_ad>
bool hasGenericMaterialPropertyByName (const std::string &name)
 

Static Public Member Functions

static InputParameters validParams ()
 
template<typename Consumers >
static std::deque< MaterialBase * > buildRequiredMaterials (const Consumers &mat_consumers, const std::vector< std::shared_ptr< MaterialBase >> &mats, const bool allow_stateful)
 Build the materials required by a set of consumer objects. More...
 
static bool restricted (const std::set< BoundaryID > &ids)
 Helper for determining if the object is boundary restricted. More...
 
template<typename T >
static void sort (typename std::vector< T > &vector)
 Given a vector, sort using the getRequested/SuppliedItems sets. More...
 
template<typename T >
static void sortDFS (typename std::vector< T > &vector)
 Given a vector, sort using the depth-first search. More...
 
template<typename T , typename T2 >
static void cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header)
 A helper method for cyclic errors. More...
 

Public Attributes

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

Static Public Attributes

static constexpr PropertyValue::id_type default_property_id
 The material property ID for a default (parsed from input) property. More...
 
static constexpr PropertyValue::id_type zero_property_id = PropertyValue::invalid_property_id - 2
 The material property ID for a zero property. More...
 

Protected Types

enum  QP_Data_Type { CURR, PREV }
 

Protected Member Functions

virtual void checkMaterialProperty (const std::string &name, const unsigned int state) override
 A helper method for checking material properties This method was required to avoid a compiler problem with the template getMaterialProperty method. More...
 
virtual const MaterialDatamaterialData () const override
 
virtual MaterialDatamaterialData () override
 
virtual const QBase & qRule () const override
 
virtual void computeQpProperties ()
 Users must override this method. More...
 
virtual void resetQpProperties ()
 Resets the properties prior to calculation of traditional materials (only if 'compute = false'). More...
 
virtual void initQpStatefulProperties ()
 Initialize stateful properties at quadrature points. More...
 
virtual const FEProblemBasemiProblem () const
 
virtual FEProblemBasemiProblem ()
 
bool isPropertyActive (const unsigned int prop_id) const
 Check whether a material property is active. More...
 
void registerPropName (const std::string &prop_name, bool is_get, const unsigned int state)
 Small helper function to call store{Subdomain,Boundary}MatPropName. More...
 
void checkExecutionStage ()
 Check and throw an error if the execution has progressed past the construction stage. More...
 
virtual bool hasBlockMaterialPropertyHelper (const std::string &prop_name)
 A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty. More...
 
void initializeBlockRestrictable (const MooseObject *moose_object)
 An initialization routine needed for dual constructors. More...
 
Moose::CoordinateSystemType getBlockCoordSystem ()
 Check if the blocks this object operates on all have the same coordinate system, and if so return it. More...
 
bool hasBoundaryMaterialPropertyHelper (const std::string &prop_name) const
 A helper method to avoid circular #include problems. More...
 
void addMooseVariableDependency (MooseVariableFieldBase *var)
 Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends on. More...
 
void addMooseVariableDependency (const std::vector< MooseVariableFieldBase *> &vars)
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 Returns true if a variables has been coupled_as name. More...
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 Return the number of components to the coupled scalar variable. More...
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 Returns the index for a scalar coupled variable by name. More...
 
Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 Returns the order for a scalar coupled variable by name. More...
 
const VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a scalar coupled variable. More...
 
const ADVariableValueadCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 Returns AD value of a scalar coupled variable. More...
 
template<bool is_ad>
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled scalar variable for use in templated automatic differentiation classes. More...
 
template<>
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
template<>
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 Returns value of a scalar coupled variable. More...
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 Returns value of a scalar coupled variable. More...
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 Returns the old (previous time step) value of a scalar coupled variable. More...
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 Returns the older (two time steps previous) value of a scalar coupled variable. More...
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 Returns the time derivative of a scalar coupled variable. More...
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 Returns the time derivative of a scalar coupled variable, including its dependence on the nonlinear degrees of freedom through automatic differentiation. More...
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 Returns the second time derivative of a scalar coupled variable. More...
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 Returns the old time derivative of a scalar coupled variable. More...
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 Returns the old second time derivative of a scalar coupled variable. More...
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a scalar coupled variable with respect to the coefficients. More...
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a scalar coupled variable with respect to the coefficients. More...
 
const MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp) const
 Extract pointer to a scalar coupled variable. More...
 
virtual void addUserObjectDependencyHelper (const UserObject &) const
 Helper for deriving classes to override to add dependencies when a UserObject is requested. More...
 
Moose::StateArg determineState () const
 Create a functor state argument that corresponds to the implicit state of this object. More...
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 Helper for deriving classes to override to add dependencies when a Postprocessor is requested. More...
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const
 Helper for deriving classes to override to add dependencies when a VectorPostprocessor is requested. More...
 
template<typename T , typename... Args>
T & declareRestartableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declares a piece of "managed" restartable data and initialize it. More...
 
template<typename T , typename... Args>
const T & getRestartableData (const std::string &data_name) const
 Declare a piece of data as "restartable" and initialize it Similar to declareRestartableData but returns a const reference to the object. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "recoverable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 Declare a piece of data as "restartable". More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 Declare a piece of data as "restartable". More...
 
std::string restartableName (const std::string &data_name) const
 Gets the name of a piece of restartable data given a data name, adding the system name and object name prefix. More...
 
PenetrationLocatorgetPenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 Retrieve the PentrationLocator associated with the two sides. More...
 
PenetrationLocatorgetQuadraturePenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 Retrieve the Quadrature PentrationLocator associated with the two sides. More...
 
NearestNodeLocatorgetNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 Retrieve the PentrationLocator associated with the two sides. More...
 
NearestNodeLocatorgetQuadratureNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 Retrieve a Quadrature NearestNodeLocator associated with the two sides. More...
 
bool requiresGeometricSearch () const
 Whether any of this interface's methods have been called, e.g. More...
 
std::string deduceFunctorName (const std::string &name) const
 Small helper to look up a functor name through the input parameter keys. More...
 
template<typename T >
const Moose::Functor< T > & getFunctor (const std::string &name)
 Retrieves a functor from the subproblem. More...
 
template<typename T >
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 Retrieves a functor from the subproblem. More...
 
template<typename T >
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 Retrieves a functor from the passed-in subproblem. More...
 
template<typename T >
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 Retrieves a functor from the passed-in subproblem. More...
 
bool isFunctor (const std::string &name) const
 Checks the subproblem for the given functor. More...
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 Checks the passed-in subproblem for the given functor. More...
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 Helper method to create an elemental argument for a functor that includes whether to perform skewness corrections. More...
 
void flagInvalidSolutionInternal (InvalidSolutionID _invalid_solution_id) const
 Set solution invalid mark for the given solution ID. More...
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message) const
 
virtual void coupledCallback (const std::string &, bool) const
 A call-back function provided by the derived object for actions before coupling a variable with functions such as coupledValue. More...
 
virtual bool isCoupled (const std::string &var_name, unsigned int i=0) const
 Returns true if a variables has been coupled as name. More...
 
virtual bool isCoupledConstant (const std::string &var_name) const
 Returns true if a variable passed as a coupled value is really a constant. More...
 
unsigned int coupledComponents (const std::string &var_name) const
 Number of coupled components. More...
 
VariableName coupledName (const std::string &var_name, unsigned int comp=0) const
 Names of the variable in the Coupleable interface. More...
 
std::vector< VariableName > coupledNames (const std::string &var_name) const
 Names of the variables in the Coupleable interface. More...
 
virtual unsigned int coupled (const std::string &var_name, unsigned int comp=0) const
 Returns the index for a coupled variable by name. More...
 
std::vector< unsigned intcoupledIndices (const std::string &var_name) const
 Returns the indices for a coupled variable's components. More...
 
virtual const VariableValuecoupledValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled variable. More...
 
std::vector< const VariableValue * > coupledValues (const std::string &var_name) const
 Returns the values for all of a coupled variable components. More...
 
std::vector< const VectorVariableValue * > coupledVectorValues (const std::string &var_name) const
 Returns the values for all of a coupled vector variable's components. More...
 
template<bool is_ad>
const GenericVariableValue< is_ad > & coupledGenericValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled variable for use in templated automatic differentiation classes. More...
 
template<>
const GenericVariableValue< false > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
template<>
const GenericVariableValue< true > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
template<bool is_ad>
std::vector< const GenericVariableValue< is_ad > * > coupledGenericValues (const std::string &var_name) const
 Returns the values for all of a coupled variable's components for use in templated automatic differentiation classes. More...
 
template<>
std::vector< const GenericVariableValue< false > * > coupledGenericValues (const std::string &var_name) const
 
template<>
std::vector< const GenericVariableValue< true > * > coupledGenericValues (const std::string &var_name) const
 
template<bool is_ad>
const GenericVariableValue< is_ad > & coupledGenericDofValue (const std::string &var_name, unsigned int comp=0) const
 Returns DOF value of a coupled variable for use in templated automatic differentiation classes. More...
 
template<>
const GenericVariableValue< false > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
template<>
const GenericVariableValue< true > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
virtual const VariableValuecoupledValueLower (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled lower-dimensional variable. More...
 
const ADVariableValueadCoupledValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled variable for use in Automatic Differentiation. More...
 
std::vector< const ADVariableValue * > adCoupledValues (const std::string &var_name) const
 Returns the values for all of a coupled variable's components for use in Automatic Differentiation. More...
 
const ADVariableValueadCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled lower-dimensional variable for use in Automatic Differentiation. More...
 
const ADVectorVariableValueadCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled vector variable for use in Automatic Differentiation. More...
 
std::vector< const ADVectorVariableValue * > adCoupledVectorValues (const std::string &var_name) const
 Returns the values for all of a coupled vector variable's components for use in Automatic Differentiation. More...
 
virtual const VariableValuecoupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 Returns value of a coupled variable for a given tag. More...
 
virtual const VariableValuecoupledVectorTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue * > coupledVectorTagValues (const std::string &var_names, TagID tag) const
 Returns the values for all the coupled variables desired for a given tag. More...
 
std::vector< const VariableValue * > coupledVectorTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableValuecoupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 Returns value of a coupled array variable for a given tag. More...
 
virtual const ArrayVariableValuecoupledVectorTagArrayValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableValue * > coupledVectorTagArrayValues (const std::string &var_names, TagID tag) const
 Returns the values for all the coupled variables desired for a given tag. More...
 
std::vector< const ArrayVariableValue * > coupledVectorTagArrayValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableGradientcoupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 Returns gradient of a coupled variable for a given tag. More...
 
virtual const VariableGradientcoupledVectorTagGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableGradient * > coupledVectorTagGradients (const std::string &var_names, TagID tag) const
 Returns gradients for all the coupled variables desired for a given tag. More...
 
std::vector< const VariableGradient * > coupledVectorTagGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableGradientcoupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 Returns gradient of a coupled array variable for a given tag. More...
 
virtual const ArrayVariableGradientcoupledVectorTagArrayGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableGradient * > coupledVectorTagArrayGradients (const std::string &var_names, TagID tag) const
 Returns gradients for all the coupled variables desired for a given tag. More...
 
std::vector< const ArrayVariableGradient * > coupledVectorTagArrayGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValuecoupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const
 Returns dof value of a coupled variable for a given tag. More...
 
virtual const VariableValuecoupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const ArrayVariableValuecoupledVectorTagArrayDofValue (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 Returns evaluations of a tagged vector at the requested variable's degree of freedom indices. More...
 
std::vector< const VariableValue * > coupledVectorTagDofValues (const std::string &var_names, TagID tag) const
 Returns the dof values for all the coupled variables desired for a given tag. More...
 
std::vector< const VariableValue * > coupledVectorTagDofValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValuecoupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 Returns value of a coupled variable for a given tag. More...
 
virtual const VariableValuecoupledMatrixTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue * > coupledMatrixTagValues (const std::string &var_names, TagID tag) const
 Returns the diagonal matrix values for all the coupled variables desired for a given tag. More...
 
std::vector< const VariableValue * > coupledMatrixTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VectorVariableValuecoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled vector variable. More...
 
virtual const ArrayVariableValuecoupledArrayValue (const std::string &var_name, unsigned int comp=0) const
 Returns value of a coupled array variable. More...
 
std::vector< const ArrayVariableValue * > coupledArrayValues (const std::string &var_name) const
 Returns the values for all of a coupled array variable's components. More...
 
MooseWritableVariablewritableVariable (const std::string &var_name, unsigned int comp=0)
 Returns a writable MooseVariable object for a nodal or elemental variable. More...
 
virtual VariableValuewritableCoupledValue (const std::string &var_name, unsigned int comp=0)
 Returns a writable reference to a coupled variable for writing to multiple AuxVariables from a single AuxKernel or a UserObject. More...
 
void checkWritableVar (MooseWritableVariable *var)
 Checks that the passed in variable is only accessed writable by one object in a given subdomain. More...
 
virtual const VariableValuecoupledValueOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from previous time step of a coupled variable. More...
 
std::vector< const VariableValue * > coupledValuesOld (const std::string &var_name) const
 Returns the old values for all of a coupled variable's components. More...
 
virtual const VariableValuecoupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from two time steps previous of a coupled variable. More...
 
std::vector< const VariableValue * > coupledValuesOlder (const std::string &var_name) const
 Returns the older values for all of a coupled variable's components. More...
 
virtual const VariableValuecoupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 Returns value of previous Newton iterate of a coupled variable. More...
 
virtual const VectorVariableValuecoupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from previous time step of a coupled vector variable. More...
 
virtual const VectorVariableValuecoupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from two time steps previous of a coupled vector variable. More...
 
virtual const ArrayVariableValuecoupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from previous time step of a coupled array variable. More...
 
virtual const ArrayVariableValuecoupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old value from two time steps previous of a coupled array variable. More...
 
virtual const VariableGradientcoupledGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled variable. More...
 
std::vector< const VariableGradient * > coupledGradients (const std::string &var_name) const
 Returns the gradients for all of a coupled variable's components. More...
 
const ADVariableGradientadCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled variable for use in Automatic Differentiation. More...
 
const ADVariableGradientadCoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled variable's time derivative for use in Automatic Differentiation. More...
 
std::vector< const ADVariableGradient * > adCoupledGradients (const std::string &var_name) const
 Returns the gradients for all of a coupled variable's components for use in Automatic Differentiation. More...
 
template<bool is_ad>
const GenericVariableGradient< is_ad > & coupledGenericGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled variable for use in templated automatic differentiation. More...
 
template<>
const GenericVariableGradient< false > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
template<>
const GenericVariableGradient< true > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
template<bool is_ad>
std::vector< const GenericVariableGradient< is_ad > * > coupledGenericGradients (const std::string &var_name) const
 Returns the gradients for all of a coupled variable's components for use in templated automatic differentiation. More...
 
template<>
std::vector< const GenericVariableGradient< false > * > coupledGenericGradients (const std::string &var_name) const
 
template<>
std::vector< const GenericVariableGradient< true > * > coupledGenericGradients (const std::string &var_name) const
 
const ADVectorVariableGradientadCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled vector variable for use in Automatic Differentiation. More...
 
const ADVariableSecondadCoupledSecond (const std::string &var_name, unsigned int comp=0) const
 Returns second derivatives of a coupled variable for use in Automatic Differentiation. More...
 
const ADVectorVariableSecondadCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const
 Returns second derivatives of a coupled vector variable for use in Automatic Differentiation. More...
 
virtual const VariableGradientcoupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from previous time step of a coupled variable. More...
 
std::vector< const VariableGradient * > coupledGradientsOld (const std::string &var_name) const
 Returns the old gradients for all of a coupled variable's components. More...
 
virtual const VariableGradientcoupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from two time steps previous of a coupled variable. More...
 
virtual const VariableGradientcoupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled variable for previous Newton iterate. More...
 
virtual const VariableGradientcoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of the gradient of a coupled variable. More...
 
virtual const VariableGradientcoupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of the gradient of a coupled variable. More...
 
virtual const VectorVariableGradientcoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled vector variable. More...
 
virtual const VectorVariableGradientcoupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from previous time step of a coupled vector variable. More...
 
virtual const VectorVariableGradientcoupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from two time steps previous of a coupled vector variable. More...
 
virtual const ArrayVariableGradientcoupledArrayGradient (const std::string &var_name, unsigned int comp=0) const
 Returns gradient of a coupled array variable. More...
 
virtual const ArrayVariableGradientcoupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from previous time step of a coupled array variable. More...
 
virtual const ArrayVariableGradientcoupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old gradient from two time steps previous of a coupled array variable. More...
 
virtual const ArrayVariableGradientcoupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const
 Retun a gradient of a coupled array variable's time derivative. More...
 
virtual const VectorVariableCurlcoupledCurl (const std::string &var_name, unsigned int comp=0) const
 Returns curl of a coupled variable. More...
 
virtual const VectorVariableCurlcoupledCurlOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old curl from previous time step of a coupled variable. More...
 
virtual const VectorVariableCurlcoupledCurlOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old curl from two time steps previous of a coupled variable. More...
 
virtual const VariableSecondcoupledSecond (const std::string &var_name, unsigned int comp=0) const
 Returns second spatial derivatives of a coupled variable. More...
 
virtual const VariableSecondcoupledSecondOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old second spatial derivatives from previous time step of a coupled variable. More...
 
virtual const VariableSecondcoupledSecondOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old second derivative from two time steps previous of a coupled variable. More...
 
virtual const VariableSecondcoupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const
 Returns second derivative of a coupled variable for the previous Newton iterate. More...
 
virtual const VariableValuecoupledDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled variable. More...
 
std::vector< const VariableValue * > coupledDots (const std::string &var_name) const
 Returns the time derivatives for all of a coupled variable's components. More...
 
virtual const VariableValuecoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledDotOld (const std::string &var_name, unsigned int comp=0) const
 Old time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledDotDotOld (const std::string &var_name, unsigned int comp=0) const
 Old second time derivative of a coupled variable. More...
 
const ADVariableValueadCoupledDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled variable for ad simulations. More...
 
std::vector< const ADVariableValue * > adCoupledDots (const std::string &var_name) const
 Returns the time derivatives for all of a coupled variable's components for ad simulations. More...
 
const ADVariableValueadCoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled variable for ad simulations. More...
 
const ADVectorVariableValueadCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a vector coupled variable for ad simulations. More...
 
virtual const VectorVariableValuecoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled vector variable. More...
 
virtual const VectorVariableValuecoupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled vector variable. More...
 
virtual const VectorVariableValuecoupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const
 Old time derivative of a coupled vector variable. More...
 
virtual const VectorVariableValuecoupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const
 Old second time derivative of a coupled vector variable. More...
 
virtual const VariableValuecoupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled vector variable with respect to the coefficients. More...
 
virtual const VariableValuecoupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled vector variable with respect to the coefficients. More...
 
virtual const ArrayVariableValuecoupledArrayDot (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled array variable. More...
 
virtual const ArrayVariableValuecoupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled array variable. More...
 
virtual const ArrayVariableValuecoupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const
 Old time derivative of a coupled array variable. More...
 
virtual const ArrayVariableValuecoupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const
 Old second time derivative of a coupled array variable. More...
 
virtual const VariableValuecoupledDotDu (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled variable with respect to the coefficients. More...
 
virtual const VariableValuecoupledDotDotDu (const std::string &var_name, unsigned int comp=0) const
 Second time derivative of a coupled variable with respect to the coefficients. More...
 
const VariableValuecoupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const
 Time derivative of a coupled array variable with respect to the coefficients. More...
 
template<typename T >
const T & coupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 Returns nodal values of a coupled variable. More...
 
template<typename T >
const Moose::ADType< T >::typeadCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 Returns AD nodal values of a coupled variable. More...
 
template<typename T >
const T & coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 Returns an old nodal value from previous time step of a coupled variable. More...
 
template<typename T >
const T & coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 Returns an old nodal value from two time steps previous of a coupled variable. More...
 
template<typename T >
const T & coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 Returns nodal values of a coupled variable for previous Newton iterate. More...
 
template<typename T >
const T & coupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 Nodal values of time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const
 Nodal values of second time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const
 Nodal values of old time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const
 Nodal values of old second time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 Returns DoFs in the current solution vector of a coupled variable for the local element. More...
 
std::vector< const VariableValue * > coupledAllDofValues (const std::string &var_name) const
 Returns DoFs in the current solution vector of all of a coupled variable's components for the local element. More...
 
virtual const VariableValuecoupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const
 Returns DoFs in the old solution vector of a coupled variable for the local element. More...
 
std::vector< const VariableValue * > coupledAllDofValuesOld (const std::string &var_name) const
 Returns DoFs in the old solution vector of all of a coupled variable's components for the local element. More...
 
virtual const VariableValuecoupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const
 Returns DoFs in the older solution vector of a coupled variable for the local element. More...
 
std::vector< const VariableValue * > coupledAllDofValuesOlder (const std::string &var_name) const
 Returns DoFs in the older solution vector of all of a coupled variable's components for the local element. More...
 
virtual const ArrayVariableValuecoupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const
 Returns DoFs in the current solution vector of a coupled array variable for the local element. More...
 
virtual const ADVariableValueadCoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 Returns DOF value of a coupled variable for use in Automatic Differentiation. More...
 
const ADVariableValueadZeroValue () const
 method that returns _zero to RESIDUAL computing objects and _ad_zero to JACOBIAN computing objects More...
 
const ADVariableGradientadZeroGradient () const
 method that returns _grad_zero to RESIDUAL computing objects and _ad_grad_zero to JACOBIAN computing objects More...
 
const ADVariableSecondadZeroSecond () const
 Retrieve a zero second for automatic differentiation. More...
 
template<bool is_ad>
const GenericVariableValue< is_ad > & genericZeroValue ()
 Returns zero value templated with automatic differentiation boolean. More...
 
template<>
const GenericVariableValue< false > & genericZeroValue ()
 
template<>
const GenericVariableValue< true > & genericZeroValue ()
 
template<bool is_ad>
const GenericVariableGradient< is_ad > & genericZeroGradient ()
 Returns zero gradient templated with automatic differentiation boolean. More...
 
template<>
const GenericVariableGradient< false > & genericZeroGradient ()
 
template<>
const GenericVariableGradient< true > & genericZeroGradient ()
 
template<bool is_ad>
const GenericVariableSecond< is_ad > & genericZeroSecond ()
 Returns zero second derivative templated with automatic differentiation boolean. More...
 
template<>
const GenericVariableSecond< false > & genericZeroSecond ()
 
template<>
const GenericVariableSecond< true > & genericZeroSecond ()
 
bool checkVar (const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const
 Check that the right kind of variable is being coupled in. More...
 
const MooseVariableFieldBasegetFEVar (const std::string &var_name, unsigned int comp) const
 Deprecated method. More...
 
const MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp) const
 
MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp)
 
template<typename T >
const T * getVarHelper (const std::string &var_name, unsigned int comp) const
 Helper that that be used to retrieve a variable of arbitrary type T. More...
 
template<typename T >
T * getVarHelper (const std::string &var_name, unsigned int comp)
 Helper that can be used to retrieve a variable of arbitrary type T. More...
 
MooseVariablegetVar (const std::string &var_name, unsigned int comp)
 Extract pointer to a coupled variable. More...
 
const MooseVariablegetVar (const std::string &var_name, unsigned int comp) const
 Extract pointer to a coupled variable. More...
 
VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp)
 Extract pointer to a coupled vector variable. More...
 
const VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp) const
 Extract pointer to a coupled vector variable. More...
 
ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp)
 Extract pointer to a coupled array variable. More...
 
const ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp) const
 Extract pointer to a coupled array variable. More...
 
void validateExecutionerType (const std::string &name, const std::string &fn_name) const
 Checks to make sure that the current Executioner has set "_is_transient" when old/older values are coupled in. More...
 
template<typename T , typename Func >
std::vector< T > coupledVectorHelper (const std::string &var_name, const Func &func) const
 
void markMatPropRequested (const std::string &)
 A proxy method for _mi_feproblem.markMatPropRequested(name) More...
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
void checkExecutionStage ()
 Check and throw an error if the execution has progressed past the construction stage. More...
 
template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
template<typename T >
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
template<typename T >
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 

Static Protected Member Functions

static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 Helper to look up a functor name through the input parameter keys. More...
 

Protected Attributes

bool _bnd
 
bool _neighbor
 
const MooseArray< Point > & _q_point
 
const QBase *const & _qrule
 
const MooseArray< Real > & _JxW
 
const Elem *const & _current_elem
 
const SubdomainID_current_subdomain_id
 
const unsigned int_current_side
 current side of the current element More...
 
const ConstantTypeEnum _constant_option
 Options of the constantness level of the material. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
THREAD_ID _tid
 
Assembly_assembly
 
unsigned int _qp
 
const MooseArray< Real > & _coord
 
const MooseArray< Point > & _normals
 normals at quadrature points (valid only in boundary materials) More...
 
MooseMesh_mesh
 
const Moose::CoordinateSystemType_coord_sys
 Coordinate system. More...
 
std::set< std::string > _requested_props
 Set of properties accessed via get method. More...
 
std::set< std::string > _supplied_props
 Set of properties declared. More...
 
std::set< unsigned int_supplied_prop_ids
 The ids of the supplied properties, i.e. More...
 
std::unordered_set< unsigned int_active_prop_ids
 The ids of the current active supplied properties. More...
 
const bool _compute
 If False MOOSE does not compute this property. More...
 
std::unordered_map< unsigned int, unsigned int_props_to_min_states
 The minimum states requested (0 = current, 1 = old, 2 = older) This is sparse and is used to keep track of whether or not stateful properties are requested without state 0 being requested. More...
 
std::vector< unsigned int_displacements
 
bool _has_stateful_property
 
bool _overrides_init_stateful_props = true
 
const FaceInfo_face_info = nullptr
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects. More...
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
const std::string & _type
 The type of this class. More...
 
const std::string & _name
 The name of this class, reference to value stored in InputParameters. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
const Parallel::Communicator & _communicator
 
const MaterialData_blk_material_data
 Pointer to the MaterialData class for this object. More...
 
const ExecFlagEnum_execute_enum
 Execute settings for this object. More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 Thread ID of the thread using this object. More...
 
const Real_real_zero
 Scalar zero. More...
 
const VariableValue_scalar_zero
 Zero value of a scalar variable. More...
 
const Point & _point_zero
 Zero point. More...
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 If the object is using implicit or explicit form. More...
 
Real_t
 Time. More...
 
int_t_step
 The number of the time step. More...
 
Real_dt
 Time step size. More...
 
Real_dt_old
 Size of the old time step. More...
 
bool _is_transient
 
MooseApp_restartable_app
 Reference to the application. More...
 
const std::string _restartable_system_name
 The system name this object is in. More...
 
const THREAD_ID _restartable_tid
 The thread ID for this object. More...
 
const bool _restartable_read_only
 Flag for toggling read only status (see ReporterData) More...
 
FEProblemBase_mci_feproblem
 Reference to FEProblemBase instance. More...
 
GeometricSearchData_geometric_search_data
 
bool _requires_geometric_search
 Whether any of this interface's methods have been called, e.g. More...
 
const InputParameters_c_parameters
 
const std::string & _c_name
 The name of the object this interface is part of. More...
 
const std::string & _c_type
 The type of the object this interface is part of. More...
 
FEProblemBase_c_fe_problem
 
const SystemBase *const _c_sys
 Pointer to the system object if the moose object this is an interface for has one. More...
 
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
 Coupled vars whose values we provide. More...
 
std::vector< MooseVariableFieldBase * > _coupled_moose_vars
 Vector of all coupled variables. More...
 
std::vector< MooseVariable * > _coupled_standard_moose_vars
 Vector of standard coupled variables. More...
 
std::vector< VectorMooseVariable * > _coupled_vector_moose_vars
 Vector of vector coupled variables. More...
 
std::vector< ArrayMooseVariable * > _coupled_array_moose_vars
 Vector of array coupled variables. More...
 
std::vector< MooseVariableFV< Real > * > _coupled_standard_fv_moose_vars
 Vector of standard finite volume coupled variables. More...
 
const std::unordered_map< std::string, std::string > & _new_to_deprecated_coupled_vars
 map from new to deprecated variable names More...
 
bool _c_nodal
 True if we provide coupling to nodal values. More...
 
bool _c_is_implicit
 True if implicit value is required. More...
 
const bool _c_allow_element_to_nodal_coupling
 
THREAD_ID _c_tid
 Thread ID of the thread using this object. More...
 
std::unordered_map< std::string, std::vector< std::unique_ptr< VariableValue > > > _default_value
 Will hold the default value for optional coupled variables. More...
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< DualReal > > > _ad_default_value
 Will hold the default value for optional coupled variables for automatic differentiation. More...
 
std::unordered_map< std::string, std::unique_ptr< VectorVariableValue > > _default_vector_value
 Will hold the default value for optional vector coupled variables. More...
 
std::unordered_map< std::string, std::unique_ptr< ArrayVariableValue > > _default_array_value
 Will hold the default value for optional array coupled variables. More...
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > _ad_default_vector_value
 Will hold the default value for optional vector coupled variables for automatic differentiation. More...
 
VariableValue _default_value_zero
 This will always be zero because the default values for optionally coupled variables is always constant and this is used for time derivative info. More...
 
VariableGradient _default_gradient
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
MooseArray< ADRealVectorValue_ad_default_gradient
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
MooseArray< ADRealTensorValue_ad_default_vector_gradient
 This will always be zero because the default values for optionally coupled vector variables is always constant. More...
 
VariableSecond _default_second
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
MooseArray< ADRealTensorValue_ad_default_second
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
const VariableValue_zero
 Zero value of a variable. More...
 
const VariablePhiValue_phi_zero
 
const MooseArray< DualReal > & _ad_zero
 
const VariableGradient_grad_zero
 Zero gradient of a variable. More...
 
const MooseArray< ADRealVectorValue > & _ad_grad_zero
 
const VariablePhiGradient_grad_phi_zero
 Zero gradient of trial function. More...
 
const VariableSecond_second_zero
 Zero second derivative of a variable. More...
 
const MooseArray< ADRealTensorValue > & _ad_second_zero
 
const VariablePhiSecond_second_phi_zero
 Zero second derivative of a test function. More...
 
const VectorVariableValue_vector_zero
 Zero value of a vector variable. More...
 
const VectorVariableCurl_vector_curl_zero
 Zero value of the curl of a vector variable. More...
 
VectorVariableValue _default_vector_value_zero
 This will always be zero because the default values for optionally coupled variables is always constant and this is used for time derivative info. More...
 
VectorVariableGradient _default_vector_gradient
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
VectorVariableCurl _default_vector_curl
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
ArrayVariableValue _default_array_value_zero
 This will always be zero because the default values for optionally coupled variables is always constant and this is used for time derivative info. More...
 
ArrayVariableGradient _default_array_gradient
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
ArrayVariableCurl _default_array_curl
 This will always be zero because the default values for optionally coupled variables is always constant. More...
 
bool _coupleable_neighbor
 Whether or not this object is a "neighbor" object: ie all of it's coupled values should be neighbor values. More...
 
const InputParameters_mi_params
 Parameters of the object with this interface. More...
 
const std::string _mi_name
 The name of the object that this interface belongs to. More...
 
const MooseObjectName _mi_moose_object_name
 The "complete" name of the object that this interface belongs for material property output. More...
 
FEProblemBase_mi_feproblem
 Reference to the FEProblemBase class. More...
 
SubProblem_mi_subproblem
 Reference to the subproblem. More...
 
const THREAD_ID _mi_tid
 Current threaded it. More...
 
const Moose::MaterialDataType _material_data_type
 The type of data. More...
 
MaterialData_material_data
 The material data class that stores properties. More...
 
bool _stateful_allowed
 True by default. More...
 
bool _get_material_property_called
 Initialized to false. More...
 
std::vector< std::unique_ptr< PropertyValue > > _default_properties
 Storage vector for default properties. More...
 
std::unordered_set< unsigned int_material_property_dependencies
 The set of material properties (as given by their IDs) that this object depends on. More...
 
const MaterialPropertyName _get_suffix
 
const bool _use_interpolated_state
 Use the interpolated state set up through the ProjectedStatefulMaterialStorageAction. More...
 

Static Protected Attributes

static const std::string _interpolated_old = "_interpolated_old"
 name suffixes for interpolated old and older properties More...
 
static const std::string _interpolated_older = "_interpolated_older"
 

Private Member Functions

ConstantTypeEnum computeConstantOption ()
 

Private Attributes

bool _ghostable
 Whether this material can be computed in a ghosted context. More...
 
std::vector< std::unique_ptr< OptionalMaterialPropertyProxyBase< Material > > > _optional_property_proxies
 optional material properties More...
 

Detailed Description

Materials compute MaterialProperties.

Definition at line 34 of file Material.h.

Member Enumeration Documentation

◆ ConstantTypeEnum

Enumerator
NONE 
ELEMENT 
SUBDOMAIN 

Definition at line 209 of file Material.h.

210  {
211  NONE,
212  ELEMENT,
213  SUBDOMAIN
214  };

◆ QP_Data_Type

enum MaterialBase::QP_Data_Type
protectedinherited
Enumerator
CURR 
PREV 

Definition at line 350 of file MaterialBase.h.

351  {
352  CURR,
353  PREV
354  };

◆ TEST_TYPE

A flag changing the behavior of hasBoundary.

Enumerator
ALL 
ANY 

Definition at line 29 of file BoundaryRestrictable.h.

Constructor & Destructor Documentation

◆ Material()

Material::Material ( const InputParameters parameters)

Definition at line 32 of file Material.C.

34  Coupleable(this, false),
39  : _assembly.qPoints()),
41  : _assembly.qRule()),
48  _ghostable(true)
49 {
50  // 1. Fill in the MooseVariable dependencies
51  // 2. For ghost calculations we need to check and see whether this has any finite element
52  // variables. If it does, then this material doesn't support ghost calculations
53  // 3. For the purpose of ghost calculations, we will error if this material couples in both finite
54  // element and finite volume variables.
55  const std::vector<MooseVariableFieldBase *> & coupled_vars = getCoupledMooseVars();
56  bool has_fe_vars = false;
57  bool has_fv_vars = false;
58  for (auto * const var : coupled_vars)
59  {
61  if (var->isFV())
62  has_fv_vars = true;
63  else
64  {
65  has_fe_vars = true;
66  _ghostable = false;
67  }
68  }
69 
70  // Note that this check will not catch a case in which a finite volume consumer needs a
71  // non-variable-based property ghosted, but that non-variable-based property is computed within a
72  // material that has finite element coupling (but not finite volume coupling)
73  if (has_fe_vars && has_fv_vars)
74  mooseError(
75  "Your material ",
76  this->name(),
77  " couples in both FE and FV vars. To support ghost calculations which some FV "
78  "consumers may need, multiphysics simulations should define separate materials for "
79  "coupling in finite element and finite volume variables because we do not have a user "
80  "friendly way of running DerivedMaterial::computeQpProperties and saying 'compute this "
81  "property because it doesn't depend on finite element variables' or 'don't compute this "
82  "property because it *does* depend on finite element variables'");
83 }
const MooseArray< Point > & _q_point
Definition: Material.h:232
const Elem *const & elem() const
Return the current element.
Definition: Assembly.h:367
const unsigned int & neighborSide() const
Returns the current neighboring side.
Definition: Assembly.h:405
const QBase *const & _qrule
Definition: Material.h:233
ConstantTypeEnum computeConstantOption()
Definition: Material.C:143
MaterialBase(const InputParameters &parameters)
Definition: MaterialBase.C:76
MaterialPropertyInterface(const MooseObject *moose_object, const std::set< SubdomainID > &block_ids, const std::set< BoundaryID > &boundary_ids)
const MooseArray< Point > & qPointsFaceNeighbor() const
Returns the reference to the current quadrature points being used on the neighbor face...
Definition: Assembly.h:489
const ConstantTypeEnum _constant_option
Options of the constantness level of the material.
Definition: Material.h:245
bool _ghostable
Whether this material can be computed in a ghosted context.
Definition: Material.h:254
const MooseArray< Real > & _JxW
Definition: Material.h:235
const MooseArray< Point > & qPoints() const
Returns the reference to the quadrature points.
Definition: Assembly.h:222
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool _bnd
Definition: Material.h:229
Coupleable(const MooseObject *moose_object, bool nodal, bool is_fv=false)
Constructing the object.
Definition: Coupleable.C:26
const QBase *const & qRuleNeighbor() const
Returns the reference to the current quadrature being used on a current neighbor. ...
Definition: Assembly.h:471
Assembly & _assembly
Definition: MaterialBase.h:316
const QBase *const & qRule() const
Returns the reference to the current quadrature being used.
Definition: Assembly.h:210
bool _neighbor
Definition: Material.h:230
const MooseArray< Real > & JxW() const
Returns the reference to the transformed jacobian weights.
Definition: Assembly.h:240
const std::vector< MooseVariableFieldBase * > & getCoupledMooseVars() const
Get the list of all coupled variables.
Definition: Coupleable.h:69
const MooseArray< Real > & JxWFace() const
Returns the reference to the transformed jacobian weights on a current face.
Definition: Assembly.h:304
const QBase *const & qRuleFace() const
Returns the reference to the current quadrature being used on a current face.
Definition: Assembly.h:286
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
const MooseArray< Point > & qPointsFace() const
Returns the reference to the current quadrature being used.
Definition: Assembly.h:298
const unsigned int & _current_side
current side of the current element
Definition: Material.h:242
const Elem *const & neighbor() const
Return the neighbor element.
Definition: Assembly.h:423
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.
const SubdomainID & currentSubdomainID() const
Return the current subdomain ID.
Definition: Assembly.h:372
const unsigned int & side() const
Returns the current side.
Definition: Assembly.h:399
const SubdomainID & _current_subdomain_id
Definition: Material.h:239
const Moose::MaterialDataType _material_data_type
The type of data.
const SubdomainID & currentNeighborSubdomainID() const
Return the current subdomain ID.
Definition: Assembly.h:450
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
const Elem *const & _current_elem
Definition: Material.h:237

Member Function Documentation

◆ adCoupledDofValues()

const ADVariableValue & Coupleable::adCoupledDofValues ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns DOF value of a coupled variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to an ADVariableValue for the DoFs of the coupled variable

Definition at line 2000 of file Coupleable.C.

2001 {
2002  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2003 
2004  if (!var)
2005  return *getADDefaultValue(var_name);
2007 
2008  if (!_c_is_implicit)
2009  mooseError("Not implemented");
2010 
2011  if (!_coupleable_neighbor)
2012  return var->adDofValues();
2013  return var->adDofValuesNeighbor();
2014 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for Automatic Differentiation for...
Definition: Coupleable.C:2234
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledDot()

const ADVariableValue & Coupleable::adCoupledDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Time derivative of a coupled variable for ad simulations.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable
See also
Kernel::dot

Definition at line 2150 of file Coupleable.C.

Referenced by Coupleable::adCoupledDots().

2151 {
2152  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2153 
2154  if (!var)
2155  return *getADDefaultValue(var_name);
2157 
2158  if (_c_nodal)
2159  mooseError("Not implemented");
2160 
2161  if (!_coupleable_neighbor)
2162  return var->adUDot();
2163  return var->adUDotNeighbor();
2164 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for Automatic Differentiation for...
Definition: Coupleable.C:2234
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledDotDot()

const ADVariableValue & Coupleable::adCoupledDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Second time derivative of a coupled variable for ad simulations.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to an ADVariableValue containing the second time derivative of the coupled variable

Definition at line 2167 of file Coupleable.C.

2168 {
2169  const auto * const var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2170 
2171  if (!var)
2172  return *getADDefaultValue(var_name);
2174 
2175  if (_c_nodal)
2176  mooseError("Not implemented");
2177 
2178  if (!_coupleable_neighbor)
2179  return var->adUDotDot();
2180  return var->adUDotDotNeighbor();
2181 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for Automatic Differentiation for...
Definition: Coupleable.C:2234
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledDots()

std::vector< const ADVariableValue * > Coupleable::adCoupledDots ( const std::string &  var_name) const
protectedinherited

Returns the time derivatives for all of a coupled variable's components for ad simulations.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of var_name

Definition at line 2632 of file Coupleable.C.

2633 {
2634  auto func = [this, &var_name](unsigned int comp) { return &adCoupledDot(var_name, comp); };
2635  return coupledVectorHelper<const ADVariableValue *>(var_name, func);
2636 }
const ADVariableValue & adCoupledDot(const std::string &var_name, unsigned int comp=0) const
Time derivative of a coupled variable for ad simulations.
Definition: Coupleable.C:2150

◆ adCoupledGradient()

const ADVariableGradient & Coupleable::adCoupledGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns gradient of a coupled variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to an ADVariableGradient containing the gradient of the coupled variable
See also
Kernel::gradient

Definition at line 2091 of file Coupleable.C.

Referenced by Coupleable::adCoupledGradients().

2092 {
2093  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2094 
2095  if (!var)
2096  return getADDefaultGradient();
2098 
2099  if (!_c_is_implicit)
2100  mooseError("Not implemented");
2101 
2102  if (!_coupleable_neighbor)
2103  return var->adGradSln();
2104  return var->adGradSlnNeighbor();
2105 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const ADVariableGradient & getADDefaultGradient() const
Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation ...
Definition: Coupleable.C:2265
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledGradientDot()

const ADVariableGradient & Coupleable::adCoupledGradientDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns gradient of a coupled variable's time derivative for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to an ADVariableGradient containing the gradient of the coupled variable's time derivative

Definition at line 2108 of file Coupleable.C.

2109 {
2110  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2111 
2112  if (!var)
2113  return getADDefaultGradient();
2115 
2116  if (!_c_is_implicit)
2117  mooseError("Not implemented");
2118 
2119  if (!_coupleable_neighbor)
2120  return var->adGradSlnDot();
2121  return var->adGradSlnNeighborDot();
2122 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const ADVariableGradient & getADDefaultGradient() const
Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation ...
Definition: Coupleable.C:2265
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledGradients()

std::vector< const ADVariableGradient * > Coupleable::adCoupledGradients ( const std::string &  var_name) const
protectedinherited

Returns the gradients for all of a coupled variable's components for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
Returns
Vector of ADVariableGradient pointers for each component of var_name

Definition at line 2611 of file Coupleable.C.

2612 {
2613  auto func = [this, &var_name](unsigned int comp) { return &adCoupledGradient(var_name, comp); };
2614  return coupledVectorHelper<const ADVariableGradient *>(var_name, func);
2615 }
const ADVariableGradient & adCoupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2091

◆ adCoupledLowerValue()

const ADVariableValue & Coupleable::adCoupledLowerValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a coupled lower-dimensional variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a ADVariableValue for the coupled variable

Definition at line 2073 of file Coupleable.C.

2074 {
2075  auto var = getVarHelper<MooseVariableFE<Real>>(var_name, comp);
2076 
2077  if (!var)
2078  return *getADDefaultValue(var_name);
2080 
2081  if (!_c_is_implicit)
2082  mooseError("adCoupledLowerValue cannot be called in a coupleable neighbor object");
2083 
2084  if (_c_nodal)
2085  return var->adDofValues();
2086  else
2087  return var->adSlnLower();
2088 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for Automatic Differentiation for...
Definition: Coupleable.C:2234

◆ adCoupledNodalValue()

template<typename T >
template const ADRealVectorValue & Coupleable::adCoupledNodalValue< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns AD nodal values of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 2031 of file Coupleable.C.

2032 {
2033  static const typename Moose::ADType<T>::type zero = 0;
2034  if (!isCoupled(var_name))
2035  return zero;
2036 
2037  if (!_c_nodal)
2038  mooseError("The adCoupledNodalValue method should only be called for nodal computing objects");
2040  mooseError(
2041  "The adCoupledNodalValue method shouldn't be called for neighbor computing objects. I "
2042  "don't even know what that would mean, although maybe someone could explain it to me.");
2043  if (!_c_is_implicit)
2044  mooseError("If you're going to use an explicit scheme, then use coupledNodalValue instead of "
2045  "adCoupledNodalValue");
2046 
2047  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
2048 
2049  return var->adNodalValue();
2050 }
virtual bool isCoupled(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:124
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const Number zero
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledScalarDot()

const ADVariableValue & ScalarCoupleable::adCoupledScalarDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the time derivative of a scalar coupled variable, including its dependence on the nonlinear degrees of freedom through automatic differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to the time derivative at quadrature points for the coupled variable, including automatic differentiation information

Definition at line 252 of file ScalarCoupleable.C.

253 {
254  checkVar(var_name);
255  validateExecutionerType(var_name, "adCoupledScalarDot");
256  return getScalarVar(var_name, comp)->adUDot();
257 }
const ADVariableValue & adUDot() const
Return the first derivative of the solution with derivative information.
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ adCoupledScalarValue()

const ADVariableValue & ScalarCoupleable::adCoupledScalarValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns AD value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a ADVariableValue for the coupled variable

Definition at line 135 of file ScalarCoupleable.C.

136 {
137  checkVar(var_name);
138  if (!isCoupledScalar(var_name, comp))
139  return *getADDefaultValue(var_name);
140 
141  auto var = getScalarVar(var_name, comp);
142 
143  if (_sc_is_implicit)
144  return var->adSln();
145  else
146  mooseError("adCoupledValue for non-implicit calculations is not currently supported. Use "
147  "coupledValue instead for non-implicit");
148 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const bool _sc_is_implicit
True if implicit value is required.
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the AD default value for an uncoupled variable...

◆ adCoupledSecond()

const ADVariableSecond & Coupleable::adCoupledSecond ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns second derivatives of a coupled variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableSecond containing the second derivatives of the coupled variable

Definition at line 2125 of file Coupleable.C.

2126 {
2127  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2128 
2129  if (!var)
2130  return getADDefaultSecond();
2132 
2133  if (!_c_is_implicit)
2134  mooseError("Not implemented");
2135 
2136  if (!_coupleable_neighbor)
2137  return var->adSecondSln();
2138  else
2139  return var->adSecondSlnNeighbor();
2140 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
const ADVariableSecond & getADDefaultSecond() const
Helper method to return (and insert if necessary) the default second derivatives for Automatic Differ...
Definition: Coupleable.C:2279

◆ adCoupledValue()

const ADVariableValue & Coupleable::adCoupledValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a coupled variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a ADVariableValue for the coupled variable

Definition at line 2053 of file Coupleable.C.

Referenced by Coupleable::adCoupledValues().

2054 {
2055  const auto * const var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
2056 
2057  if (!var)
2058  return *getADDefaultValue(var_name);
2060 
2061  if (!_c_is_implicit)
2062  mooseError("Not implemented");
2063 
2064  if (_c_nodal)
2065  return var->adDofValues();
2066 
2067  if (!_coupleable_neighbor)
2068  return var->adSln();
2069  return var->adSlnNeighbor();
2070 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const ADVariableValue * getADDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for Automatic Differentiation for...
Definition: Coupleable.C:2234
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledValues()

std::vector< const ADVariableValue * > Coupleable::adCoupledValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled variable's components for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
Returns
Vector of ADVariableValue pointers for each component of var_name

Definition at line 2422 of file Coupleable.C.

2423 {
2424  auto func = [this, &var_name](unsigned int comp) { return &adCoupledValue(var_name, comp); };
2425  return coupledVectorHelper<const ADVariableValue *>(var_name, func);
2426 }
const ADVariableValue & adCoupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2053

◆ adCoupledVectorDot()

const ADVectorVariableValue & Coupleable::adCoupledVectorDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Time derivative of a vector coupled variable for ad simulations.

Parameters
var_nameName of vector coupled variable
compComponent number
Returns
Reference to a VectorVariableValue containing the time derivative of the coupled variable
See also
Kernel::dot

Definition at line 2184 of file Coupleable.C.

2185 {
2186  const auto * var = getVectorVar(var_name, comp);
2187  if (!var)
2188  return *getADDefaultVectorValue(var_name);
2190 
2191  if (_c_nodal)
2192  mooseError("Not implemented");
2193 
2194  if (!_coupleable_neighbor)
2195  return var->adUDot();
2196  return var->adUDotNeighbor();
2197 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
const ADVectorVariableValue * getADDefaultVectorValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default vector value for Automatic Differentiat...
Definition: Coupleable.C:2248
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledVectorGradient()

const ADVectorVariableGradient & Coupleable::adCoupledVectorGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns gradient of a coupled vector variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableGradient containing the gradient of the coupled variable
See also
Kernel::gradient

Definition at line 2218 of file Coupleable.C.

2219 {
2220  const auto * var = getVectorVar(var_name, comp);
2221  if (!var)
2222  return getADDefaultVectorGradient();
2224 
2225  if (!_c_is_implicit)
2226  mooseError("Not implemented");
2227 
2228  if (!_coupleable_neighbor)
2229  return var->adGradSln();
2230  return var->adGradSlnNeighbor();
2231 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const ADVectorVariableGradient & getADDefaultVectorGradient() const
Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation ...
Definition: Coupleable.C:2272
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledVectorSecond()

const ADVectorVariableSecond& Coupleable::adCoupledVectorSecond ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns second derivatives of a coupled vector variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableSecond containing the second derivatives of the coupled variable

◆ adCoupledVectorValue()

const ADVectorVariableValue & Coupleable::adCoupledVectorValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a coupled vector variable for use in Automatic Differentiation.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable
See also
Kernel::value

Definition at line 2200 of file Coupleable.C.

Referenced by Coupleable::adCoupledVectorValues().

2201 {
2202  const auto * var = getVectorVar(var_name, comp);
2203  if (!var)
2204  return *getADDefaultVectorValue(var_name);
2206 
2207  if (_c_nodal)
2208  mooseError("Not implemented");
2209  if (!_c_is_implicit)
2210  mooseError("Not implemented");
2211 
2212  if (!_coupleable_neighbor)
2213  return var->adSln();
2214  return var->adSlnNeighbor();
2215 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
const ADVectorVariableValue * getADDefaultVectorValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default vector value for Automatic Differentiat...
Definition: Coupleable.C:2248
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ adCoupledVectorValues()

std::vector< const ADVectorVariableValue * > Coupleable::adCoupledVectorValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled vector variable's components for use in Automatic Differentiation.

Parameters
var_nameName of coupled variable
Returns
Vector of ADVariableValue pointers for each component of var_name

Definition at line 2429 of file Coupleable.C.

2430 {
2431  auto func = [this, &var_name](unsigned int comp)
2432  { return &adCoupledVectorValue(var_name, comp); };
2433  return coupledVectorHelper<const ADVectorVariableValue *>(var_name, func);
2434 }
const ADVectorVariableValue & adCoupledVectorValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled vector variable for use in Automatic Differentiation.
Definition: Coupleable.C:2200

◆ addFEVariableCoupleableMatrixTag()

void Coupleable::addFEVariableCoupleableMatrixTag ( TagID  tag)
inlineinherited

Definition at line 103 of file Coupleable.h.

Referenced by Coupleable::coupledMatrixTagValue().

103 { _fe_coupleable_matrix_tags.insert(tag); }
std::set< TagID > _fe_coupleable_matrix_tags
Definition: Coupleable.h:1702

◆ addFEVariableCoupleableVectorTag()

void Coupleable::addFEVariableCoupleableVectorTag ( TagID  tag)
inlineinherited

◆ addMooseVariableDependency() [1/2]

void MooseVariableDependencyInterface::addMooseVariableDependency ( MooseVariableFieldBase var)
inlineprotectedinherited

Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends on.

Definition at line 73 of file MooseVariableDependencyInterface.h.

Referenced by ADDGKernel::ADDGKernel(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADKernelTempl< T >::ADKernelTempl(), ArrayDGKernel::ArrayDGKernel(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayNodalBC::ArrayNodalBC(), AuxKernelTempl< Real >::AuxKernelTempl(), AuxNodalScalarKernel::AuxNodalScalarKernel(), CoupleableMooseVariableDependencyIntermediateInterface::CoupleableMooseVariableDependencyIntermediateInterface(), DGKernel::DGKernel(), DiracKernelTempl< T >::DiracKernelTempl(), DomainUserObject::DomainUserObject(), ElemElemConstraint::ElemElemConstraint(), ElementIndicator::ElementIndicator(), ElementIntegralArrayVariablePostprocessor::ElementIntegralArrayVariablePostprocessor(), ElementIntegralVariablePostprocessor::ElementIntegralVariablePostprocessor(), ElementIntegralVariableUserObject::ElementIntegralVariableUserObject(), ElementUserObject::ElementUserObject(), ElementVariablePostprocessor::ElementVariablePostprocessor(), FVBoundaryCondition::FVBoundaryCondition(), FVElementalKernel::FVElementalKernel(), FVInterfaceKernel::FVInterfaceKernel(), IntegratedBC::IntegratedBC(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceMaterial::InterfaceMaterial(), InterfaceUserObjectBase::InterfaceUserObjectBase(), InternalSideIndicator::InternalSideIndicator(), InternalSideIntegralVariablePostprocessor::InternalSideIntegralVariablePostprocessor(), InternalSideUserObject::InternalSideUserObject(), Kernel::Kernel(), Marker::Marker(), Material(), MortarConstraintBase::MortarConstraintBase(), NeighborCoupleableMooseVariableDependencyIntermediateInterface::NeighborCoupleableMooseVariableDependencyIntermediateInterface(), NodalBC::NodalBC(), NodalConstraint::NodalConstraint(), NodalKernel::NodalKernel(), NodalScalarKernel::NodalScalarKernel(), NodalUserObject::NodalUserObject(), NodeElemConstraint::NodeElemConstraint(), NodeFaceConstraint::NodeFaceConstraint(), PointVariableSamplerBase::PointVariableSamplerBase(), QuadraturePointMarker::QuadraturePointMarker(), SideIntegralVariablePostprocessor::SideIntegralVariablePostprocessor(), SideIntegralVariableUserObject::SideIntegralVariableUserObject(), SideUserObject::SideUserObject(), SideVariablePostprocessor::SideVariablePostprocessor(), VectorIntegratedBC::VectorIntegratedBC(), VectorKernel::VectorKernel(), and VectorNodalBC::VectorNodalBC().

74  {
75  _moose_variable_dependencies.insert(var);
76  }
std::set< MooseVariableFieldBase * > _moose_variable_dependencies

◆ addMooseVariableDependency() [2/2]

void MooseVariableDependencyInterface::addMooseVariableDependency ( const std::vector< MooseVariableFieldBase *> &  vars)
inlineprotectedinherited

Definition at line 77 of file MooseVariableDependencyInterface.h.

78  {
79  _moose_variable_dependencies.insert(vars.begin(), vars.end());
80  }
std::set< MooseVariableFieldBase * > _moose_variable_dependencies

◆ addPostprocessorDependencyHelper()

virtual void PostprocessorInterface::addPostprocessorDependencyHelper ( const PostprocessorName &  ) const
inlineprotectedvirtualinherited

Helper for deriving classes to override to add dependencies when a Postprocessor is requested.

Reimplemented in AuxKernelTempl< ComputeValueType >, AuxKernelTempl< RT >, AuxKernelTempl< RealVectorValue >, AuxKernelTempl< Real >, UserObject, and InitialConditionBase.

Definition at line 141 of file PostprocessorInterface.h.

Referenced by PostprocessorInterface::getPostprocessorValueByNameInternal().

141 {}

◆ addUserObjectDependencyHelper()

virtual void UserObjectInterface::addUserObjectDependencyHelper ( const UserObject ) const
inlineprotectedvirtualinherited

Helper for deriving classes to override to add dependencies when a UserObject is requested.

Reimplemented in AuxKernelTempl< ComputeValueType >, AuxKernelTempl< RT >, AuxKernelTempl< RealVectorValue >, AuxKernelTempl< Real >, UserObject, and InitialConditionBase.

Definition at line 108 of file UserObjectInterface.h.

Referenced by UserObjectInterface::getUserObjectBaseByName().

108 {}

◆ addVectorPostprocessorDependencyHelper()

virtual void VectorPostprocessorInterface::addVectorPostprocessorDependencyHelper ( const VectorPostprocessorName &  ) const
inlineprotectedvirtualinherited

◆ adZeroGradient()

const ADVariableGradient & Coupleable::adZeroGradient ( ) const
protectedinherited

method that returns _grad_zero to RESIDUAL computing objects and _ad_grad_zero to JACOBIAN computing objects

Definition at line 2293 of file Coupleable.C.

2294 {
2295  mooseDeprecated("Method adZeroGradient() is deprecated. Use '_ad_grad_zero' instead.");
2296  return _ad_grad_zero;
2297 }
const MooseArray< ADRealVectorValue > & _ad_grad_zero
Definition: Coupleable.h:1402
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:313

◆ adZeroSecond()

const ADVariableSecond & Coupleable::adZeroSecond ( ) const
protectedinherited

Retrieve a zero second for automatic differentiation.

Definition at line 2300 of file Coupleable.C.

2301 {
2302  mooseDeprecated("Method adZeroSecond() is deprecated. Use '_ad_second_zero' instead.");
2303  return _ad_second_zero;
2304 }
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:313
const MooseArray< ADRealTensorValue > & _ad_second_zero
Definition: Coupleable.h:1409

◆ adZeroValue()

const ADVariableValue & Coupleable::adZeroValue ( ) const
protectedinherited

method that returns _zero to RESIDUAL computing objects and _ad_zero to JACOBIAN computing objects

Definition at line 2286 of file Coupleable.C.

2287 {
2288  mooseDeprecated("Method adZeroValue() is deprecated. Use '_ad_zero' instead.");
2289  return _ad_zero;
2290 }
const MooseArray< DualReal > & _ad_zero
Definition: Coupleable.h:1398
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:313

◆ areElemIDsIdentical()

bool ElementIDInterface::areElemIDsIdentical ( const std::string &  id_name1,
const std::string &  id_name2 
) const
inlineinherited

Whether two element integers are identical for all elements.

Definition at line 103 of file ElementIDInterface.h.

104  {
105  return _id_mesh->areElemIDsIdentical(id_name1, id_name2);
106  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ blockIDs()

const std::set< SubdomainID > & BlockRestrictable::blockIDs ( ) const
virtualinherited

Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.

Returns
a set of SubdomainIDs that are valid for this object

Definition at line 190 of file BlockRestrictable.C.

Referenced by FunctorMaterial::addFunctorProperty(), DiracKernelBase::addPoint(), DiracKernelBase::addPointWithValidId(), NodalPatchRecoveryAuxBase::blockRestrictElements(), MooseMesh::cacheFaceInfoVariableOwnership(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), BlockRestrictable::getBlockCoordSystem(), MaterialBase::getGenericZeroMaterialPropertyByName(), BlockRestrictable::hasBlockMaterialPropertyHelper(), SubdomainsDivision::initialize(), ElementCentroidPositions::initialize(), MooseVariableBase::MooseVariableBase(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), MaterialBase::registerPropName(), and FVPointValueConstraint::setMyElem().

191 {
192  if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
193  return _blk_mesh->meshSubdomains();
194  else
195  return _blk_ids;
196 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2921

◆ blockRestricted()

bool BlockRestrictable::blockRestricted ( ) const
virtualinherited

◆ blocks()

const std::vector< SubdomainName > & BlockRestrictable::blocks ( ) const
inherited

Return the block names for this object.

Note, if the 'blocks' input parameter was not utilized this will return an empty vector.

Returns
vector of SubdomainNames that are valid for this object

Definition at line 184 of file BlockRestrictable.C.

Referenced by MaterialOutputAction::getParams(), SubdomainsDivision::initialize(), and SolutionIC::initialSetup().

185 {
186  return _blocks;
187 }
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.

◆ blocksMaxDimension()

unsigned int BlockRestrictable::blocksMaxDimension ( ) const
inherited

Return the largest mesh dimension of the elements in the blocks for this object.

Definition at line 360 of file BlockRestrictable.C.

361 {
362  mooseAssert(_blk_dim != libMesh::invalid_uint, "Block restriction not initialized");
363  return _blk_dim;
364 }
unsigned int _blk_dim
Largest mesh dimension of the elements in the blocks for this object.
const unsigned int invalid_uint

◆ boundaryIDs()

const std::set< BoundaryID > & BoundaryRestrictable::boundaryIDs ( ) const
virtualinherited

Return the boundary IDs for this object.

Returns
A set of all boundary ids for which the object is restricted

Definition at line 180 of file BoundaryRestrictable.C.

Referenced by MaterialBase::getGenericZeroMaterialPropertyByName(), BoundaryRestrictable::hasBoundaryMaterialPropertyHelper(), SidesetInfoVectorPostprocessor::initialize(), InterfaceQpUserObjectBase::initialSetup(), and MaterialBase::registerPropName().

181 {
182  return _bnd_ids;
183 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.

◆ boundaryNames()

const std::vector< BoundaryName > & BoundaryRestrictable::boundaryNames ( ) const
inherited

Return the boundary names for this object.

Returns
A set of all boundary names for which the object is restricted

Definition at line 186 of file BoundaryRestrictable.C.

Referenced by MaterialOutputAction::getParams(), NearestNodeDistanceAux::NearestNodeDistanceAux(), and NearestNodeValueAux::NearestNodeValueAux().

187 {
188  return _boundary_names;
189 }
std::vector< BoundaryName > _boundary_names
Vector the the boundary names.

◆ boundaryRestricted()

bool BoundaryRestrictable::boundaryRestricted ( ) const
virtualinherited

Returns true if this object has been restricted to a boundary.

See also
MooseObject

Definition at line 198 of file BoundaryRestrictable.C.

Referenced by checkMaterialProperty(), MaterialOutputAction::getParams(), and DerivativeMaterialInterface< MortarScalarBase >::haveMaterialProperty().

199 {
201 }
static bool restricted(const std::set< BoundaryID > &ids)
Helper for determining if the object is boundary restricted.
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.

◆ buildOutputHideVariableList()

void OutputInterface::buildOutputHideVariableList ( std::set< std::string >  variable_names)
inherited

Builds hide lists for output objects NOT listed in the 'outputs' parameter.

Parameters
variable_namesA set of variables for which the 'outputs' parameter controls

By default this is called by the constructor and passes the block name as the list of variables. This needs to be called explicitly if the build_list flag is set to False in the constructor. The latter cases is needed by the Material object to work correctly with the automatic material output capability.

Definition at line 61 of file OutputInterface.C.

Referenced by ReporterTransferInterface::hideVariableHelper(), and OutputInterface::OutputInterface().

62 {
63  // Set of available names
64  const std::set<OutputName> & avail = _oi_output_warehouse.getOutputNames();
65 
66  // Check for 'none'; hide variables on all outputs
67  if (_oi_outputs.find("none") != _oi_outputs.end())
68  for (const auto & name : avail)
69  _oi_output_warehouse.addInterfaceHideVariables(name, variable_names);
70 
71  // Check for empty and 'all' in 'outputs' parameter; do not perform any variable restrictions in
72  // these cases
73  else if (_oi_outputs.empty() || _oi_outputs.find("all") != _oi_outputs.end())
74  return;
75 
76  // Limit the variable output to Output objects listed
77  else
78  {
79  // Create a list of outputs where the variable should be hidden
80  std::set<OutputName> hide;
81  std::set_difference(avail.begin(),
82  avail.end(),
83  _oi_outputs.begin(),
84  _oi_outputs.end(),
85  std::inserter(hide, hide.begin()));
86 
87  // If 'outputs' is specified add the object name to the list of items to hide
88  for (const auto & name : hide)
89  _oi_output_warehouse.addInterfaceHideVariables(name, variable_names);
90  }
91 }
OutputWarehouse & _oi_output_warehouse
Reference to the OutputWarehouse for populating the Output object hide lists.
std::set< OutputName > _oi_outputs
The set of Output object names listed in the &#39;outputs&#39; parameter.
const std::set< OutputName > & getOutputNames()
Get a complete set of all output object names.
void addInterfaceHideVariables(const std::string &output_name, const std::set< std::string > &variable_names)
Insert variable names for hiding via the OutoutInterface.

◆ buildRequiredMaterials() [1/2]

template<typename Consumers >
std::deque< MaterialBase * > MaterialBase::buildRequiredMaterials ( const Consumers &  mat_consumers,
const std::vector< std::shared_ptr< MaterialBase >> &  mats,
const bool  allow_stateful 
)
staticinherited

Build the materials required by a set of consumer objects.

Definition at line 487 of file MaterialBase.h.

Referenced by MaterialPropertyInterface::buildRequiredMaterials(), and Moose::Mortar::setupMortarMaterials().

490 {
491  std::deque<MaterialBase *> required_mats;
492 
493  std::unordered_set<unsigned int> needed_mat_props;
494  for (const auto & consumer : mat_consumers)
495  {
496  const auto & mp_deps = consumer->getMatPropDependencies();
497  needed_mat_props.insert(mp_deps.begin(), mp_deps.end());
498  }
499 
500  // A predicate of calling this function is that these materials come in already sorted by
501  // dependency with the front of the container having no other material dependencies and following
502  // materials potentially depending on the ones in front of them. So we can start at the back and
503  // iterate forward checking whether the current material supplies anything that is needed, and if
504  // not we discard it
505  for (auto it = mats.rbegin(); it != mats.rend(); ++it)
506  {
507  auto * const mat = it->get();
508  bool supplies_needed = false;
509 
510  const auto & supplied_props = mat->getSuppliedPropIDs();
511 
512  // Do O(N) with the small container
513  for (const auto supplied_prop : supplied_props)
514  {
515  if (needed_mat_props.count(supplied_prop))
516  {
517  supplies_needed = true;
518  break;
519  }
520  }
521 
522  if (!supplies_needed)
523  continue;
524 
525  if (!allow_stateful && mat->hasStatefulProperties())
526  ::mooseError(
527  "Someone called buildRequiredMaterials with allow_stateful = false but a material "
528  "dependency ",
529  mat->name(),
530  " computes stateful properties.");
531 
532  const auto & mp_deps = mat->getMatPropDependencies();
533  needed_mat_props.insert(mp_deps.begin(), mp_deps.end());
534  required_mats.push_front(mat);
535  }
536 
537  return required_mats;
538 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ buildRequiredMaterials() [2/2]

std::unordered_map< SubdomainID, std::vector< MaterialBase * > > MaterialPropertyInterface::buildRequiredMaterials ( bool  allow_stateful = true)
inherited

get a map of MaterialBase pointers for all material objects that this object depends on for each block

Definition at line 205 of file MaterialPropertyInterface.C.

206 {
207  std::unordered_map<SubdomainID, std::vector<MaterialBase *>> required_mats;
208  const auto & mwh = _mi_feproblem.getMaterialWarehouse();
209  for (const auto id : _mi_block_ids)
210  {
211  const auto & mats = mwh[_material_data_type].getActiveBlockObjects(id, _mi_tid);
212  std::array<const MaterialPropertyInterface *, 1> consumers = {{this}};
213  const auto block_required =
214  MaterialBase::buildRequiredMaterials(consumers, mats, allow_stateful);
215  required_mats[id].insert(
216  required_mats[id].begin(), block_required.begin(), block_required.end());
217  }
218  return required_mats;
219 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
const THREAD_ID _mi_tid
Current threaded it.
const std::set< SubdomainID > & _mi_block_ids
Storage for the block ids created by BlockRestrictable.
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
const MaterialWarehouse & getMaterialWarehouse() const
static std::deque< MaterialBase * > buildRequiredMaterials(const Consumers &mat_consumers, const std::vector< std::shared_ptr< MaterialBase >> &mats, const bool allow_stateful)
Build the materials required by a set of consumer objects.
Definition: MaterialBase.h:487
const Moose::MaterialDataType _material_data_type
The type of data.

◆ checkAllVariables()

template<typename DofObjectType >
std::set< MooseVariableFieldBase * > MooseVariableDependencyInterface::checkAllVariables ( const DofObjectType &  dof_object,
const std::set< MooseVariableFieldBase *> &  vars_to_omit = {} 
)
inherited

Check whether all of the variable dependencies have degree of freedom indices on the supplied degree of freedom object.

Parameters
dof_objectThe degree of freedom object (an element or node) that we want to check for existence of variable degrees of freedom on
vars_to_omitVariables that we can omit from checking
Returns
Any variables that do not have degrees of freedom on the supplied degree of freedom object

Definition at line 91 of file MooseVariableDependencyInterface.h.

93 {
94  if (vars_to_omit.empty())
95  return checkVariables(dof_object, _moose_variable_dependencies);
96 
97  std::set<MooseVariableFieldBase *> vars_to_check;
98  std::set_difference(_moose_variable_dependencies.begin(),
100  vars_to_omit.begin(),
101  vars_to_omit.end(),
102  std::inserter(vars_to_check, vars_to_check.begin()));
103  return checkVariables(dof_object, vars_to_check);
104 }
std::set< MooseVariableFieldBase * > checkVariables(const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_check)
Check whether all of the supplied variables have degree of freedom indices on the supplied degree of ...
std::set< MooseVariableFieldBase * > _moose_variable_dependencies

◆ checkBlockAndBoundaryCompatibility()

void MaterialPropertyInterface::checkBlockAndBoundaryCompatibility ( std::shared_ptr< MaterialBase discrete)
inherited

Check if block and boundary restrictions of a given material are compatible with the current material.

Error out otherwise.

Definition at line 147 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getMaterialByName().

149 {
150  // Check block compatibility
151  if (!discrete->hasBlocks(_mi_block_ids))
152  {
153  std::ostringstream oss;
154  oss << "Incompatible material and object blocks:";
155 
156  oss << "\n " << paramErrorPrefix(discrete->parameters(), "block")
157  << " material defined on blocks ";
158  for (const auto & sbd_id : discrete->blockIDs())
159  oss << sbd_id << ", ";
160 
161  oss << "\n " << paramErrorPrefix(_mi_params, "block") << " object needs material on blocks ";
162  for (const auto & block_id : _mi_block_ids)
163  oss << block_id << ", ";
164 
165  mooseError(oss.str());
166  }
167 
168  // Check boundary compatibility
169  if (!discrete->hasBoundary(_mi_boundary_ids))
170  {
171  std::ostringstream oss;
172  oss << "Incompatible material and object boundaries:";
173 
174  oss << "\n " << paramErrorPrefix(discrete->parameters(), "boundary")
175  << " material defined on boundaries ";
176  for (const auto & bnd_id : discrete->boundaryIDs())
177  oss << bnd_id << ", ";
178 
179  oss << "\n " << paramErrorPrefix(_mi_params, "boundary")
180  << " object needs material on boundaries ";
181  for (const auto & bnd_id : _mi_boundary_ids)
182  oss << bnd_id << ", ";
183 
184  mooseError(oss.str());
185  }
186 }
const std::set< SubdomainID > & _mi_block_ids
Storage for the block ids created by BlockRestrictable.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::set< BoundaryID > & _mi_boundary_ids
Storage for the boundary ids created by BoundaryRestrictable.
const InputParameters & _mi_params
Parameters of the object with this interface.
std::string paramErrorPrefix(const InputParameters &params, const std::string &param)
Get canonical paramError prefix for param-related error/warning/info messages.

◆ checkExecutionStage() [1/2]

void MaterialBase::checkExecutionStage ( )
protectedinherited

Check and throw an error if the execution has progressed past the construction stage.

Definition at line 243 of file MaterialBase.C.

Referenced by InterfaceMaterial::getGenericMaterialPropertyByName(), getGenericMaterialPropertyByName(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), and MaterialBase::getGenericZeroMaterialPropertyByName().

244 {
246  mooseError("Material properties must be retrieved during material object construction to "
247  "ensure correct dependency resolution.");
248 }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
virtual bool startedInitialSetup()
Returns true if we are in or beyond the initialSetup stage.

◆ checkExecutionStage() [2/2]

void MaterialPropertyInterface::checkExecutionStage ( )
protectedinherited

Check and throw an error if the execution has progressed past the construction stage.

Definition at line 222 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getGenericMaterialPropertyByName().

223 {
225  mooseError("Material properties must be retrieved during object construction. This is a code "
226  "problem.");
227 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
virtual bool startedInitialSetup()
Returns true if we are in or beyond the initialSetup stage.

◆ checkMaterialProperty()

void Material::checkMaterialProperty ( const std::string &  name,
const unsigned int  state 
)
overrideprotectedvirtual

A helper method for checking material properties This method was required to avoid a compiler problem with the template getMaterialProperty method.

Reimplemented from MaterialPropertyInterface.

Definition at line 184 of file Material.C.

185 {
186  // Avoid performing duplicate checks for triple block/face/neighbor materials
187  if (boundaryRestricted() || !_bnd)
189 }
virtual void checkMaterialProperty(const std::string &name, const unsigned int state)
A helper method for checking material properties This method was required to avoid a compiler problem...
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool _bnd
Definition: Material.h:229

◆ checkStatefulSanity()

void MaterialBase::checkStatefulSanity ( ) const
inherited

Definition at line 145 of file MaterialBase.C.

146 {
147  for (const auto & [id, min_state] : _props_to_min_states)
148  if (min_state > 0)
149  mooseError("The stateful property '",
151  "' is undefined");
152 }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
std::unordered_map< unsigned int, unsigned int > _props_to_min_states
The minimum states requested (0 = current, 1 = old, 2 = older) This is sparse and is used to keep tra...
Definition: MaterialBase.h:359
const std::string & getName(const unsigned int id) const
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const MaterialPropertyRegistry & getMaterialPropertyRegistry() const

◆ checkVar()

bool Coupleable::checkVar ( const std::string &  var_name,
unsigned int  comp = 0,
unsigned int  comp_bound = 0 
) const
protectedinherited

Check that the right kind of variable is being coupled in.

Parameters
var_nameThe name of the coupled variable

Definition at line 204 of file Coupleable.C.

Referenced by Coupleable::getVarHelper().

207 {
208  const auto var_name = _c_parameters.checkForRename(var_name_in);
209  auto it = _c_coupled_scalar_vars.find(var_name);
210  if (it != _c_coupled_scalar_vars.end())
211  {
212  std::string cvars;
213  for (auto jt : it->second)
214  cvars += " " + jt->name();
215 
216  _obj->paramError(var_name,
217  "cannot couple '",
218  var_name,
219  "' to a scalar variable (",
220  cvars,
221  ") where field variable is expected");
222  }
223 
224  if (!isCoupled(var_name, comp))
225  return false; // return false since variable is *not* coupled
226 
227  auto vars_vector_it = _coupled_vars.find(var_name);
228  if (vars_vector_it == _coupled_vars.end())
229  mooseError(_c_name, ": Trying to get a coupled var ", var_name, " that doesn't exist");
230 
231  const auto & vars_vector = vars_vector_it->second;
232 
233  auto bound = comp_bound ? comp_bound : vars_vector.size();
234  checkComponent(_obj, comp, bound, var_name);
235 
236  // We should know we have a variable now
237  const auto * var = vars_vector[comp];
238  if (!var)
239  mooseError(
240  _c_name,
241  ": We did all our checks for the existence of a var, yet we still don't have a var!?");
242 
243  // Only perform the following checks for objects that feed into residuals/Jacobians, e.g. objects
244  // that inherit from the TaggingInterface
245  if (_c_parameters.have_parameter<MultiMooseEnum>("vector_tags"))
246  {
247  // Are we attempting to couple to a non-FV var in an FV object?
248  if (!var->isFV() && _is_fv)
249  mooseError("Attempting to couple non-FV variable ",
250  var->name(),
251  " into an FV object ",
252  _c_name,
253  ". This is not currently supported");
254  }
255 
256  if (!(vars_vector[comp])->isNodal() && _c_nodal && !_c_allow_element_to_nodal_coupling)
257  mooseError(_c_name, ": cannot couple elemental variables into nodal objects");
258 
259  return true;
260 }
virtual bool isCoupled(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:124
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:1324
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const bool _is_fv
Whether the MooseObject is a finite volume object.
Definition: Coupleable.h:1705
const bool _c_allow_element_to_nodal_coupling
Definition: Coupleable.h:1351
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _c_coupled_scalar_vars
Scalar variables coupled into this object (for error checking)
Definition: Coupleable.h:1698
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
const MooseObject *const _obj
Definition: Coupleable.h:1707
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
void checkComponent(const MooseObject *obj, unsigned int comp, unsigned int bound, const std::string &var_name)
Definition: Coupleable.C:173
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...

◆ checkVariable()

void BlockRestrictable::checkVariable ( const MooseVariableFieldBase variable) const
virtualinherited

Helper for checking that the ids for this object are in agreement with the variables on the supplied variable.

Parameters
variableThe variable to check against.

Reimplemented in DomainUserObject.

Definition at line 333 of file BlockRestrictable.C.

Referenced by DomainUserObject::checkVariable().

334 {
335  // a variable defined on all internal sides does not need this check because
336  // it can be coupled with other variables in DG kernels
337  if (variable.activeSubdomains().count(Moose::INTERNAL_SIDE_LOWERD_ID) > 0)
338  return;
339 
340  if (!isBlockSubset(variable.activeSubdomains()))
341  {
342  std::string var_ids = Moose::stringify(variable.activeSubdomains(), ", ");
343  std::string obj_ids = Moose::stringify(blockRestricted() ? _blk_ids : meshBlockIDs(), ", ");
344  mooseError("The 'block' parameter of the object '",
345  _blk_name,
346  "' must be a subset of the 'block' parameter of the variable '",
347  variable.name(),
348  "':\n Object '",
349  _blk_name,
350  "': ",
351  obj_ids,
352  "\n Variable '",
353  variable.name(),
354  "': ",
355  var_ids);
356  }
357 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & name() const override
Get the variable name.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:62
const std::set< SubdomainID > & activeSubdomains() const
The subdomains the variable is active on.
const SubdomainID INTERNAL_SIDE_LOWERD_ID
Definition: MooseTypes.C:20
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::string & _blk_name
Name of the object.

◆ checkVariableBoundaryIntegrity()

virtual bool BoundaryRestrictable::checkVariableBoundaryIntegrity ( ) const
inlinevirtualinherited

Whether integrity/coverage checking should be conducted for moose variables used in this object.

This should return true if variables are only evaluated locally, e.g. on the current node or element. This should return false if evaluation of this object entails non-local variable evaluations

Definition at line 179 of file BoundaryRestrictable.h.

179 { return true; }

◆ checkVariables()

template<typename DofObjectType >
template std::set< MooseVariableFieldBase * > MooseVariableDependencyInterface::checkVariables ( const DofObjectType &  dof_object,
const std::set< MooseVariableFieldBase *> &  vars_to_check 
)
inherited

Check whether all of the supplied variables have degree of freedom indices on the supplied degree of freedom object.

Parameters
dof_objectThe degree of freedom object (an element or node) that we want to check for existence of variable degrees of freedom on
vars_to_checkthe variables to check
Returns
Any variables that do not have degrees of freedom on the supplied degree of freedom object

Definition at line 25 of file MooseVariableDependencyInterface.C.

Referenced by MooseVariableDependencyInterface::checkAllVariables().

27 {
28  std::set<MooseVariableFieldBase *> vars_without_indices;
29  for (auto * const var : vars_to_check)
30  {
31  var->sys().dofMap().dof_indices(&dof_object, _dof_indices, var->number());
32  if (_dof_indices.empty())
33  vars_without_indices.insert(var);
34  }
35 
36  return vars_without_indices;
37 }
std::vector< libMesh::dof_id_type > _dof_indices
A container for holding dof indices in order to avoid constant memory reallocation.

◆ checkWritableVar()

void Coupleable::checkWritableVar ( MooseWritableVariable var)
protectedinherited

Checks that the passed in variable is only accessed writable by one object in a given subdomain.

Definition at line 932 of file Coupleable.C.

Referenced by Coupleable::writableCoupledValue(), and Coupleable::writableVariable().

933 {
934  // check domain restrictions for compatibility
935  const auto * br = dynamic_cast<const BlockRestrictable *>(this);
936  const auto * nfc = dynamic_cast<const NodeFaceConstraint *>(this);
937 
938  if (br && !var->hasBlocks(br->blockIDs()))
939  mooseError("The variable '",
940  var->name(),
941  "' must be defined on all blocks '",
942  _obj->name(),
943  "' is defined on.");
944 
945  if (nfc && !var->hasBlocks(nfc->getSecondaryConnectedBlocks()))
946  mooseError("The variable '",
947  var->name(),
948  " must be defined on all blocks '",
949  _obj->name(),
950  "'s secondary surface is defined on.");
951 
952  // make sure only one object can access a variable
953  for (const auto & ci : _obj->getMooseApp().getInterfaceObjects<Coupleable>())
954  if (ci != this && ci->_writable_coupled_variables[_c_tid].count(var))
955  {
956  // if both this and ci are block restrictable then we check if the block restrictions
957  // are not overlapping. If they don't we permit the call.
958  const auto * br_other = dynamic_cast<const BlockRestrictable *>(ci);
959  if (br && br_other && br->blockRestricted() && br_other->blockRestricted() &&
960  !MooseUtils::setsIntersect(br->blockIDs(), br_other->blockIDs()))
961  continue;
962  else if (nfc)
963  continue;
964 
965  mooseError("'",
966  ci->_obj->name(),
967  "' already obtained a writable reference to '",
968  var->name(),
969  "'. Only one object can obtain such a reference per variable and subdomain in a "
970  "simulation.");
971  }
972 
973  // var is unique across threads, so we could forego having a separate set per thread, but we
974  // need quick access to the list of all variables that need to be inserted into the solution
975  // vector by a given thread.
976 
977  _writable_coupled_variables[_c_tid].insert(var);
978 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool setsIntersect(InputIterator first1, InputIterator last1, InputIterator first2, InputIterator last2)
This method detects whether two sets intersect without building a result set.
Definition: MooseUtils.h:1172
const std::string & name() const override
Get the variable name.
THREAD_ID _c_tid
Thread ID of the thread using this object.
Definition: Coupleable.h:1354
std::vector< std::set< MooseWritableVariable * > > _writable_coupled_variables
keep a set of allocated writable variable references to make sure only one object can obtain them per...
Definition: Coupleable.h:1714
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:44
A NodeFaceConstraint is used when you need to create constraints between two surfaces in a mesh...
const MooseObject *const _obj
Definition: Coupleable.h:1707
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:44
bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
const std::vector< T * > & getInterfaceObjects() const
Gets the registered interface objects for a given interface.
Definition: MooseApp.h:1535

◆ computeConstantOption()

Material::ConstantTypeEnum Material::computeConstantOption ( )
private

Definition at line 143 of file Material.C.

144 {
145  auto co = getParam<MooseEnum>("constant_on").getEnum<ConstantTypeEnum>();
146 
147  // If the material is operating on a boundary we'll have to _at least_ run it
148  // once per element, as there is no boundarySetup, and boundaries are worked
149  // on as they are encountered on the elements while looping elements.
150  if (_bnd && co == ConstantTypeEnum::SUBDOMAIN)
152 
153  return co;
154 }
bool _bnd
Definition: Material.h:229

◆ computeProperties()

void Material::computeProperties ( )
overridevirtual

Performs the quadrature point loop, calling computeQpProperties.

Implements MaterialBase.

Reimplemented in DerivativeFunctionMaterialBaseTempl< is_ad >, DerivativeSumMaterialTempl< is_ad >, and FunctorMaterial.

Definition at line 111 of file Material.C.

112 {
114  return;
115 
116  // Reference to *all* the MaterialProperties in the MaterialData object, not
117  // just the ones for this Material.
119 
120  // If this Material ist set to be constant over elements, we take the
121  // value computed for _qp == 0 and use it at all the quadrature points
122  // in the element.
124  {
125  // Compute MaterialProperty values at the first qp.
126  _qp = 0;
128 
129  // Now copy the values computed at qp 0 to all the other qps.
130  for (const auto & prop_id : _supplied_prop_ids)
131  {
132  auto nqp = _qrule->n_points();
133  for (decltype(nqp) qp = 1; qp < nqp; ++qp)
134  props[prop_id].qpCopy(qp, props[prop_id], 0);
135  }
136  }
137  else
138  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
140 }
const QBase *const & _qrule
Definition: Material.h:233
virtual void computeQpProperties()
Users must override this method.
Definition: MaterialBase.C:213
const ConstantTypeEnum _constant_option
Options of the constantness level of the material.
Definition: Material.h:245
MaterialData & _material_data
The material data class that stores properties.
unsigned int _qp
Definition: MaterialBase.h:318
const MaterialProperties & props(const unsigned int state=0) const
Definition: MaterialData.h:238
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342

◆ computePropertiesAtQp()

void MaterialBase::computePropertiesAtQp ( unsigned int  qp)
virtualinherited

A method for (re)computing the properties of a MaterialBase.

This is intended to be called from other objects, by first calling MaterialPropertyInterface::getMaterial and then calling this method on the MaterialBase object returned.

Definition at line 236 of file MaterialBase.C.

237 {
238  _qp = qp;
240 }
virtual void computeQpProperties()
Users must override this method.
Definition: MaterialBase.C:213
unsigned int _qp
Definition: MaterialBase.h:318

◆ computeQpProperties()

void MaterialBase::computeQpProperties ( )
protectedvirtualinherited

◆ connectControllableParams()

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

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

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

Definition at line 34 of file MooseBaseParameterInterface.C.

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

◆ coupled()

unsigned int Coupleable::coupled ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns the index for a coupled variable by name.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Index of coupled variable, if this is an optionally coupled variable that wasn't provided this will return a unique "invalid" index.

Reimplemented in ShapeUserObject< ElementUserObject >, and ShapeUserObject< SideUserObject >.

Definition at line 437 of file Coupleable.C.

Referenced by Coupleable::coupledIndices(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), and KernelBase::KernelBase().

438 {
439  const auto * var = getFieldVar(var_name, comp);
440  if (!var)
441  {
442  mooseAssert(_optional_var_index.find(var_name) != _optional_var_index.end(),
443  "optional var index for " << var_name << " does not exist!");
444  // make sure we don't try to access default var ids that were not provided
445  checkComponent(_obj, comp, _optional_var_index.at(var_name).size(), var_name);
446  return _optional_var_index.at(var_name)[comp];
447  }
449 
450  if (var->kind() == Moose::VAR_NONLINEAR &&
451  // are we not an object that feeds into the nonlinear system?
453  // are we an object that impacts the nonlinear system and this variable is within our
454  // nonlinear system?
455  var->sys().number() == _c_sys->number()))
456  return var->number();
457  else
458  // Avoid registering coupling to variables outside of our system (e.g. avoid potentially
459  // creating bad Jacobians)
460  return std::numeric_limits<unsigned int>::max() - var->number();
461 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
auto max(const L &left, const R &right)
const SystemBase *const _c_sys
Pointer to the system object if the moose object this is an interface for has one.
Definition: Coupleable.h:1321
unsigned int number() const
Gets the number of this system.
Definition: SystemBase.C:1125
const MooseObject *const _obj
Definition: Coupleable.h:1707
void checkComponent(const MooseObject *obj, unsigned int comp, unsigned int bound, const std::string &var_name)
Definition: Coupleable.C:173
std::unordered_map< std::string, std::vector< unsigned int > > _optional_var_index
Unique indices for optionally coupled vars that weren&#39;t provided.
Definition: Coupleable.h:1695
Moose::VarKindType varKind() const
Definition: SystemBase.h:916
const MooseVariableFieldBase * getFieldVar(const std::string &var_name, unsigned int comp) const
Definition: Coupleable.C:277

◆ coupledAllDofValues()

std::vector< const VariableValue * > Coupleable::coupledAllDofValues ( const std::string &  var_name) const
protectedinherited

Returns DoFs in the current solution vector of all of a coupled variable's components for the local element.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of the coupled variable

Definition at line 1939 of file Coupleable.C.

1940 {
1941  auto func = [this, &var_name](unsigned int comp) { return &coupledDofValues(var_name, comp); };
1942  return coupledVectorHelper<const VariableValue *>(var_name, func);
1943 }
virtual const VariableValue & coupledDofValues(const std::string &var_name, unsigned int comp=0) const
Returns DoFs in the current solution vector of a coupled variable for the local element.
Definition: Coupleable.C:1926

◆ coupledAllDofValuesOld()

std::vector< const VariableValue * > Coupleable::coupledAllDofValuesOld ( const std::string &  var_name) const
protectedinherited

Returns DoFs in the old solution vector of all of a coupled variable's components for the local element.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each compontnet of the coupled variable

Definition at line 1959 of file Coupleable.C.

1960 {
1961  auto func = [this, &var_name](unsigned int comp) { return &coupledDofValuesOld(var_name, comp); };
1962  return coupledVectorHelper<const VariableValue *>(var_name, func);
1963 }
virtual const VariableValue & coupledDofValuesOld(const std::string &var_name, unsigned int comp=0) const
Returns DoFs in the old solution vector of a coupled variable for the local element.
Definition: Coupleable.C:1946

◆ coupledAllDofValuesOlder()

std::vector< const VariableValue * > Coupleable::coupledAllDofValuesOlder ( const std::string &  var_name) const
protectedinherited

Returns DoFs in the older solution vector of all of a coupled variable's components for the local element.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of the coupled variable

Definition at line 1979 of file Coupleable.C.

1980 {
1981  auto func = [this, &var_name](unsigned int comp)
1982  { return &coupledDofValuesOlder(var_name, comp); };
1983  return coupledVectorHelper<const VariableValue *>(var_name, func);
1984 }
virtual const VariableValue & coupledDofValuesOlder(const std::string &var_name, unsigned int comp=0) const
Returns DoFs in the older solution vector of a coupled variable for the local element.
Definition: Coupleable.C:1966

◆ coupledArrayDofValues()

const ArrayVariableValue & Coupleable::coupledArrayDofValues ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns DoFs in the current solution vector of a coupled array variable for the local element.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a VariableValue for the DoFs of the coupled variable

Definition at line 1987 of file Coupleable.C.

1988 {
1989  const auto * var = getArrayVar(var_name, comp);
1990  if (!var)
1991  return *getDefaultArrayValue(var_name);
1993 
1994  if (!_coupleable_neighbor)
1995  return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
1996  return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
1997 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
const ArrayVariableValue * getDefaultArrayValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled array variable...
Definition: Coupleable.C:392
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301

◆ coupledArrayDot()

const ArrayVariableValue & Coupleable::coupledArrayDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableValue containing the time derivative of the coupled variable

Definition at line 1314 of file Coupleable.C.

1315 {
1316  const auto * var = getArrayVar(var_name, comp);
1317  if (!var)
1320 
1321  if (!_coupleable_neighbor)
1322  {
1323  if (_c_nodal)
1324  return var->dofValuesDot();
1325  return var->uDot();
1326  }
1327  else
1328  {
1329  if (_c_nodal)
1330  return var->dofValuesDotNeighbor();
1331  return var->uDotNeighbor();
1332  }
1333 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableValue _default_array_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1433

◆ coupledArrayDotDot()

const ArrayVariableValue & Coupleable::coupledArrayDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableValue containing the time derivative of the coupled variable

Definition at line 1336 of file Coupleable.C.

1337 {
1338  const auto * var = getArrayVar(var_name, comp);
1339  if (!var)
1342 
1343  if (!_coupleable_neighbor)
1344  {
1345  if (_c_nodal)
1346  return var->dofValuesDotDot();
1347  return var->uDotDot();
1348  }
1349  else
1350  {
1351  if (_c_nodal)
1352  return var->dofValuesDotDotNeighbor();
1353  return var->uDotDotNeighbor();
1354  }
1355 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableValue _default_array_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1433

◆ coupledArrayDotDotOld()

const ArrayVariableValue & Coupleable::coupledArrayDotDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old second time derivative of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableValue containing the time derivative of the coupled variable

Definition at line 1380 of file Coupleable.C.

1381 {
1382  const auto * var = getArrayVar(var_name, comp);
1383  if (!var)
1386 
1387  if (!_coupleable_neighbor)
1388  {
1389  if (_c_nodal)
1390  return var->dofValuesDotDotOld();
1391  return var->uDotDotOld();
1392  }
1393  else
1394  {
1395  if (_c_nodal)
1396  return var->dofValuesDotDotOldNeighbor();
1397  return var->uDotDotOldNeighbor();
1398  }
1399 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableValue _default_array_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1433

◆ coupledArrayDotDu()

const VariableValue & Coupleable::coupledArrayDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Time derivative of a coupled array variable with respect to the coefficients.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a ArrayVariableValue containing the time derivative of the coupled variable

Definition at line 1452 of file Coupleable.C.

1453 {
1454  const auto * const var = getArrayVar(var_name, comp);
1455  if (!var)
1456  {
1458  return _default_value_zero;
1459  }
1461 
1462  if (!_coupleable_neighbor)
1463  {
1464  if (_c_nodal)
1465  return var->dofValuesDuDotDu();
1466  return var->duDotDu();
1467  }
1468  else
1469  {
1470  if (_c_nodal)
1471  return var->dofValuesDuDotDuNeighbor();
1472  return var->duDotDuNeighbor();
1473  }
1474 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledArrayDotOld()

const ArrayVariableValue & Coupleable::coupledArrayDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old time derivative of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableValue containing the time derivative of the coupled variable

Definition at line 1358 of file Coupleable.C.

1359 {
1360  const auto * var = getArrayVar(var_name, comp);
1361  if (!var)
1364 
1365  if (!_coupleable_neighbor)
1366  {
1367  if (_c_nodal)
1368  return var->dofValuesDotOld();
1369  return var->uDotOld();
1370  }
1371  else
1372  {
1373  if (_c_nodal)
1374  return var->dofValuesDotOldNeighbor();
1375  return var->uDotOldNeighbor();
1376  }
1377 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableValue _default_array_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1433

◆ coupledArrayGradient()

const ArrayVariableGradient & Coupleable::coupledArrayGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a VectorVariableGradient containing the gradient of the coupled array variable

Definition at line 1622 of file Coupleable.C.

1623 {
1624  const auto * var = getArrayVar(var_name, comp);
1625  if (!var)
1626  return _default_array_gradient;
1628 
1629  if (!_coupleable_neighbor)
1630  return (_c_is_implicit) ? var->gradSln() : var->gradSlnOld();
1631  return (_c_is_implicit) ? var->gradSlnNeighbor() : var->gradSlnOldNeighbor();
1632 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableGradient _default_array_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1436

◆ coupledArrayGradientDot()

const ArrayVariableGradient & Coupleable::coupledArrayGradientDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Retun a gradient of a coupled array variable's time derivative.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableGradient containing the gradient of the time derivative the coupled array variable

Definition at line 1661 of file Coupleable.C.

1662 {
1663  const auto * const var = getArrayVar(var_name, comp);
1664  if (!var)
1665  return _default_array_gradient;
1667 
1668  if (!_coupleable_neighbor)
1669  return var->gradSlnDot();
1670  return var->gradSlnNeighborDot();
1671 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableGradient _default_array_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1436

◆ coupledArrayGradientOld()

const ArrayVariableGradient & Coupleable::coupledArrayGradientOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from previous time step of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a VectorVariableGradient containing the old gradient of the coupled array variable

Definition at line 1635 of file Coupleable.C.

1636 {
1637  const auto * var = getArrayVar(var_name, comp);
1638  if (!var)
1639  return _default_array_gradient;
1641 
1642  if (!_coupleable_neighbor)
1643  return (_c_is_implicit) ? var->gradSlnOld() : var->gradSlnOlder();
1644  return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor();
1645 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableGradient _default_array_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1436

◆ coupledArrayGradientOlder()

const ArrayVariableGradient & Coupleable::coupledArrayGradientOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from two time steps previous of a coupled array variable.

Parameters
var_nameName of coupled array variable
compComponent number for vector of coupled array variables
Returns
Reference to a ArrayVariableGradient containing the older gradient of the coupled array variable

Definition at line 1648 of file Coupleable.C.

1649 {
1650  const auto * var = getArrayVar(var_name, comp);
1651  if (!var)
1652  return _default_array_gradient;
1654 
1655  if (!_coupleable_neighbor)
1656  return var->gradSlnOlder();
1657  return var->gradSlnOlderNeighbor();
1658 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301
ArrayVariableGradient _default_array_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1436

◆ coupledArrayValue()

const ArrayVariableValue & Coupleable::coupledArrayValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns value of a coupled array variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a ArrayVariableValue for the coupled vector variable
See also
ArrayKernel::_u

Definition at line 830 of file Coupleable.C.

Referenced by Coupleable::coupledArrayValues().

831 {
832  const auto * var = getArrayVar(var_name, comp);
833  if (!var)
834  return *getDefaultArrayValue(var_name);
836 
838  {
839  if (_c_nodal)
840  return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
841  return (_c_is_implicit) ? var->sln() : var->slnOld();
842  }
843  else
844  {
845  if (_c_nodal)
846  return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
847  return (_c_is_implicit) ? var->slnNeighbor() : var->slnOldNeighbor();
848  }
849 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
const ArrayVariableValue * getDefaultArrayValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled array variable...
Definition: Coupleable.C:392
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301

◆ coupledArrayValueOld()

const ArrayVariableValue & Coupleable::coupledArrayValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from previous time step of a coupled array variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a ArrayVariableValue containing the old value of the coupled variable
See also
ArrayKernel::_u_old

Definition at line 1074 of file Coupleable.C.

1075 {
1076  const auto * var = getArrayVar(var_name, comp);
1077  if (!var)
1078  return *getDefaultArrayValue(var_name);
1080 
1081  if (!_coupleable_neighbor)
1082  {
1083  if (_c_nodal)
1084  return (_c_is_implicit) ? var->dofValuesOld() : var->dofValuesOlder();
1085  return (_c_is_implicit) ? var->slnOld() : var->slnOlder();
1086  }
1087  else
1088  {
1089  if (_c_nodal)
1090  return (_c_is_implicit) ? var->dofValuesOldNeighbor() : var->dofValuesOlderNeighbor();
1091  return (_c_is_implicit) ? var->slnOldNeighbor() : var->slnOlderNeighbor();
1092  }
1093 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
const ArrayVariableValue * getDefaultArrayValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled array variable...
Definition: Coupleable.C:392
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301

◆ coupledArrayValueOlder()

const ArrayVariableValue & Coupleable::coupledArrayValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from two time steps previous of a coupled array variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a ArrayVariableValue containing the older value of the coupled variable
See also
ArrayKernel::_u_older

Definition at line 1096 of file Coupleable.C.

1097 {
1098  const auto * var = getArrayVar(var_name, comp);
1099  if (!var)
1100  return *getDefaultArrayValue(var_name);
1102 
1103  if (!_coupleable_neighbor)
1104  {
1105  if (_c_nodal)
1106  return var->dofValuesOlder();
1107  return var->slnOlder();
1108  }
1109  else
1110  {
1111  if (_c_nodal)
1112  return var->dofValuesOlderNeighbor();
1113  return var->slnOlderNeighbor();
1114  }
1115 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
const ArrayVariableValue * getDefaultArrayValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled array variable...
Definition: Coupleable.C:392
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301

◆ coupledArrayValues()

std::vector< const ArrayVariableValue * > Coupleable::coupledArrayValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled array variable's components.

Parameters
var_nameName of coupled array variable
Returns
Vector of ArrayVariableValue pointers for each component of var_name

Definition at line 852 of file Coupleable.C.

853 {
854  auto func = [this, &var_name](unsigned int comp) { return &coupledArrayValue(var_name, comp); };
855  return coupledVectorHelper<const ArrayVariableValue *>(var_name, func);
856 }
virtual const ArrayVariableValue & coupledArrayValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled array variable.
Definition: Coupleable.C:830

◆ coupledCallback()

virtual void Coupleable::coupledCallback ( const std::string &  ,
bool   
) const
inlineprotectedvirtualinherited

A call-back function provided by the derived object for actions before coupling a variable with functions such as coupledValue.

Reimplemented in AuxKernelTempl< ComputeValueType >, AuxKernelTempl< RT >, AuxKernelTempl< RealVectorValue >, and AuxKernelTempl< Real >.

Definition at line 134 of file Coupleable.h.

Referenced by Coupleable::checkFuncType().

134 {}

◆ coupledComponents()

unsigned int Coupleable::coupledComponents ( const std::string &  var_name) const
protectedinherited

Number of coupled components.

Parameters
var_nameName of the variable
Returns
number of components this variable has (usually 1)

Definition at line 153 of file Coupleable.C.

Referenced by Coupleable::coupledVectorHelper(), KernelBase::KernelBase(), SpatialAverageBase::SpatialAverageBase(), and VariableValueVolumeHistogram::VariableValueVolumeHistogram().

154 {
155  const auto var_name = _c_parameters.checkForRename(var_name_in);
156 
157  if (isCoupled(var_name))
158  {
159  mooseAssert(_coupled_vars.find(var_name) != _coupled_vars.end(),
160  var_name << " must not actually be coupled!");
161  return _coupled_vars.at(var_name).size();
162  }
163  else
164  {
166  return _c_parameters.numberDefaultCoupledValues(var_name);
167  else
168  return 0;
169  }
170 }
virtual bool isCoupled(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:124
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:1324
unsigned int numberDefaultCoupledValues(const std::string &coupling_name) const
Get the number of defaulted coupled value entries.
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.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310

◆ coupledCurl()

const VectorVariableCurl & Coupleable::coupledCurl ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns curl of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VectorVariableCurl containing the curl of the coupled variable
See also
Kernel::_curl_u

Definition at line 1674 of file Coupleable.C.

1675 {
1676  const auto * var = getVectorVar(var_name, comp);
1677  if (!var)
1678  {
1680  return _default_vector_curl;
1681  }
1683 
1684  if (!_coupleable_neighbor)
1685  return (_c_is_implicit) ? var->curlSln() : var->curlSlnOld();
1686  return (_c_is_implicit) ? var->curlSlnNeighbor() : var->curlSlnOldNeighbor();
1687 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorVariableCurl _default_vector_curl
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1427
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledCurlOld()

const VectorVariableCurl & Coupleable::coupledCurlOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old curl from previous time step of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VectorVariableCurl containing the old curl of the coupled variable
See also
Kernel::_curl_u_old

Definition at line 1690 of file Coupleable.C.

1691 {
1692  const auto * var = getVectorVar(var_name, comp);
1693  if (!var)
1694  {
1696  return _default_vector_curl;
1697  }
1699 
1700  if (!_coupleable_neighbor)
1701  return (_c_is_implicit) ? var->curlSlnOld() : var->curlSlnOlder();
1702  return (_c_is_implicit) ? var->curlSlnOldNeighbor() : var->curlSlnOlderNeighbor();
1703 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorVariableCurl _default_vector_curl
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1427
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledCurlOlder()

const VectorVariableCurl & Coupleable::coupledCurlOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old curl from two time steps previous of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VectorVariableCurl containing the older curl of the coupled variable
See also
Kernel::_curl_u_older

Definition at line 1706 of file Coupleable.C.

1707 {
1708  const auto * var = getVectorVar(var_name, comp);
1709  if (!var)
1710  {
1712  return _default_vector_curl;
1713  }
1715 
1716  if (!_coupleable_neighbor)
1717  return var->curlSlnOlder();
1718  return var->curlSlnOlderNeighbor();
1719 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorVariableCurl _default_vector_curl
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1427
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDofValues()

const VariableValue & Coupleable::coupledDofValues ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns DoFs in the current solution vector of a coupled variable for the local element.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the DoFs of the coupled variable

Definition at line 1926 of file Coupleable.C.

Referenced by Coupleable::coupledAllDofValues().

1927 {
1928  const auto * var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
1929  if (!var)
1930  return *getDefaultValue(var_name, comp);
1932 
1933  if (!_coupleable_neighbor)
1934  return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
1935  return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
1936 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledDofValuesOld()

const VariableValue & Coupleable::coupledDofValuesOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns DoFs in the old solution vector of a coupled variable for the local element.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the old DoFs of the coupled variable

Definition at line 1946 of file Coupleable.C.

Referenced by Coupleable::coupledAllDofValuesOld().

1947 {
1948  const auto * var = getVar(var_name, comp);
1949  if (!var)
1950  return *getDefaultValue(var_name, comp);
1952 
1953  if (!_coupleable_neighbor)
1954  return (_c_is_implicit) ? var->dofValuesOld() : var->dofValuesOlder();
1955  return (_c_is_implicit) ? var->dofValuesOldNeighbor() : var->dofValuesOlderNeighbor();
1956 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledDofValuesOlder()

const VariableValue & Coupleable::coupledDofValuesOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns DoFs in the older solution vector of a coupled variable for the local element.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the older DoFs of the coupled variable

Definition at line 1966 of file Coupleable.C.

Referenced by Coupleable::coupledAllDofValuesOlder().

1967 {
1968  const auto * var = getVar(var_name, comp);
1969  if (!var)
1970  return *getDefaultValue(var_name, comp);
1972 
1973  if (!_coupleable_neighbor)
1974  return var->dofValuesOlder();
1975  return var->dofValuesOlderNeighbor();
1976 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledDot()

const VariableValue & Coupleable::coupledDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable

Reimplemented in AuxKernelTempl< ComputeValueType >, AuxKernelTempl< RT >, AuxKernelTempl< RealVectorValue >, and AuxKernelTempl< Real >.

Definition at line 1118 of file Coupleable.C.

Referenced by AuxKernelTempl< Real >::coupledDot(), and Coupleable::coupledDots().

1119 {
1120  const auto * var = getVar(var_name, comp);
1121  if (!var)
1122  {
1124  return _default_value_zero;
1125  }
1127 
1128  if (!_coupleable_neighbor)
1129  {
1130  if (_c_nodal)
1131  return var->dofValuesDot();
1132  return var->uDot();
1133  }
1134  else
1135  {
1136  if (_c_nodal)
1137  return var->dofValuesDotNeighbor();
1138  return var->uDotNeighbor();
1139  }
1140 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDotDot()

const VariableValue & Coupleable::coupledDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the second time derivative of the coupled variable

Definition at line 1143 of file Coupleable.C.

1144 {
1145  const auto * var = getVar(var_name, comp);
1146  if (!var)
1147  {
1149  return _default_value_zero;
1150  }
1152 
1153  if (!_coupleable_neighbor)
1154  {
1155  if (_c_nodal)
1156  return var->dofValuesDotDot();
1157  return var->uDotDot();
1158  }
1159  else
1160  {
1161  if (_c_nodal)
1162  return var->dofValuesDotDotNeighbor();
1163  return var->uDotDotNeighbor();
1164  }
1165 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDotDotDu()

const VariableValue & Coupleable::coupledDotDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of a coupled variable with respect to the coefficients.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable with respect to the coefficients

Definition at line 1427 of file Coupleable.C.

1428 {
1429  const auto * var = getVar(var_name, comp);
1430  if (!var)
1431  {
1433  return _default_value_zero;
1434  }
1436 
1437  if (!_coupleable_neighbor)
1438  {
1439  if (_c_nodal)
1440  return var->dofValuesDuDotDotDu();
1441  return var->duDotDotDu();
1442  }
1443  else
1444  {
1445  if (_c_nodal)
1446  return var->dofValuesDuDotDotDuNeighbor();
1447  return var->duDotDotDuNeighbor();
1448  }
1449 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDotDotOld()

const VariableValue & Coupleable::coupledDotDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old second time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the old second time derivative of the coupled variable

Definition at line 1193 of file Coupleable.C.

1194 {
1195  const auto * var = getVar(var_name, comp);
1196  if (!var)
1197  {
1199  return _default_value_zero;
1200  }
1202 
1203  if (!_coupleable_neighbor)
1204  {
1205  if (_c_nodal)
1206  return var->dofValuesDotDotOld();
1207  return var->uDotDotOld();
1208  }
1209  else
1210  {
1211  if (_c_nodal)
1212  return var->dofValuesDotDotOldNeighbor();
1213  return var->uDotDotOldNeighbor();
1214  }
1215 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDotDu()

const VariableValue & Coupleable::coupledDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of a coupled variable with respect to the coefficients.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable with respect to the coefficients

Reimplemented in AuxKernelTempl< ComputeValueType >, AuxKernelTempl< RT >, AuxKernelTempl< RealVectorValue >, and AuxKernelTempl< Real >.

Definition at line 1402 of file Coupleable.C.

Referenced by AuxKernelTempl< Real >::coupledDotDu().

1403 {
1404  const auto * var = getVar(var_name, comp);
1405  if (!var)
1406  {
1408  return _default_value_zero;
1409  }
1411 
1412  if (!_coupleable_neighbor)
1413  {
1414  if (_c_nodal)
1415  return var->dofValuesDuDotDu();
1416  return var->duDotDu();
1417  }
1418  else
1419  {
1420  if (_c_nodal)
1421  return var->dofValuesDuDotDuNeighbor();
1422  return var->duDotDuNeighbor();
1423  }
1424 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDotOld()

const VariableValue & Coupleable::coupledDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the old time derivative of the coupled variable

Definition at line 1168 of file Coupleable.C.

1169 {
1170  const auto * var = getVar(var_name, comp);
1171  if (!var)
1172  {
1174  return _default_value_zero;
1175  }
1177 
1178  if (!_coupleable_neighbor)
1179  {
1180  if (_c_nodal)
1181  return var->dofValuesDotOld();
1182  return var->uDotOld();
1183  }
1184  else
1185  {
1186  if (_c_nodal)
1187  return var->dofValuesDotOldNeighbor();
1188  return var->uDotOldNeighbor();
1189  }
1190 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledDots()

std::vector< const VariableValue * > Coupleable::coupledDots ( const std::string &  var_name) const
protectedinherited

Returns the time derivatives for all of a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of var_name

Definition at line 2625 of file Coupleable.C.

2626 {
2627  auto func = [this, &var_name](unsigned int comp) { return &coupledDot(var_name, comp); };
2628  return coupledVectorHelper<const VariableValue *>(var_name, func);
2629 }
virtual const VariableValue & coupledDot(const std::string &var_name, unsigned int comp=0) const
Time derivative of a coupled variable.
Definition: Coupleable.C:1118

◆ coupledGenericDofValue() [1/3]

template<bool is_ad>
const GenericVariableValue<is_ad>& Coupleable::coupledGenericDofValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns DOF value of a coupled variable for use in templated automatic differentiation classes.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a GenericVariableValue for the coupled variable

◆ coupledGenericDofValue() [2/3]

template<>
const GenericVariableValue<false>& Coupleable::coupledGenericDofValue ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 570 of file Coupleable.C.

571 {
572  return coupledDofValues(var_name, comp);
573 }
virtual const VariableValue & coupledDofValues(const std::string &var_name, unsigned int comp=0) const
Returns DoFs in the current solution vector of a coupled variable for the local element.
Definition: Coupleable.C:1926

◆ coupledGenericDofValue() [3/3]

template<>
const GenericVariableValue<true>& Coupleable::coupledGenericDofValue ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 577 of file Coupleable.C.

578 {
579  return adCoupledDofValues(var_name, comp);
580 }
virtual const ADVariableValue & adCoupledDofValues(const std::string &var_name, unsigned int comp=0) const
Returns DOF value of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2000

◆ coupledGenericGradient() [1/3]

template<bool is_ad>
const GenericVariableGradient<is_ad>& Coupleable::coupledGenericGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns gradient of a coupled variable for use in templated automatic differentiation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the gradient of the coupled variable
See also
Kernel::gradient

◆ coupledGenericGradient() [2/3]

template<>
const GenericVariableGradient<false>& Coupleable::coupledGenericGradient ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 2350 of file Coupleable.C.

2351 {
2352  return coupledGradient(var_name, comp);
2353 }
virtual const VariableGradient & coupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable.
Definition: Coupleable.C:1477

◆ coupledGenericGradient() [3/3]

template<>
const GenericVariableGradient<true>& Coupleable::coupledGenericGradient ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 2357 of file Coupleable.C.

2358 {
2359  return adCoupledGradient(var_name, comp);
2360 }
const ADVariableGradient & adCoupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2091

◆ coupledGenericGradients() [1/3]

template<bool is_ad>
std::vector<const GenericVariableGradient<is_ad> *> Coupleable::coupledGenericGradients ( const std::string &  var_name) const
protectedinherited

Returns the gradients for all of a coupled variable's components for use in templated automatic differentiation.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableGradient pointers for each component of var_name

◆ coupledGenericGradients() [2/3]

template<>
std::vector<const GenericVariableGradient<false> *> Coupleable::coupledGenericGradients ( const std::string &  var_name) const
protectedinherited

Definition at line 2597 of file Coupleable.C.

2598 {
2599  return coupledGradients(var_name);
2600 }
std::vector< const VariableGradient * > coupledGradients(const std::string &var_name) const
Returns the gradients for all of a coupled variable&#39;s components.
Definition: Coupleable.C:2589

◆ coupledGenericGradients() [3/3]

template<>
std::vector<const GenericVariableGradient<true> *> Coupleable::coupledGenericGradients ( const std::string &  var_name) const
protectedinherited

Definition at line 2604 of file Coupleable.C.

2605 {
2606  auto func = [this, &var_name](unsigned int comp) { return &adCoupledGradient(var_name, comp); };
2607  return coupledVectorHelper<const GenericVariableGradient<true> *>(var_name, func);
2608 }
const ADVariableGradient & adCoupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2091

◆ coupledGenericScalarValue() [1/3]

template<bool is_ad>
const GenericVariableValue<is_ad>& ScalarCoupleable::coupledGenericScalarValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a coupled scalar variable for use in templated automatic differentiation classes.

Parameters
var_nameName of coupled scalar variable
compComponent number for vector of coupled scalar variables
Returns
Reference to a GenericVariableValue for the coupled scalar variable

◆ coupledGenericScalarValue() [2/3]

template<>
const GenericVariableValue<false>& ScalarCoupleable::coupledGenericScalarValue ( const std::string &  var_name,
const unsigned int  comp 
) const
protectedinherited

Definition at line 152 of file ScalarCoupleable.C.

154 {
155  return coupledScalarValue(var_name, comp);
156 }
const VariableValue & coupledScalarValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a scalar coupled variable.

◆ coupledGenericScalarValue() [3/3]

template<>
const GenericVariableValue<true>& ScalarCoupleable::coupledGenericScalarValue ( const std::string &  var_name,
const unsigned int  comp 
) const
protectedinherited

Definition at line 160 of file ScalarCoupleable.C.

162 {
163  return adCoupledScalarValue(var_name, comp);
164 }
const ADVariableValue & adCoupledScalarValue(const std::string &var_name, unsigned int comp=0) const
Returns AD value of a scalar coupled variable.

◆ coupledGenericValue() [1/3]

template<bool is_ad>
const GenericVariableValue<is_ad>& Coupleable::coupledGenericValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a coupled variable for use in templated automatic differentiation classes.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a GenericVariableValue for the coupled variable

◆ coupledGenericValue() [2/3]

template<>
const GenericVariableValue<false>& Coupleable::coupledGenericValue ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 465 of file Coupleable.C.

466 {
467  return coupledValue(var_name, comp);
468 }
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable.
Definition: Coupleable.C:478

◆ coupledGenericValue() [3/3]

template<>
const GenericVariableValue<true>& Coupleable::coupledGenericValue ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Definition at line 472 of file Coupleable.C.

473 {
474  return adCoupledValue(var_name, comp);
475 }
const ADVariableValue & adCoupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable for use in Automatic Differentiation.
Definition: Coupleable.C:2053

◆ coupledGenericValues() [1/3]

template<bool is_ad>
std::vector<const GenericVariableValue<is_ad> *> Coupleable::coupledGenericValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled variable's components for use in templated automatic differentiation classes.

Parameters
var_nameName of coupled variable
Returns
Vector of GenericVariableValue pointers for each component of var_name

◆ coupledGenericValues() [2/3]

template<>
std::vector<const GenericVariableValue<false> *> Coupleable::coupledGenericValues ( const std::string &  var_name) const
protectedinherited

Definition at line 2409 of file Coupleable.C.

2410 {
2411  return coupledValues(var_name);
2412 }
std::vector< const VariableValue * > coupledValues(const std::string &var_name) const
Returns the values for all of a coupled variable components.
Definition: Coupleable.C:2394

◆ coupledGenericValues() [3/3]

template<>
std::vector<const GenericVariableValue<true> *> Coupleable::coupledGenericValues ( const std::string &  var_name) const
protectedinherited

Definition at line 2416 of file Coupleable.C.

2417 {
2418  return adCoupledValues(var_name);
2419 }
std::vector< const ADVariableValue * > adCoupledValues(const std::string &var_name) const
Returns the values for all of a coupled variable&#39;s components for use in Automatic Differentiation...
Definition: Coupleable.C:2422

◆ coupledGradient()

const VariableGradient & Coupleable::coupledGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the gradient of the coupled variable
See also
Kernel::gradient

Definition at line 1477 of file Coupleable.C.

Referenced by Coupleable::coupledGradients(), NodeElemConstraint::coupledSecondaryGradient(), and NodeFaceConstraint::coupledSecondaryGradient().

1478 {
1479  const auto * const var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
1480  if (!var)
1481  {
1483  return _default_gradient;
1484  }
1486 
1487  if (!_coupleable_neighbor)
1488  return (_c_is_implicit) ? var->gradSln() : var->gradSlnOld();
1489  return (_c_is_implicit) ? var->gradSlnNeighbor() : var->gradSlnOldNeighbor();
1490 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradientDot()

const VariableGradient & Coupleable::coupledGradientDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of the gradient of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the time derivative of the gradient of a coupled variable

Definition at line 1542 of file Coupleable.C.

1543 {
1544  const auto * var = getVar(var_name, comp);
1545  if (!var)
1546  {
1548  return _default_gradient;
1549  }
1551 
1552  if (!_coupleable_neighbor)
1553  return var->gradSlnDot();
1554  return var->gradSlnNeighborDot();
1555 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradientDotDot()

const VariableGradient & Coupleable::coupledGradientDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of the gradient of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the time derivative of the gradient of a coupled variable

Definition at line 1558 of file Coupleable.C.

1559 {
1560  const auto * var = getVar(var_name, comp);
1561  if (!var)
1562  {
1564  return _default_gradient;
1565  }
1567 
1568  if (!_coupleable_neighbor)
1569  return var->gradSlnDotDot();
1570  return var->gradSlnNeighborDotDot();
1571 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradientOld()

const VariableGradient & Coupleable::coupledGradientOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from previous time step of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the old gradient of the coupled variable
See also
Kernel::gradientOld

Definition at line 1493 of file Coupleable.C.

Referenced by Coupleable::coupledGradientsOld(), NodeElemConstraint::coupledSecondaryGradientOld(), and NodeFaceConstraint::coupledSecondaryGradientOld().

1494 {
1495  const auto * var = getVar(var_name, comp);
1496  if (!var)
1497  {
1499  return _default_gradient;
1500  }
1502 
1503  if (!_coupleable_neighbor)
1504  return (_c_is_implicit) ? var->gradSlnOld() : var->gradSlnOlder();
1505  return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor();
1506 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradientOlder()

const VariableGradient & Coupleable::coupledGradientOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from two time steps previous of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the older gradient of the coupled variable
See also
Kernel::gradientOlder

Definition at line 1509 of file Coupleable.C.

Referenced by NodeElemConstraint::coupledSecondaryGradientOlder(), and NodeFaceConstraint::coupledSecondaryGradientOlder().

1510 {
1511  const auto * var = getVar(var_name, comp);
1512  if (!var)
1513  {
1515  return _default_gradient;
1516  }
1518 
1519  if (!_coupleable_neighbor)
1520  return var->gradSlnOlder();
1521  return var->gradSlnOlderNeighbor();
1522 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradientPreviousNL()

const VariableGradient & Coupleable::coupledGradientPreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled variable for previous Newton iterate.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableGradient containing the gradient of the coupled variable

Definition at line 1525 of file Coupleable.C.

1526 {
1527  const auto * var = getVar(var_name, comp);
1529  if (!var)
1530  {
1532  return _default_gradient;
1533  }
1535 
1536  if (!_coupleable_neighbor)
1537  return var->gradSlnPreviousNL();
1538  return var->gradSlnPreviousNLNeighbor();
1539 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1381
void needsPreviousNewtonIteration(bool state)
Set a flag that indicated that user required values for the previous Newton iterate.
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledGradients()

std::vector< const VariableGradient * > Coupleable::coupledGradients ( const std::string &  var_name) const
protectedinherited

Returns the gradients for all of a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableGradient pointers for each component of var_name

Definition at line 2589 of file Coupleable.C.

2590 {
2591  auto func = [this, &var_name](unsigned int comp) { return &coupledGradient(var_name, comp); };
2592  return coupledVectorHelper<const VariableGradient *>(var_name, func);
2593 }
virtual const VariableGradient & coupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable.
Definition: Coupleable.C:1477

◆ coupledGradientsOld()

std::vector< const VariableGradient * > Coupleable::coupledGradientsOld ( const std::string &  var_name) const
protectedinherited

Returns the old gradients for all of a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableGradient pointers for each component of var_name

Definition at line 2618 of file Coupleable.C.

2619 {
2620  auto func = [this, &var_name](unsigned int comp) { return &coupledGradientOld(var_name, comp); };
2621  return coupledVectorHelper<const VariableGradient *>(var_name, func);
2622 }
virtual const VariableGradient & coupledGradientOld(const std::string &var_name, unsigned int comp=0) const
Returns an old gradient from previous time step of a coupled variable.
Definition: Coupleable.C:1493

◆ coupledIndices()

std::vector< unsigned int > Coupleable::coupledIndices ( const std::string &  var_name) const
protectedinherited

Returns the indices for a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of the indices for all components of the coupled variable var_name.

Definition at line 2363 of file Coupleable.C.

2364 {
2365  auto func = [this, &var_name](unsigned int comp) { return coupled(var_name, comp); };
2366  return coupledVectorHelper<unsigned int>(var_name, func);
2367 }
virtual unsigned int coupled(const std::string &var_name, unsigned int comp=0) const
Returns the index for a coupled variable by name.
Definition: Coupleable.C:437

◆ coupledMatrixTagScalarValue()

const VariableValue & ScalarCoupleable::coupledMatrixTagScalarValue ( const std::string &  var_name,
TagID  tag,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
tagTag ID of coupled matrix;
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 202 of file ScalarCoupleable.C.

205 {
206  checkVar(var_name);
207  if (!isCoupledScalar(var_name, comp))
208  return *getDefaultValue(var_name);
209 
210  _sc_coupleable_matrix_tags.insert(tag);
211 
212  return getScalarVar(var_name, comp)->matrixTagSln(tag);
213 }
std::set< TagID > _sc_coupleable_matrix_tags
The scalar coupleable matrix tags.
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const VariableValue & matrixTagSln(TagID tag) const
const VariableValue * getDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...

◆ coupledMatrixTagValue() [1/2]

const VariableValue & Coupleable::coupledMatrixTagValue ( const std::string &  var_names,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns value of a coupled variable for a given tag.

This couples the diag vector of matrix

Parameters
var_namesName(s) of coupled variable(s)
tagmatrix tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable
See also
Kernel::_u

Definition at line 772 of file Coupleable.C.

Referenced by Coupleable::coupledMatrixTagValue(), and Coupleable::coupledMatrixTagValues().

775 {
776  const auto * var = getVarHelper<MooseVariableField<Real>>(var_names, index);
777  if (!var)
778  mooseError(var_names, ": invalid variable name for coupledMatrixTagValue");
780 
781  const_cast<Coupleable *>(this)->addFEVariableCoupleableMatrixTag(tag);
782 
783  if (_c_nodal)
784  return var->nodalMatrixTagValue(tag);
785  return var->matrixTagValue(tag);
786 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:44
void addFEVariableCoupleableMatrixTag(TagID tag)
Definition: Coupleable.h:103

◆ coupledMatrixTagValue() [2/2]

const VariableValue & Coupleable::coupledMatrixTagValue ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 789 of file Coupleable.C.

792 {
793  if (!_c_parameters.isParamValid(tag_name))
794  mooseError("Tag name parameter '", tag_name, "' is invalid");
795 
796  TagName tagname = _c_parameters.get<TagName>(tag_name);
797  if (!_c_fe_problem.matrixTagExists(tagname))
798  mooseError("Matrix tag name '", tagname, "' does not exist");
799 
800  TagID tag = _c_fe_problem.getMatrixTagID(tagname);
801  return coupledMatrixTagValue(var_names, tag, index);
802 }
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const VariableValue & coupledMatrixTagValue(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns value of a coupled variable for a given tag.
Definition: Coupleable.C:772
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual TagID getMatrixTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:308
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
virtual bool matrixTagExists(const TagName &tag_name) const
Check to see if a particular Tag exists.
Definition: SubProblem.C:294
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledMatrixTagValues() [1/2]

std::vector< const VariableValue * > Coupleable::coupledMatrixTagValues ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns the diagonal matrix values for all the coupled variables desired for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagmatrix tag ID
Returns
Vector of VariableValue pointers for each variable in var_name

Definition at line 2552 of file Coupleable.C.

Referenced by Coupleable::coupledMatrixTagValues().

2553 {
2554  auto func = [this, &var_names, &tag](unsigned int comp)
2555  { return &coupledMatrixTagValue(var_names, tag, comp); };
2556  return coupledVectorHelper<const VariableValue *>(var_names, func);
2557 }
virtual const VariableValue & coupledMatrixTagValue(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns value of a coupled variable for a given tag.
Definition: Coupleable.C:772

◆ coupledMatrixTagValues() [2/2]

std::vector< const VariableValue * > Coupleable::coupledMatrixTagValues ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2560 of file Coupleable.C.

2562 {
2563  if (!_c_parameters.isParamValid(tag_name))
2564  mooseError("Tag name parameter '", tag_name, "' is invalid");
2565 
2566  TagName tagname = _c_parameters.get<TagName>(tag_name);
2567  if (!_c_fe_problem.matrixTagExists(tagname))
2568  mooseError("Matrix tag name '", tagname, "' does not exist");
2569 
2570  TagID tag = _c_fe_problem.getMatrixTagID(tagname);
2571  return coupledMatrixTagValues(var_names, tag);
2572 }
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual TagID getMatrixTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:308
std::vector< const VariableValue * > coupledMatrixTagValues(const std::string &var_names, TagID tag) const
Returns the diagonal matrix values for all the coupled variables desired for a given tag...
Definition: Coupleable.C:2552
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
virtual bool matrixTagExists(const TagName &tag_name) const
Check to see if a particular Tag exists.
Definition: SubProblem.C:294
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledName()

VariableName Coupleable::coupledName ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Names of the variable in the Coupleable interface.

Parameters
var_nameName of the variable
compthe component of the variable
Returns
name the variable has been coupled as. For constants, returns the constant

Definition at line 2370 of file Coupleable.C.

Referenced by Coupleable::coupledNames(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), and SpatialAverageBase::SpatialAverageBase().

2371 {
2372  if (getFieldVar(var_name, comp))
2373  return getFieldVar(var_name, comp)->name();
2374  // Detect if we are in the case where a constant was passed in lieu of a variable
2375  else if (isCoupledConstant(var_name))
2377  ": a variable name was queried but a constant was passed for parameter '",
2378  var_name,
2379  "Either pass a true variable or contact a developer to shield the call to "
2380  "'coupledName' with 'isCoupledConstant'");
2381  else
2382  mooseError(
2383  _c_name, ": Variable '", var_name, "' does not exist, yet its coupled name is requested");
2384 }
virtual bool isCoupledConstant(const std::string &var_name) const
Returns true if a variable passed as a coupled value is really a constant.
Definition: Coupleable.C:147
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & name() const override
Get the variable name.
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
const MooseVariableFieldBase * getFieldVar(const std::string &var_name, unsigned int comp) const
Definition: Coupleable.C:277

◆ coupledNames()

std::vector< VariableName > Coupleable::coupledNames ( const std::string &  var_name) const
protectedinherited

Names of the variables in the Coupleable interface.

Parameters
var_nameNames of the variables
Returns
names the variables have been coupled as

Definition at line 2387 of file Coupleable.C.

2388 {
2389  auto func = [this, &var_name](unsigned int comp) { return coupledName(var_name, comp); };
2390  return coupledVectorHelper<VariableName>(var_name, func);
2391 }
VariableName coupledName(const std::string &var_name, unsigned int comp=0) const
Names of the variable in the Coupleable interface.
Definition: Coupleable.C:2370

◆ coupledNodalDot()

template<typename T >
template const RealVectorValue & Coupleable::coupledNodalDot< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Nodal values of time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the nodal values of time derivative of the coupled variable

Definition at line 1864 of file Coupleable.C.

1865 {
1866  static const T zero = 0;
1867  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
1868  if (!var)
1869  return zero;
1871 
1872  if (!_coupleable_neighbor)
1873  return var->nodalValueDot();
1874  mooseError("Neighbor version not implemented");
1875 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const Number zero
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledNodalDotDot()

const VariableValue & Coupleable::coupledNodalDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Nodal values of second time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the nodal values of second time derivative of the coupled variable

Definition at line 1878 of file Coupleable.C.

1879 {
1880  const auto * var = getVar(var_name, comp);
1881  if (!var)
1882  {
1884  return _default_value_zero;
1885  }
1887 
1888  if (!_coupleable_neighbor)
1889  return var->dofValuesDotDot();
1890  return var->dofValuesDotDotNeighbor();
1891 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledNodalDotDotOld()

const VariableValue & Coupleable::coupledNodalDotDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Nodal values of old second time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the nodal values of second time derivative of the coupled variable

Definition at line 1910 of file Coupleable.C.

1911 {
1912  const auto * var = getVar(var_name, comp);
1913  if (!var)
1914  {
1916  return _default_value_zero;
1917  }
1919 
1920  if (!_coupleable_neighbor)
1921  return var->dofValuesDotDotOld();
1922  return var->dofValuesDotDotOldNeighbor();
1923 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledNodalDotOld()

const VariableValue & Coupleable::coupledNodalDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Nodal values of old time derivative of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the nodal values of time derivative of the coupled variable

Definition at line 1894 of file Coupleable.C.

1895 {
1896  const auto * var = getVar(var_name, comp);
1897  if (!var)
1898  {
1900  return _default_value_zero;
1901  }
1903 
1904  if (!_coupleable_neighbor)
1905  return var->dofValuesDotOld();
1906  return var->dofValuesDotOldNeighbor();
1907 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledNodalValue()

template<typename T >
template const RealVectorValue & Coupleable::coupledNodalValue< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns nodal values of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 1788 of file Coupleable.C.

1789 {
1790  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
1791  if (!var)
1792  return getDefaultNodalValue<T>(var_name, comp);
1794 
1795  if (!var->isNodal())
1797  ": Trying to get nodal values of variable '",
1798  var->name(),
1799  "', but it is not nodal.");
1800 
1801  if (!_coupleable_neighbor)
1802  return (_c_is_implicit) ? var->nodalValue() : var->nodalValueOld();
1803  return (_c_is_implicit) ? var->nodalValueNeighbor() : var->nodalValueOldNeighbor();
1804 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledNodalValueOld()

template<typename T >
template const RealVectorValue & Coupleable::coupledNodalValueOld< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns an old nodal value from previous time step of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the old value of the coupled variable

Definition at line 1808 of file Coupleable.C.

1809 {
1810  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
1811  if (!var)
1812  return getDefaultNodalValue<T>(var_name, comp);
1814 
1815  if (!var->isNodal())
1817  ": Trying to get old nodal values of variable '",
1818  var->name(),
1819  "', but it is not nodal.");
1820 
1821  if (!_coupleable_neighbor)
1822  return (_c_is_implicit) ? var->nodalValueOld() : var->nodalValueOlder();
1823  return (_c_is_implicit) ? var->nodalValueOldNeighbor() : var->nodalValueOlderNeighbor();
1824 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledNodalValueOlder()

template<typename T >
template const RealVectorValue & Coupleable::coupledNodalValueOlder< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns an old nodal value from two time steps previous of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the older value of the coupled variable

Definition at line 1828 of file Coupleable.C.

1829 {
1830  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
1831  if (!var)
1832  return getDefaultNodalValue<T>(var_name, comp);
1834 
1835  if (!var->isNodal())
1837  ": Trying to get older nodal values of variable '",
1838  var->name(),
1839  "', but it is not nodal.");
1840 
1841  if (!_coupleable_neighbor)
1842  return var->nodalValueOlder();
1843  return var->nodalValueOlderNeighbor();
1844 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledNodalValuePreviousNL()

template<typename T >
template const RealVectorValue & Coupleable::coupledNodalValuePreviousNL< RealVectorValue > ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns nodal values of a coupled variable for previous Newton iterate.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 1848 of file Coupleable.C.

1849 {
1850  const auto * var = getVarHelper<MooseVariableFE<T>>(var_name, comp);
1851  if (!var)
1852  return getDefaultNodalValue<T>(var_name, comp);
1854 
1856 
1857  if (!_coupleable_neighbor)
1858  return var->nodalValuePreviousNL();
1859  return var->nodalValuePreviousNLNeighbor();
1860 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
void needsPreviousNewtonIteration(bool state)
Set a flag that indicated that user required values for the previous Newton iterate.
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledPostprocessors()

std::size_t PostprocessorInterface::coupledPostprocessors ( const std::string &  param_name) const
inherited

Returns number of Postprocessors coupled under parameter name.

Parameters
param_nameThe name of the Postprocessor parameter
Returns
Number of coupled post-processors, 1 if it's a single

Definition at line 129 of file PostprocessorInterface.C.

Referenced by FunctionValuePostprocessor::FunctionValuePostprocessor().

130 {
131  checkParam(param_name);
132 
133  if (_ppi_params.isType<PostprocessorName>(param_name))
134  return 1;
135  return _ppi_params.get<std::vector<PostprocessorName>>(param_name).size();
136 }
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 checkParam(const std::string &param_name, const unsigned int index=std::numeric_limits< unsigned int >::max()) const
Checks the parameters relating to a Postprocessor.
bool isType(const std::string &name) const
const InputParameters & _ppi_params
PostprocessorInterface Parameters.

◆ coupledScalar()

unsigned int ScalarCoupleable::coupledScalar ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the index for a scalar coupled variable by name.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Index of coupled variable

Definition at line 93 of file ScalarCoupleable.C.

Referenced by ParsedODEKernel::ParsedODEKernel().

94 {
95  checkVar(var_name);
96  return getScalarVar(var_name, comp)->number();
97 }
unsigned int number() const
Get variable number coming from libMesh.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarComponents()

unsigned int ScalarCoupleable::coupledScalarComponents ( const std::string &  var_name) const
protectedinherited

Return the number of components to the coupled scalar variable.

Parameters
var_nameThe of the coupled variable

Definition at line 353 of file ScalarCoupleable.C.

354 {
355  const auto var_name = _sc_parameters.checkForRename(var_name_in);
356 
357  const auto it = _coupled_scalar_vars.find(var_name);
358  if (it != _coupled_scalar_vars.end())
359  return it->second.size();
360 
361  mooseError(_sc_name, ": Trying to get a non-existent variable '", var_name, "'");
362 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _sc_name
The name of the object this interface is part of.
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
const InputParameters & _sc_parameters
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ coupledScalarDot()

const VariableValue & ScalarCoupleable::coupledScalarDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the time derivative of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a time derivative VariableValue for the coupled variable

Definition at line 244 of file ScalarCoupleable.C.

245 {
246  checkVar(var_name);
247  validateExecutionerType(var_name, "coupledScalarDot");
248  return getScalarVar(var_name, comp)->uDot();
249 }
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
const VariableValue & uDot() const
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarDotDot()

const VariableValue & ScalarCoupleable::coupledScalarDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the second time derivative of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a time derivative VariableValue for the coupled variable

Definition at line 260 of file ScalarCoupleable.C.

261 {
262  checkVar(var_name);
263  validateExecutionerType(var_name, "coupledScalarDotDot");
264  return getScalarVar(var_name, comp)->uDotDot();
265 }
const VariableValue & uDotDot() const
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarDotDotDu()

const VariableValue & ScalarCoupleable::coupledScalarDotDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Second time derivative of a scalar coupled variable with respect to the coefficients.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable with respect to the coefficients

Definition at line 292 of file ScalarCoupleable.C.

293 {
294  checkVar(var_name);
295  validateExecutionerType(var_name, "coupledScalarDotDotDu");
296  return getScalarVar(var_name, comp)->duDotDotDu();
297 }
const VariableValue & duDotDotDu() const
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarDotDotOld()

const VariableValue & ScalarCoupleable::coupledScalarDotDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the old second time derivative of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a time derivative VariableValue for the coupled variable

Definition at line 276 of file ScalarCoupleable.C.

278 {
279  checkVar(var_name);
280  validateExecutionerType(var_name, "coupledScalarDotDotOld");
281  return getScalarVar(var_name, comp)->uDotDotOld();
282 }
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
const VariableValue & uDotDotOld() const
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarDotDu()

const VariableValue & ScalarCoupleable::coupledScalarDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Time derivative of a scalar coupled variable with respect to the coefficients.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the time derivative of the coupled variable with respect to the coefficients

Definition at line 284 of file ScalarCoupleable.C.

285 {
286  checkVar(var_name);
287  validateExecutionerType(var_name, "coupledScalarDotDu");
288  return getScalarVar(var_name, comp)->duDotDu();
289 }
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const VariableValue & duDotDu() const

◆ coupledScalarDotOld()

const VariableValue & ScalarCoupleable::coupledScalarDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the old time derivative of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a time derivative VariableValue for the coupled variable

Definition at line 268 of file ScalarCoupleable.C.

269 {
270  checkVar(var_name);
271  validateExecutionerType(var_name, "coupledScalarDotOld");
272  return getScalarVar(var_name, comp)->uDotOld();
273 }
const VariableValue & uDotOld() const
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.

◆ coupledScalarOrder()

Order ScalarCoupleable::coupledScalarOrder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the order for a scalar coupled variable by name.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Order of coupled variable

Definition at line 100 of file ScalarCoupleable.C.

101 {
102  checkVar(var_name);
103  if (!isCoupledScalar(var_name, comp))
105 
106  return getScalarVar(var_name, comp)->order();
107 }
FEProblemBase & _sc_fe_problem
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
Order order() const
Get the order of this variable Note: Order enum can be implicitly converted to unsigned int...
Order getMaxScalarOrder() const

◆ coupledScalarValue()

const VariableValue & ScalarCoupleable::coupledScalarValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 124 of file ScalarCoupleable.C.

Referenced by ParsedODEKernel::ParsedODEKernel().

125 {
126  checkVar(var_name);
127  if (!isCoupledScalar(var_name, comp))
128  return *getDefaultValue(var_name);
129 
130  auto var = getScalarVar(var_name, comp);
131  return _sc_is_implicit ? var->sln() : var->slnOld();
132 }
const bool _sc_is_implicit
True if implicit value is required.
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const VariableValue * getDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...

◆ coupledScalarValueOld()

const VariableValue & ScalarCoupleable::coupledScalarValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the old (previous time step) value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a old VariableValue for the coupled variable

Definition at line 216 of file ScalarCoupleable.C.

217 {
218  checkVar(var_name);
219  if (!isCoupledScalar(var_name, comp))
220  return *getDefaultValue(var_name);
221 
222  validateExecutionerType(var_name, "coupledScalarValueOld");
223  auto var = getScalarVar(var_name, comp);
224  return _sc_is_implicit ? var->slnOld() : var->slnOlder();
225 }
const bool _sc_is_implicit
True if implicit value is required.
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const VariableValue * getDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...

◆ coupledScalarValueOlder()

const VariableValue & ScalarCoupleable::coupledScalarValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns the older (two time steps previous) value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a older VariableValue for the coupled variable

Definition at line 228 of file ScalarCoupleable.C.

230 {
231  checkVar(var_name);
232  if (!isCoupledScalar(var_name, comp))
233  return *getDefaultValue(var_name);
234 
235  validateExecutionerType(var_name, "coupledScalarValueOlder");
236  auto var = getScalarVar(var_name, comp);
237  if (_sc_is_implicit)
238  return var->slnOlder();
239  else
240  mooseError("Older values not available for explicit schemes");
241 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const bool _sc_is_implicit
True if implicit value is required.
void validateExecutionerType(const std::string &name, const std::string &fn_name) const
Checks to make sure that the current Executioner has set "_is_transient" when old/older values are co...
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
const VariableValue * getDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...

◆ coupledSecond()

const VariableSecond & Coupleable::coupledSecond ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns second spatial derivatives of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableSecond containing the second derivative of the coupled variable
See also
Kernel::second

Definition at line 1722 of file Coupleable.C.

Referenced by NodeElemConstraint::coupledSecondarySecond(), and NodeFaceConstraint::coupledSecondarySecond().

1723 {
1724  const auto * var = getVar(var_name, comp);
1725  if (!var)
1726  {
1728  return _default_second;
1729  }
1731 
1732  if (!_coupleable_neighbor)
1733  return (_c_is_implicit) ? var->secondSln() : var->secondSlnOlder();
1734  return (_c_is_implicit) ? var->secondSlnNeighbor() : var->secondSlnOlderNeighbor();
1735 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1390
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledSecondOld()

const VariableSecond & Coupleable::coupledSecondOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old second spatial derivatives from previous time step of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableSecond containing the old second derivative of the coupled variable
See also
Kernel::secondOld

Definition at line 1738 of file Coupleable.C.

1739 {
1740  const auto * var = getVar(var_name, comp);
1741  if (!var)
1742  {
1744  return _default_second;
1745  }
1747 
1748  if (!_coupleable_neighbor)
1749  return (_c_is_implicit) ? var->secondSlnOld() : var->secondSlnOlder();
1750  return (_c_is_implicit) ? var->secondSlnOldNeighbor() : var->secondSlnOlderNeighbor();
1751 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1390
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledSecondOlder()

const VariableSecond & Coupleable::coupledSecondOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old second derivative from two time steps previous of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableSecond containing the older second derivative of the coupled variable
See also
Kernel::secondOlder

Definition at line 1754 of file Coupleable.C.

1755 {
1756  const auto * var = getVar(var_name, comp);
1757  if (!var)
1758  {
1760  return _default_second;
1761  }
1763 
1764  if (!_coupleable_neighbor)
1765  return var->secondSlnOlder();
1766  return var->secondSlnOlderNeighbor();
1767 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1390
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledSecondPreviousNL()

const VariableSecond & Coupleable::coupledSecondPreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns second derivative of a coupled variable for the previous Newton iterate.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableSecond containing the second derivative of the coupled variable

Definition at line 1770 of file Coupleable.C.

1771 {
1772  const auto * var = getVar(var_name, comp);
1774  if (!var)
1775  {
1777  return _default_second;
1778  }
1780 
1781  if (!_coupleable_neighbor)
1782  return var->secondSlnPreviousNL();
1783  return var->secondSlnPreviousNLNeighbor();
1784 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1390
void needsPreviousNewtonIteration(bool state)
Set a flag that indicated that user required values for the previous Newton iterate.
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledValue()

const VariableValue & Coupleable::coupledValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns value of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable
See also
Kernel::_u

Definition at line 478 of file Coupleable.C.

Referenced by NodeElemConstraint::coupledSecondaryValue(), NodeFaceConstraint::coupledSecondaryValue(), Coupleable::coupledValues(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), and Coupleable::writableCoupledValue().

479 {
480  const auto * const var = getVarHelper<MooseVariableField<Real>>(var_name, comp);
481  if (!var)
482  return *getDefaultValue(var_name, comp);
484 
486  {
487  if (_c_nodal)
488  return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
489  else
490  return (_c_is_implicit) ? var->sln() : var->slnOld();
491  }
492  else
493  {
494  if (_c_nodal)
495  return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
496  else
497  return (_c_is_implicit) ? var->slnNeighbor() : var->slnOldNeighbor();
498  }
499 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledValueLower()

const VariableValue & Coupleable::coupledValueLower ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns value of a coupled lower-dimensional variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 583 of file Coupleable.C.

584 {
585  const auto * var = getVar(var_name, comp);
586  if (!var)
587  return *getDefaultValue(var_name, comp);
589 
591  mooseError(_c_name, ":coupledValueLower cannot be called in a coupleable neighbor object");
592 
593  if (_c_nodal)
594  return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
595  else
596  return (_c_is_implicit) ? var->slnLower() : var->slnLowerOld();
597 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledValueOld()

const VariableValue & Coupleable::coupledValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from previous time step of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the old value of the coupled variable
See also
Kernel::valueOld

Definition at line 981 of file Coupleable.C.

Referenced by NodeElemConstraint::coupledSecondaryValueOld(), NodeFaceConstraint::coupledSecondaryValueOld(), Coupleable::coupledValuesOld(), and VariableTimeIntegrationAux::VariableTimeIntegrationAux().

982 {
983  const auto * var = getVar(var_name, comp);
984  if (!var)
985  return *getDefaultValue(var_name, comp);
987 
989  {
990  if (_c_nodal)
991  return (_c_is_implicit) ? var->dofValuesOld() : var->dofValuesOlder();
992  return (_c_is_implicit) ? var->slnOld() : var->slnOlder();
993  }
994  else
995  {
996  if (_c_nodal)
997  return (_c_is_implicit) ? var->dofValuesOldNeighbor() : var->dofValuesOlderNeighbor();
998  return (_c_is_implicit) ? var->slnOldNeighbor() : var->slnOlderNeighbor();
999  }
1000 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledValueOlder()

const VariableValue & Coupleable::coupledValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from two time steps previous of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the older value of the coupled variable
See also
Kernel::valueOlder

Definition at line 1003 of file Coupleable.C.

Referenced by NodeElemConstraint::coupledSecondaryValueOlder(), NodeFaceConstraint::coupledSecondaryValueOlder(), Coupleable::coupledValuesOlder(), and VariableTimeIntegrationAux::VariableTimeIntegrationAux().

1004 {
1005  const auto * var = getVar(var_name, comp);
1006  if (!var)
1007  return *getDefaultValue(var_name, comp);
1009 
1010  if (!_coupleable_neighbor)
1011  {
1012  if (_c_nodal)
1013  return var->dofValuesOlder();
1014  return var->slnOlder();
1015  }
1016  else
1017  {
1018  if (_c_nodal)
1019  return var->dofValuesOlderNeighbor();
1020  return var->slnOlderNeighbor();
1021  }
1022 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledValuePreviousNL()

const VariableValue & Coupleable::coupledValuePreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns value of previous Newton iterate of a coupled variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue containing the older value of the coupled variable

Definition at line 1025 of file Coupleable.C.

1026 {
1027  const auto * var = getVar(var_name, comp);
1028  if (!var)
1029  return *getDefaultValue(var_name, comp);
1031 
1033  if (!_coupleable_neighbor)
1034  {
1035  if (_c_nodal)
1036  return var->dofValuesPreviousNL();
1037  return var->slnPreviousNL();
1038  }
1039  else
1040  {
1041  if (_c_nodal)
1042  return var->dofValuesPreviousNLNeighbor();
1043  return var->slnPreviousNLNeighbor();
1044  }
1045 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
const VariableValue * getDefaultValue(const std::string &var_name, unsigned int comp) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:330
void needsPreviousNewtonIteration(bool state)
Set a flag that indicated that user required values for the previous Newton iterate.
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledValues()

std::vector< const VariableValue * > Coupleable::coupledValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled variable components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of var_name

Definition at line 2394 of file Coupleable.C.

2395 {
2396  auto func = [this, &var_name](unsigned int comp) { return &coupledValue(var_name, comp); };
2397  return coupledVectorHelper<const VariableValue *>(var_name, func);
2398 }
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable.
Definition: Coupleable.C:478

◆ coupledValuesOld()

std::vector< const VariableValue * > Coupleable::coupledValuesOld ( const std::string &  var_name) const
protectedinherited

Returns the old values for all of a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of var_name

Definition at line 2575 of file Coupleable.C.

2576 {
2577  auto func = [this, &var_name](unsigned int comp) { return &coupledValueOld(var_name, comp); };
2578  return coupledVectorHelper<const VariableValue *>(var_name, func);
2579 }
virtual const VariableValue & coupledValueOld(const std::string &var_name, unsigned int comp=0) const
Returns an old value from previous time step of a coupled variable.
Definition: Coupleable.C:981

◆ coupledValuesOlder()

std::vector< const VariableValue * > Coupleable::coupledValuesOlder ( const std::string &  var_name) const
protectedinherited

Returns the older values for all of a coupled variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VariableValue pointers for each component of var_name

Definition at line 2582 of file Coupleable.C.

2583 {
2584  auto func = [this, &var_name](unsigned int comp) { return &coupledValueOlder(var_name, comp); };
2585  return coupledVectorHelper<const VariableValue *>(var_name, func);
2586 }
virtual const VariableValue & coupledValueOlder(const std::string &var_name, unsigned int comp=0) const
Returns an old value from two time steps previous of a coupled variable.
Definition: Coupleable.C:1003

◆ coupledVectorDot()

const VectorVariableValue & Coupleable::coupledVectorDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableValue containing the time derivative of the coupled variable

Definition at line 1218 of file Coupleable.C.

1219 {
1220  const auto * var = getVectorVar(var_name, comp);
1221  if (!var)
1222  {
1225  }
1227 
1228  if (!_coupleable_neighbor)
1229  return var->uDot();
1230  return var->uDotNeighbor();
1231 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
VectorVariableValue _default_vector_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1421
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorDotDot()

const VectorVariableValue & Coupleable::coupledVectorDotDot ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableValue containing the time derivative of the coupled variable

Definition at line 1234 of file Coupleable.C.

1235 {
1236  const auto * var = getVectorVar(var_name, comp);
1237  if (!var)
1238  {
1241  }
1243 
1244  if (!_coupleable_neighbor)
1245  return var->uDotDot();
1246  return var->uDotDotNeighbor();
1247 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
VectorVariableValue _default_vector_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1421
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorDotDotDu()

const VariableValue & Coupleable::coupledVectorDotDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Second time derivative of a coupled vector variable with respect to the coefficients.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VariableValue containing the time derivative of the coupled vector variable with respect to the coefficients

Definition at line 1298 of file Coupleable.C.

1299 {
1300  const auto * var = getVectorVar(var_name, comp);
1301  if (!var)
1302  {
1304  return _default_value_zero;
1305  }
1307 
1308  if (!_coupleable_neighbor)
1309  return var->duDotDotDu();
1310  return var->duDotDotDuNeighbor();
1311 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorDotDotOld()

const VectorVariableValue & Coupleable::coupledVectorDotDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old second time derivative of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableValue containing the time derivative of the coupled variable

Definition at line 1266 of file Coupleable.C.

1267 {
1268  const auto * var = getVectorVar(var_name, comp);
1269  if (!var)
1270  {
1273  }
1275 
1276  if (!_coupleable_neighbor)
1277  return var->uDotDotOld();
1278  return var->uDotDotOldNeighbor();
1279 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
VectorVariableValue _default_vector_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1421
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorDotDu()

const VariableValue & Coupleable::coupledVectorDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Time derivative of a coupled vector variable with respect to the coefficients.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VariableValue containing the time derivative of the coupled vector variable with respect to the coefficients

Definition at line 1282 of file Coupleable.C.

1283 {
1284  const auto * var = getVectorVar(var_name, comp);
1285  if (!var)
1286  {
1288  return _default_value_zero;
1289  }
1291 
1292  if (!_coupleable_neighbor)
1293  return var->duDotDu();
1294  return var->duDotDuNeighbor();
1295 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1378
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
void resize(unsigned int size)
Change the number of elements the array can store.
Definition: MooseArray.h:213
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorDotOld()

const VectorVariableValue & Coupleable::coupledVectorDotOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Old time derivative of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableValue containing the time derivative of the coupled variable

Definition at line 1250 of file Coupleable.C.

1251 {
1252  const auto * var = getVectorVar(var_name, comp);
1253  if (!var)
1254  {
1257  }
1259 
1260  if (!_coupleable_neighbor)
1261  return var->uDotOld();
1262  return var->uDotOldNeighbor();
1263 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
VectorVariableValue _default_vector_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1421
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorGradient()

const VectorVariableGradient & Coupleable::coupledVectorGradient ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableGradient containing the gradient of the coupled vector variable

Definition at line 1574 of file Coupleable.C.

1575 {
1576  const auto * var = getVectorVar(var_name, comp);
1577  if (!var)
1578  {
1580  return _default_vector_gradient;
1581  }
1583 
1584  if (!_coupleable_neighbor)
1585  return (_c_is_implicit) ? var->gradSln() : var->gradSlnOld();
1586  return (_c_is_implicit) ? var->gradSlnNeighbor() : var->gradSlnOldNeighbor();
1587 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VectorVariableGradient _default_vector_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1424
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorGradientOld()

const VectorVariableGradient & Coupleable::coupledVectorGradientOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from previous time step of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableGradient containing the old gradient of the coupled vector variable

Definition at line 1590 of file Coupleable.C.

1591 {
1592  const auto * var = getVectorVar(var_name, comp);
1593  if (!var)
1594  {
1596  return _default_vector_gradient;
1597  }
1599 
1600  if (!_coupleable_neighbor)
1601  return (_c_is_implicit) ? var->gradSlnOld() : var->gradSlnOlder();
1602  return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor();
1603 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
VectorVariableGradient _default_vector_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1424
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorGradientOlder()

const VectorVariableGradient & Coupleable::coupledVectorGradientOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old gradient from two time steps previous of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableGradient containing the older gradient of the coupled vector variable

Definition at line 1606 of file Coupleable.C.

1607 {
1608  const auto * var = getVectorVar(var_name, comp);
1609  if (!var)
1610  {
1612  return _default_vector_gradient;
1613  }
1615 
1616  if (!_coupleable_neighbor)
1617  return var->gradSlnOlder();
1618  return var->gradSlnOlderNeighbor();
1619 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
VectorVariableGradient _default_vector_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1424
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ coupledVectorHelper()

template<typename T , typename Func >
std::vector<T> Coupleable::coupledVectorHelper ( const std::string &  var_name,
const Func &  func 
) const
inlineprotectedinherited

Definition at line 1604 of file Coupleable.h.

1605  {
1606  const auto components = coupledComponents(var_name);
1607  std::vector<T> vals(components);
1608  for (MooseIndex(components) comp = 0; comp < components; ++comp)
1609  vals[comp] = func(comp);
1610  return vals;
1611  }
unsigned int coupledComponents(const std::string &var_name) const
Number of coupled components.
Definition: Coupleable.C:153

◆ coupledVectorTagArrayDofValue()

const ArrayVariableValue & Coupleable::coupledVectorTagArrayDofValue ( const std::string &  var_name,
const std::string &  tag_name,
unsigned int  comp = 0 
) const
protectedinherited

Returns evaluations of a tagged vector at the requested variable's degree of freedom indices.

Parameters
var_nameName of coupled variable
tag_namevector tag name
Returns
Reference to a ArrayVariableValue for the coupled variable

Definition at line 764 of file Coupleable.C.

767 {
768  return vectorTagDofValueHelper<RealEigenVector>(var_name, tag_name, comp);
769 }

◆ coupledVectorTagArrayGradient() [1/2]

const ArrayVariableGradient & Coupleable::coupledVectorTagArrayGradient ( const std::string &  var_names,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled array variable for a given tag.

Parameters
var_namesName(s) of coupled array variable(s)
tagvector tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a ArrayVariableGradient containing the gradient of the coupled array variable
See also
Kernel::gradient

Definition at line 670 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagArrayGradient(), and Coupleable::coupledVectorTagArrayGradients().

673 {
674  const auto * var = getArrayVar(var_names, index);
675  if (!var)
676  mooseError(var_names, ": invalid variable name for coupledVectorTagArrayGradient");
678 
679  if (!_c_fe_problem.vectorTagExists(tag))
680  mooseError("Attempting to couple to vector tag with ID ",
681  tag,
682  "in ",
683  _c_name,
684  ", but a vector tag with that ID does not exist");
685 
686  const_cast<Coupleable *>(this)->addFEVariableCoupleableVectorTag(tag);
687 
688  return var->vectorTagGradient(tag);
689 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
void addFEVariableCoupleableVectorTag(TagID tag)
Definition: Coupleable.h:101
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:44
ArrayMooseVariable * getArrayVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled array variable.
Definition: Coupleable.C:301

◆ coupledVectorTagArrayGradient() [2/2]

const ArrayVariableGradient & Coupleable::coupledVectorTagArrayGradient ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 692 of file Coupleable.C.

695 {
696  if (!_c_parameters.isParamValid(tag_name))
697  mooseError("Tag name parameter '", tag_name, "' is invalid");
698 
699  TagName tagname = _c_parameters.get<TagName>(tag_name);
700  if (!_c_fe_problem.vectorTagExists(tagname))
701  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
702 
703  TagID tag = _c_fe_problem.getVectorTagID(tagname);
704  return coupledVectorTagArrayGradient(var_names, tag, index);
705 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual const ArrayVariableGradient & coupledVectorTagArrayGradient(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns gradient of a coupled array variable for a given tag.
Definition: Coupleable.C:670
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagArrayGradients() [1/2]

std::vector< const ArrayVariableGradient * > Coupleable::coupledVectorTagArrayGradients ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns gradients for all the coupled variables desired for a given tag.

Parameters
var_namesName(s) of coupled array variable(s)
tagvector tag ID
Returns
Vector of ArrayVariableGradient pointers for each variable in var_name

Definition at line 2506 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagArrayGradients().

2507 {
2508  auto func = [this, &var_names, &tag](unsigned int index)
2509  { return &coupledVectorTagArrayGradient(var_names, tag, index); };
2510  return coupledVectorHelper<const ArrayVariableGradient *>(var_names, func);
2511 }
virtual const ArrayVariableGradient & coupledVectorTagArrayGradient(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns gradient of a coupled array variable for a given tag.
Definition: Coupleable.C:670

◆ coupledVectorTagArrayGradients() [2/2]

std::vector< const ArrayVariableGradient * > Coupleable::coupledVectorTagArrayGradients ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2514 of file Coupleable.C.

2516 {
2517  if (!_c_parameters.isParamValid(tag_name))
2518  mooseError("Tag name parameter '", tag_name, "' is invalid");
2519 
2520  TagName tagname = _c_parameters.get<TagName>(tag_name);
2521  if (!_c_fe_problem.vectorTagExists(tagname))
2522  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
2523 
2524  TagID tag = _c_fe_problem.getVectorTagID(tagname);
2525  return coupledVectorTagArrayGradients(var_names, tag);
2526 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
std::vector< const ArrayVariableGradient * > coupledVectorTagArrayGradients(const std::string &var_names, TagID tag) const
Returns gradients for all the coupled variables desired for a given tag.
Definition: Coupleable.C:2506
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagArrayValue() [1/2]

const ArrayVariableValue & Coupleable::coupledVectorTagArrayValue ( const std::string &  var_names,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns value of a coupled array variable for a given tag.

Parameters
var_namesName(s) of coupled array variable(s)
tagvector tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a VariableValue for the coupled array variable
See also
Kernel::_u

Definition at line 616 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagArrayValues().

619 {
620  return vectorTagValueHelper<RealEigenVector>(var_names, tag, index);
621 }

◆ coupledVectorTagArrayValue() [2/2]

const ArrayVariableValue & Coupleable::coupledVectorTagArrayValue ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 624 of file Coupleable.C.

627 {
628  return vectorTagValueHelper<RealEigenVector>(var_names, tag_name, index);
629 }

◆ coupledVectorTagArrayValues() [1/2]

std::vector< const ArrayVariableValue * > Coupleable::coupledVectorTagArrayValues ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns the values for all the coupled variables desired for a given tag.

Parameters
var_nameName of array coupled variable
tagvector tag ID
Returns
Vector of ArrayVariableValue pointers for each variable in var_names

Definition at line 2460 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagArrayValues().

2461 {
2462  auto func = [this, &var_names, &tag](unsigned int index)
2463  { return &coupledVectorTagArrayValue(var_names, tag, index); };
2464  return coupledVectorHelper<const ArrayVariableValue *>(var_names, func);
2465 }
virtual const ArrayVariableValue & coupledVectorTagArrayValue(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns value of a coupled array variable for a given tag.
Definition: Coupleable.C:616

◆ coupledVectorTagArrayValues() [2/2]

std::vector< const ArrayVariableValue * > Coupleable::coupledVectorTagArrayValues ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2468 of file Coupleable.C.

2470 {
2471  if (!_c_parameters.isParamValid(tag_name))
2472  mooseError("Tag name parameter '", tag_name, "' is invalid");
2473 
2474  TagName tagname = _c_parameters.get<TagName>(tag_name);
2475  if (!_c_fe_problem.vectorTagExists(tagname))
2476  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
2477 
2478  TagID tag = _c_fe_problem.getVectorTagID(tagname);
2479  return coupledVectorTagArrayValues(var_names, tag);
2480 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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::vector< const ArrayVariableValue * > coupledVectorTagArrayValues(const std::string &var_names, TagID tag) const
Returns the values for all the coupled variables desired for a given tag.
Definition: Coupleable.C:2460
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagDofValue() [1/2]

const VariableValue & Coupleable::coupledVectorTagDofValue ( const std::string &  var_name,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns dof value of a coupled variable for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagvector tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a DofValue for the coupled variable

Definition at line 748 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagDofValues().

751 {
752  return vectorTagDofValueHelper<Real>(var_name, tag, comp);
753 }

◆ coupledVectorTagDofValue() [2/2]

const VariableValue & Coupleable::coupledVectorTagDofValue ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 756 of file Coupleable.C.

759 {
760  return vectorTagDofValueHelper<Real>(var_name, tag_name, comp);
761 }

◆ coupledVectorTagDofValues() [1/2]

std::vector< const VariableValue * > Coupleable::coupledVectorTagDofValues ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns the dof values for all the coupled variables desired for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagvector tag ID
Returns
Vector of VariableValue pointers for each variable in var_name

Definition at line 2529 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagDofValues().

2530 {
2531  auto func = [this, &var_names, &tag](unsigned int comp)
2532  { return &coupledVectorTagDofValue(var_names, tag, comp); };
2533  return coupledVectorHelper<const VariableValue *>(var_names, func);
2534 }
virtual const VariableValue & coupledVectorTagDofValue(const std::string &var_name, TagID tag, unsigned int index=0) const
Returns dof value of a coupled variable for a given tag.
Definition: Coupleable.C:748

◆ coupledVectorTagDofValues() [2/2]

std::vector< const VariableValue * > Coupleable::coupledVectorTagDofValues ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2537 of file Coupleable.C.

2539 {
2540  if (!_c_parameters.isParamValid(tag_name))
2541  mooseError("Tag name parameter '", tag_name, "' is invalid");
2542 
2543  TagName tagname = _c_parameters.get<TagName>(tag_name);
2544  if (!_c_fe_problem.vectorTagExists(tagname))
2545  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
2546 
2547  TagID tag = _c_fe_problem.getVectorTagID(tagname);
2548  return coupledVectorTagDofValues(var_names, tag);
2549 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
std::vector< const VariableValue * > coupledVectorTagDofValues(const std::string &var_names, TagID tag) const
Returns the dof values for all the coupled variables desired for a given tag.
Definition: Coupleable.C:2529
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagGradient() [1/2]

const VariableGradient & Coupleable::coupledVectorTagGradient ( const std::string &  var_names,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns gradient of a coupled variable for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagvector tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a VariableGradient containing the gradient of the coupled variable
See also
Kernel::gradient

Definition at line 632 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagGradient(), and Coupleable::coupledVectorTagGradients().

635 {
636  const auto * var = getVar(var_names, index);
637  if (!var)
638  mooseError(var_names, ": invalid variable name for coupledVectorTagGradient");
640 
641  if (!_c_fe_problem.vectorTagExists(tag))
642  mooseError("Attempting to couple to vector tag with ID ",
643  tag,
644  "in ",
645  _c_name,
646  ", but a vector tag with that ID does not exist");
647 
648  const_cast<Coupleable *>(this)->addFEVariableCoupleableVectorTag(tag);
649 
650  return var->vectorTagGradient(tag);
651 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
void addFEVariableCoupleableVectorTag(TagID tag)
Definition: Coupleable.h:101
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:44

◆ coupledVectorTagGradient() [2/2]

const VariableGradient & Coupleable::coupledVectorTagGradient ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 654 of file Coupleable.C.

657 {
658  if (!_c_parameters.isParamValid(tag_name))
659  mooseError("Tag name parameter '", tag_name, "' is invalid");
660 
661  TagName tagname = _c_parameters.get<TagName>(tag_name);
662  if (!_c_fe_problem.vectorTagExists(tagname))
663  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
664 
665  TagID tag = _c_fe_problem.getVectorTagID(tagname);
666  return coupledVectorTagGradient(var_names, tag, index);
667 }
virtual const VariableGradient & coupledVectorTagGradient(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns gradient of a coupled variable for a given tag.
Definition: Coupleable.C:632
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagGradients() [1/2]

std::vector< const VariableGradient * > Coupleable::coupledVectorTagGradients ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns gradients for all the coupled variables desired for a given tag.

Parameters
var_namesName(s) of coupled array variable(s)
tagvector tag ID
Returns
Vector of VariableGradient pointers for each variables in var_name

Definition at line 2483 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagGradients().

2484 {
2485  auto func = [this, &var_names, &tag](unsigned int index)
2486  { return &coupledVectorTagGradient(var_names, tag, index); };
2487  return coupledVectorHelper<const VariableGradient *>(var_names, func);
2488 }
virtual const VariableGradient & coupledVectorTagGradient(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns gradient of a coupled variable for a given tag.
Definition: Coupleable.C:632

◆ coupledVectorTagGradients() [2/2]

std::vector< const VariableGradient * > Coupleable::coupledVectorTagGradients ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2491 of file Coupleable.C.

2493 {
2494  if (!_c_parameters.isParamValid(tag_name))
2495  mooseError("Tag name parameter '", tag_name, "' is invalid");
2496 
2497  TagName tagname = _c_parameters.get<TagName>(tag_name);
2498  if (!_c_fe_problem.vectorTagExists(tagname))
2499  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
2500 
2501  TagID tag = _c_fe_problem.getVectorTagID(tagname);
2502  return coupledVectorTagGradients(var_names, tag);
2503 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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::vector< const VariableGradient * > coupledVectorTagGradients(const std::string &var_names, TagID tag) const
Returns gradients for all the coupled variables desired for a given tag.
Definition: Coupleable.C:2483
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorTagScalarValue()

const VariableValue & ScalarCoupleable::coupledVectorTagScalarValue ( const std::string &  var_name,
TagID  tag,
unsigned int  comp = 0 
) const
protectedinherited

Returns value of a scalar coupled variable.

Parameters
var_nameName of coupled variable
tagTag ID of coupled vector ;
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable

Definition at line 181 of file ScalarCoupleable.C.

184 {
185  checkVar(var_name);
186  if (!isCoupledScalar(var_name, comp))
187  return *getDefaultValue(var_name);
188 
190  mooseError("Attempting to couple to vector tag scalar with ID ",
191  tag,
192  "in ",
193  _sc_name,
194  ", but a vector tag with that ID does not exist");
195 
196  _sc_coupleable_vector_tags.insert(tag);
197 
198  return getScalarVar(var_name, comp)->vectorTagSln(tag);
199 }
std::set< TagID > _sc_coupleable_vector_tags
The scalar coupleable vector tags.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _sc_name
The name of the object this interface is part of.
FEProblemBase & _sc_fe_problem
bool isCoupledScalar(const std::string &var_name, unsigned int i=0) const
Returns true if a variables has been coupled_as name.
const VariableValue & vectorTagSln(TagID tag) const
void checkVar(const std::string &var_name) const
Check that the right kind of variable is being coupled in.
const MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp) const
Extract pointer to a scalar coupled variable.
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
const VariableValue * getDefaultValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled variable...

◆ coupledVectorTagValue() [1/2]

const VariableValue & Coupleable::coupledVectorTagValue ( const std::string &  var_names,
TagID  tag,
unsigned int  index = 0 
) const
protectedvirtualinherited

Returns value of a coupled variable for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagvector tag ID
indexIndex of the desired variable in the vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable
See also
Kernel::_u

Definition at line 600 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagValues().

603 {
604  return vectorTagValueHelper<Real>(var_names, tag, index);
605 }

◆ coupledVectorTagValue() [2/2]

const VariableValue & Coupleable::coupledVectorTagValue ( const std::string &  var_names,
const std::string &  tag_name,
unsigned int  index = 0 
) const
protectedvirtualinherited

Definition at line 608 of file Coupleable.C.

611 {
612  return vectorTagValueHelper<Real>(var_names, tag_name, index);
613 }

◆ coupledVectorTagValues() [1/2]

std::vector< const VariableValue * > Coupleable::coupledVectorTagValues ( const std::string &  var_names,
TagID  tag 
) const
protectedinherited

Returns the values for all the coupled variables desired for a given tag.

Parameters
var_namesName(s) of coupled variable(s)
tagvector tag ID
Returns
Vector of VariableValue pointers for each variable in var_names

Definition at line 2437 of file Coupleable.C.

Referenced by Coupleable::coupledVectorTagValues().

2438 {
2439  auto func = [this, &var_names, &tag](unsigned int comp)
2440  { return &coupledVectorTagValue(var_names, tag, comp); };
2441  return coupledVectorHelper<const VariableValue *>(var_names, func);
2442 }
virtual const VariableValue & coupledVectorTagValue(const std::string &var_names, TagID tag, unsigned int index=0) const
Returns value of a coupled variable for a given tag.
Definition: Coupleable.C:600

◆ coupledVectorTagValues() [2/2]

std::vector< const VariableValue * > Coupleable::coupledVectorTagValues ( const std::string &  var_names,
const std::string &  tag_name 
) const
protectedinherited

Definition at line 2445 of file Coupleable.C.

2447 {
2448  if (!_c_parameters.isParamValid(tag_name))
2449  mooseError("Tag name parameter '", tag_name, "' is invalid");
2450 
2451  TagName tagname = _c_parameters.get<TagName>(tag_name);
2452  if (!_c_fe_problem.vectorTagExists(tagname))
2453  mooseError("Tagged vector with tag name '", tagname, "' does not exist");
2454 
2455  TagID tag = _c_fe_problem.getVectorTagID(tagname);
2456  return coupledVectorTagValues(var_names, tag);
2457 }
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition: SubProblem.C:180
unsigned int TagID
Definition: MooseTypes.h:199
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition: SubProblem.h:163
std::vector< const VariableValue * > coupledVectorTagValues(const std::string &var_names, TagID tag) const
Returns the values for all the coupled variables desired for a given tag.
Definition: Coupleable.C:2437
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ coupledVectorValue()

const VectorVariableValue & Coupleable::coupledVectorValue ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns value of a coupled vector variable.

Parameters
var_nameName of coupled vector variable
compComponent number for vector of coupled vector variables
Returns
Reference to a VectorVariableValue for the coupled vector variable
See also
VectorKernel::_u

Definition at line 805 of file Coupleable.C.

Referenced by Coupleable::coupledVectorValues().

806 {
807  const auto * var = getVectorVar(var_name, comp);
808  if (!var)
809  return *getDefaultVectorValue(var_name);
811 
813  {
814  if (_c_nodal)
815  return _c_is_implicit ? var->nodalValueArray() : var->nodalValueOldArray();
816  else
817  return _c_is_implicit ? var->sln() : var->slnOld();
818  }
819  else
820  {
821  if (_c_nodal)
822  // Since this is at a node, I don't feel like there should be any "neighbor" logic
823  return _c_is_implicit ? var->nodalValueArray() : var->nodalValueOldArray();
824  else
825  return _c_is_implicit ? var->slnNeighbor() : var->slnOldNeighbor();
826  }
827 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
const VectorVariableValue * getDefaultVectorValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled vector variable...
Definition: Coupleable.C:357
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledVectorValueOld()

const VectorVariableValue & Coupleable::coupledVectorValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from previous time step of a coupled vector variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VectorVariableValue containing the old value of the coupled variable
See also
VectorKernel::_u_old

Definition at line 1048 of file Coupleable.C.

1049 {
1050  const auto * var = getVectorVar(var_name, comp);
1051  if (!var)
1052  return *getDefaultVectorValue(var_name);
1054 
1055  if (!_coupleable_neighbor)
1056  return (_c_is_implicit) ? var->slnOld() : var->slnOlder();
1057  return (_c_is_implicit) ? var->slnOldNeighbor() : var->slnOlderNeighbor();
1058 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
const VectorVariableValue * getDefaultVectorValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled vector variable...
Definition: Coupleable.C:357
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:1348
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledVectorValueOlder()

const VectorVariableValue & Coupleable::coupledVectorValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
) const
protectedvirtualinherited

Returns an old value from two time steps previous of a coupled vector variable.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VectorVariableValue containing the older value of the coupled variable
See also
VectorKernel::_u_older

Definition at line 1061 of file Coupleable.C.

1062 {
1063  const auto * var = getVectorVar(var_name, comp);
1064  if (!var)
1065  return *getDefaultVectorValue(var_name);
1067 
1068  if (!_coupleable_neighbor)
1069  return var->slnOlder();
1070  return var->slnOlderNeighbor();
1071 }
void checkFuncType(const std::string var_name, VarType t, FuncAge age) const
Definition: Coupleable.C:187
VectorMooseVariable * getVectorVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled vector variable.
Definition: Coupleable.C:289
const VectorVariableValue * getDefaultVectorValue(const std::string &var_name) const
Helper method to return (and insert if necessary) the default value for an uncoupled vector variable...
Definition: Coupleable.C:357
bool _coupleable_neighbor
Whether or not this object is a "neighbor" object: ie all of it&#39;s coupled values should be neighbor v...
Definition: Coupleable.h:1614

◆ coupledVectorValues()

std::vector< const VectorVariableValue * > Coupleable::coupledVectorValues ( const std::string &  var_name) const
protectedinherited

Returns the values for all of a coupled vector variable's components.

Parameters
var_nameName of coupled variable
Returns
Vector of VectorVariableValue pointers for each component of var_name

Definition at line 2401 of file Coupleable.C.

2402 {
2403  auto func = [this, &var_name](unsigned int comp) { return &coupledVectorValue(var_name, comp); };
2404  return coupledVectorHelper<const VectorVariableValue *>(var_name, func);
2405 }
virtual const VectorVariableValue & coupledVectorValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled vector variable.
Definition: Coupleable.C:805

◆ customSetup()

virtual void SetupInterface::customSetup ( const ExecFlagType )
inlinevirtualinherited

Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain.

Reimplemented in Function.

Definition at line 61 of file SetupInterface.h.

61 {}

◆ cyclicDependencyError()

template<typename T , typename T2 >
void DependencyResolverInterface::cyclicDependencyError ( CyclicDependencyException< T2 > &  e,
const std::string &  header 
)
staticinherited

A helper method for cyclic errors.

Definition at line 119 of file DependencyResolverInterface.h.

121 {
122  std::ostringstream oss;
123 
124  oss << header << ":\n";
125  const auto cycle = e.getCyclicDependencies();
126  std::vector<std::string> names(cycle.size());
127  for (const auto i : index_range(cycle))
128  names[i] = static_cast<T>(cycle[i])->name();
129  oss << MooseUtils::join(names, " <- ");
130  mooseError(oss.str());
131 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::vector< T > & getCyclicDependencies() const
auto index_range(const T &sizable)
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ declareADProperty()

template<typename T >
ADMaterialProperty< T > & MaterialBase::declareADProperty ( const std::string &  name)
inherited

Definition at line 475 of file MaterialBase.h.

476 {
477  // Check if the supplied parameter is a valid input parameter key
478  std::string prop_name = name;
479  if (_pars.have_parameter<MaterialPropertyName>(name))
480  prop_name = _pars.get<MaterialPropertyName>(name);
481 
482  return declareADPropertyByName<T>(prop_name);
483 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ declareADPropertyByName()

template<typename T >
ADMaterialProperty<T>& MaterialBase::declareADPropertyByName ( const std::string &  prop_name)
inlineinherited

Definition at line 131 of file MaterialBase.h.

132  {
133  return declareGenericPropertyByName<T, true>(prop_name);
134  }

◆ declareGenericProperty()

template<typename T , bool is_ad>
auto& MaterialBase::declareGenericProperty ( const std::string &  prop_name)
inlineinherited

Definition at line 139 of file MaterialBase.h.

140  {
141  if constexpr (is_ad)
142  return declareADProperty<T>(prop_name);
143  else
144  return declareProperty<T>(prop_name);
145  }

◆ declareGenericPropertyByName()

template<typename T , bool is_ad>
GenericMaterialProperty< T, is_ad > & MaterialBase::declareGenericPropertyByName ( const std::string &  prop_name)
inherited

Definition at line 397 of file MaterialBase.h.

398 {
399  const auto prop_name_modified =
400  _declare_suffix.empty()
401  ? prop_name
402  : MooseUtils::join(std::vector<std::string>({prop_name, _declare_suffix}), "_");
403 
404  // Call this before so that the ID is valid
405  auto & prop = materialData().declareProperty<T, is_ad>(prop_name_modified, *this);
406 
407  registerPropName(prop_name_modified, false, 0);
408  return prop;
409 }
const MaterialPropertyName _declare_suffix
Definition: MaterialBase.h:377
void registerPropName(const std::string &prop_name, bool is_get, const unsigned int state)
Small helper function to call store{Subdomain,Boundary}MatPropName.
Definition: MaterialBase.C:155
virtual const MaterialData & materialData() const =0
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130
GenericMaterialProperty< T, is_ad > & declareProperty(const std::string &prop_name, const MooseObject &requestor)
Declares a material property.
Definition: MaterialData.h:126

◆ declareManagedRestartableDataWithContext()

template<typename T , typename... Args>
Restartable::ManagedValue< T > Restartable::declareManagedRestartableDataWithContext ( const std::string &  data_name,
void context,
Args &&...  args 
)
protectedinherited

Declares a piece of "managed" restartable data and initialize it.

Here, "managed" restartable data means that the caller can destruct this data upon destruction of the return value of this method. Therefore, this ManagedValue<T> wrapper should survive after the final calls to dataStore() for it. That is... at the very end.

This is needed for objects whose destruction ordering is important, and enables natural c++ destruction in reverse construction order of the object that declares it.

See delcareRestartableData and declareRestartableDataWithContext for more information.

Definition at line 276 of file Restartable.h.

279 {
280  auto & data_ptr =
281  declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...);
282  return Restartable::ManagedValue<T>(data_ptr);
283 }
Wrapper class for restartable data that is "managed.
Definition: Restartable.h:42

◆ declareProperty()

template<typename T >
MaterialProperty< T > & MaterialBase::declareProperty ( const std::string &  name)
inherited

Definition at line 385 of file MaterialBase.h.

386 {
387  // Check if the supplied parameter is a valid input parameter key
388  std::string prop_name = name;
389  if (_pars.have_parameter<MaterialPropertyName>(name))
390  prop_name = _pars.get<MaterialPropertyName>(name);
391 
392  return declarePropertyByName<T>(prop_name);
393 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ declarePropertyByName()

template<typename T >
MaterialProperty<T>& MaterialBase::declarePropertyByName ( const std::string &  prop_name)
inlineinherited

Declare the property named "name".

Definition at line 124 of file MaterialBase.h.

125  {
126  return declareGenericPropertyByName<T, false>(prop_name);
127  }

◆ declareRecoverableData()

template<typename T , typename... Args>
T & Restartable::declareRecoverableData ( const std::string &  data_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "recoverable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
argsArguments to forward to the constructor of the data

Definition at line 351 of file Restartable.h.

352 {
353  const auto full_name = restartableName(data_name);
354 
356 
357  return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
358 }
std::string restartableName(const std::string &data_name) const
Gets the name of a piece of restartable data given a data name, adding the system name and object nam...
Definition: Restartable.C:66
void registerRestartableNameWithFilterOnApp(const std::string &name, Moose::RESTARTABLE_FILTER filter)
Helper function for actually registering the restartable data.
Definition: Restartable.C:59

◆ declareRestartableData()

template<typename T , typename... Args>
T & Restartable::declareRestartableData ( const std::string &  data_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
argsArguments to forward to the constructor of the data

Definition at line 269 of file Restartable.h.

270 {
271  return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
272 }

◆ declareRestartableDataWithContext()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithContext ( const std::string &  data_name,
void context,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions
argsArguments to forward to the constructor of the data

Definition at line 294 of file Restartable.h.

297 {
298  return declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...).set();
299 }

◆ declareRestartableDataWithObjectName()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithObjectName ( const std::string &  data_name,
const std::string &  object_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
argsArguments to forward to the constructor of the data

Definition at line 323 of file Restartable.h.

326 {
327  return declareRestartableDataWithObjectNameWithContext<T>(
328  data_name, object_name, nullptr, std::forward<Args>(args)...);
329 }

◆ declareRestartableDataWithObjectNameWithContext()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithObjectNameWithContext ( const std::string &  data_name,
const std::string &  object_name,
void context,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
contextContext pointer that will be passed to the load and store functions
argsArguments to forward to the constructor of the data

Definition at line 333 of file Restartable.h.

337 {
338  std::string old_name = _restartable_name;
339 
340  _restartable_name = object_name;
341 
342  T & value = declareRestartableDataWithContext<T>(data_name, context, std::forward<Args>(args)...);
343 
344  _restartable_name = old_name;
345 
346  return value;
347 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:243
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ deduceFunctorName() [1/2]

std::string FunctorInterface::deduceFunctorName ( const std::string &  name,
const InputParameters params 
)
staticinherited

Helper to look up a functor name through the input parameter keys.

Parameters
nameThe input parameter name that we are trying to deduce the functor name for
paramsThe input parameters object that we will be checking for parameters named name
Returns
The functor name

Definition at line 28 of file FunctorInterface.C.

Referenced by FunctorInterface::deduceFunctorName(), FunctorInterface::getFunctor(), and FunctorInterface::isFunctor().

29 {
30  if (params.isParamValid(name))
31  {
32  if (params.have_parameter<MooseFunctorName>(name))
33  return params.get<MooseFunctorName>(name);
34  // variables, functor material properties, functions, and post-processors are also functors
35  else if (params.have_parameter<MaterialPropertyName>(name))
36  return params.get<MaterialPropertyName>(name);
37  else if (params.have_parameter<VariableName>(name))
38  return params.get<VariableName>(name);
39  else if (params.have_parameter<std::vector<VariableName>>(name))
40  {
41  const auto & var_names = params.get<std::vector<VariableName>>(name);
42  if (var_names.size() != 1)
43  mooseError("We only support a single variable name for retrieving a functor");
44  return var_names[0];
45  }
46  else if (params.have_parameter<NonlinearVariableName>(name))
47  return params.get<NonlinearVariableName>(name);
48  else if (params.have_parameter<FunctionName>(name))
49  return params.get<FunctionName>(name);
50  else if (params.have_parameter<PostprocessorName>(name))
51  return params.get<PostprocessorName>(name);
52  else
53  mooseError("Invalid parameter type for retrieving a functor");
54  }
55  else
56  return name;
57 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
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.
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ deduceFunctorName() [2/2]

std::string FunctorInterface::deduceFunctorName ( const std::string &  name) const
protectedinherited

Small helper to look up a functor name through the input parameter keys.

Definition at line 60 of file FunctorInterface.C.

61 {
62  return deduceFunctorName(name, _fi_params);
63 }
const InputParameters & _fi_params
Parameters of the object with this interface.
static std::string deduceFunctorName(const std::string &name, const InputParameters &params)
Helper to look up a functor name through the input parameter keys.

◆ defaultADMaterialProperty()

template<typename T >
const ADMaterialProperty<T>* MaterialPropertyInterface::defaultADMaterialProperty ( const std::string &  name)
inlineprotectedinherited

Definition at line 521 of file MaterialPropertyInterface.h.

522  {
523  return defaultGenericMaterialProperty<T, true>(name);
524  }
std::string name(const ElemQuality q)

◆ defaultGenericMaterialProperty()

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > * MaterialPropertyInterface::defaultGenericMaterialProperty ( const std::string &  name)
protectedinherited
Returns
The default material property with the name name, if any.

"Default" properties are properties whose default values are set from within the name. That is, if we can cast name to a Real, and the prop type is a Real or RealVectorValue, we'll return said value.

Definition at line 618 of file MaterialPropertyInterface.h.

619 {
620  if constexpr (std::is_same_v<T, Real> || std::is_same_v<T, RealVectorValue>)
621  {
622  std::istringstream ss(name);
623  Real real_value;
624 
625  // check if the string parsed cleanly into a Real number
626  if (ss >> real_value && ss.eof())
627  {
628  using prop_type = GenericMaterialProperty<T, is_ad>;
629 
630  const auto nqp = Moose::constMaxQpsPerElem;
631  auto & property =
632  _default_properties.emplace_back(std::make_unique<prop_type>(default_property_id));
633  auto & T_property = static_cast<prop_type &>(*property);
634 
635  T_property.resize(nqp);
636  for (const auto qp : make_range(nqp))
637  T_property[qp] = real_value;
638 
639  return &T_property;
640  }
641  }
642 
643  return nullptr;
644 }
static constexpr PropertyValue::id_type default_property_id
The material property ID for a default (parsed from input) property.
constexpr std::size_t constMaxQpsPerElem
This is used for places where we initialize some qp-sized data structures that would end up being siz...
Definition: MooseTypes.h:218
std::vector< std::unique_ptr< PropertyValue > > _default_properties
Storage vector for default properties.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IntRange< T > make_range(T beg, T end)

◆ defaultMaterialProperty()

template<typename T >
const MaterialProperty<T>* MaterialPropertyInterface::defaultMaterialProperty ( const std::string &  name)
inlineprotectedinherited

Definition at line 516 of file MaterialPropertyInterface.h.

517  {
518  return defaultGenericMaterialProperty<T, false>(name);
519  }
std::string name(const ElemQuality q)

◆ determineState()

Moose::StateArg TransientInterface::determineState ( ) const
inlineprotectedinherited

Create a functor state argument that corresponds to the implicit state of this object.

If we are implicit then we will return the current state. If we are not, then we will return the old state

Definition at line 80 of file TransientInterface.h.

Referenced by SideIntegralVariablePostprocessor::computeFaceInfoIntegral(), InternalSideIntegralVariablePostprocessor::computeFaceInfoIntegral(), LayeredSideDiffusiveFluxAverage::computeQpIntegral(), SideIntegralFunctorUserObject::computeQpIntegral(), SideIntegralVariableUserObject::computeQpIntegral(), InterfaceIntegralVariableValuePostprocessor::computeQpIntegral(), FVOneVarDiffusionInterface::computeQpResidual(), FVTwoVarContinuityConstraint::computeQpResidual(), FVDiffusionInterface::computeQpResidual(), FVFunctorTimeKernel::computeQpResidual(), FVMatAdvection::computeQpResidual(), FVAdvection::computeQpResidual(), FVConstantScalarOutflowBC::computeQpResidual(), FVAnisotropicDiffusion::computeQpResidual(), FVCoupledForce::computeQpResidual(), FVFunctorNeumannBC::computeQpResidual(), FVMassMatrix::computeQpResidual(), FVDivergence::computeQpResidual(), FVBoundaryIntegralValueConstraint::computeQpResidual(), FVDiffusion::computeQpResidual(), FVIntegralValueConstraint::computeQpResidual(), FVBoundedValueConstraint::computeQpResidual(), FVPointValueConstraint::computeQpResidual(), SecondTimeDerivativeAux::computeValue(), AdvectiveFluxAux::computeValue(), TimeDerivativeAux::computeValue(), FunctorAux::computeValue(), PositionsFunctorValueSampler::execute(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), FunctorPositions::initialize(), and FunctorTimes::initialize().

81 {
83 }
StateArg oldState()
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
StateArg currentState()
bool _is_implicit
If the object is using implicit or explicit form.

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 49 of file MooseObject.h.

Referenced by EigenKernel::enabled().

49 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:53

◆ errorPrefix()

std::string MooseBaseErrorInterface::errorPrefix ( const std::string &  error_type) const
inherited

A descriptive prefix for errors for this object:

The following <error_type> occurred in the object "<name>", of type "<type>".

Definition at line 15 of file MooseBaseErrorInterface.C.

Referenced by MooseBaseErrorInterface::mooseError(), and MooseBaseErrorInterface::mooseWarning().

16 {
17  std::stringstream oss;
18  oss << "The following " << error_type << " occurred in the object \"" << _moose_base->name()
19  << "\", of type \"" << _moose_base->type() << "\".\n\n";
20  return oss.str();
21 }
const MooseBase *const _moose_base
The MooseBase class deriving from this interface.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ flagInvalidSolutionInternal()

void SolutionInvalidInterface::flagInvalidSolutionInternal ( InvalidSolutionID  _invalid_solution_id) const
protectedinherited

Set solution invalid mark for the given solution ID.

Definition at line 26 of file SolutionInvalidInterface.C.

27 {
28  auto & solution_invalidity = _si_moose_object.getMooseApp().solutionInvalidity();
30  solution_invalidity.printDebug(_invalid_solution_id);
31  return solution_invalidity.flagInvalidSolutionInternal(_invalid_solution_id);
32 }
FEProblemBase & _si_problem
A reference to FEProblem base.
void printDebug(InvalidSolutionID _invalid_solution_id) const
Immediately print the section and message for debug purpose.
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:44
SolutionInvalidity & solutionInvalidity()
Get the SolutionInvalidity for this app.
Definition: MooseApp.h:149
MooseObject & _si_moose_object
The MooseObject that owns this interface.
bool immediatelyPrintInvalidSolution() const
Whether or not the solution invalid warnings are printed out immediately.

◆ forceStatefulInit()

bool MaterialBase::forceStatefulInit ( ) const
inlineinherited
Returns
Whether or not this material should forcefully call initStatefulProperties() even if it doesn't produce properties that needs state.

Please don't set this to true :(

Definition at line 263 of file MaterialBase.h.

263 { return _force_stateful_init; }
const bool _force_stateful_init
Whether or not to force stateful init; see forceStatefulInit()
Definition: MaterialBase.h:380

◆ genericZeroGradient() [1/3]

template<bool is_ad>
const GenericVariableGradient<is_ad>& Coupleable::genericZeroGradient ( )
protectedinherited

Returns zero gradient templated with automatic differentiation boolean.

Returns
Reference to a const GenericVariableValue

◆ genericZeroGradient() [2/3]

template<>
const GenericVariableGradient<false>& Coupleable::genericZeroGradient ( )
protectedinherited

Definition at line 2322 of file Coupleable.C.

2323 {
2324  return _grad_zero;
2325 }
const VariableGradient & _grad_zero
Zero gradient of a variable.
Definition: Coupleable.h:1401

◆ genericZeroGradient() [3/3]

template<>
const GenericVariableGradient<true>& Coupleable::genericZeroGradient ( )
protectedinherited

Definition at line 2329 of file Coupleable.C.

2330 {
2331  return _ad_grad_zero;
2332 }
const MooseArray< ADRealVectorValue > & _ad_grad_zero
Definition: Coupleable.h:1402

◆ genericZeroSecond() [1/3]

template<bool is_ad>
const GenericVariableSecond<is_ad>& Coupleable::genericZeroSecond ( )
protectedinherited

Returns zero second derivative templated with automatic differentiation boolean.

Returns
Reference to a const GenericVariableValue

◆ genericZeroSecond() [2/3]

template<>
const GenericVariableSecond<false>& Coupleable::genericZeroSecond ( )
protectedinherited

Definition at line 2336 of file Coupleable.C.

2337 {
2338  return _second_zero;
2339 }
const VariableSecond & _second_zero
Zero second derivative of a variable.
Definition: Coupleable.h:1408

◆ genericZeroSecond() [3/3]

template<>
const GenericVariableSecond<true>& Coupleable::genericZeroSecond ( )
protectedinherited

Definition at line 2343 of file Coupleable.C.

2344 {
2345  return _ad_second_zero;
2346 }
const MooseArray< ADRealTensorValue > & _ad_second_zero
Definition: Coupleable.h:1409

◆ genericZeroValue() [1/3]

template<bool is_ad>
const GenericVariableValue<is_ad>& Coupleable::genericZeroValue ( )
protectedinherited

Returns zero value templated with automatic differentiation boolean.

Returns
Reference to a const GenericVariableValue

◆ genericZeroValue() [2/3]

template<>
const GenericVariableValue<false>& Coupleable::genericZeroValue ( )
protectedinherited

Definition at line 2308 of file Coupleable.C.

2309 {
2310  return _zero;
2311 }
const VariableValue & _zero
Zero value of a variable.
Definition: Coupleable.h:1396

◆ genericZeroValue() [3/3]

template<>
const GenericVariableValue<true>& Coupleable::genericZeroValue ( )
protectedinherited

Definition at line 2315 of file Coupleable.C.

2316 {
2317  return _ad_zero;
2318 }
const MooseArray< DualReal > & _ad_zero
Definition: Coupleable.h:1398

◆ getADDefaultGradient()

const ADVariableGradient & Coupleable::getADDefaultGradient ( ) const
inherited

Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation for an uncoupled variable.

Parameters
var_namethe name of the variable for which to retrieve a default gradient
Returns
VariableGradient * a pointer to the associated VariableGradient.

Definition at line 2265 of file Coupleable.C.

Referenced by Coupleable::adCoupledGradient(), and Coupleable::adCoupledGradientDot().

2266 {
2268  return _ad_default_gradient;
2269 }
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692
MooseArray< ADRealVectorValue > _ad_default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1384

◆ getADDefaultSecond()

const ADVariableSecond & Coupleable::getADDefaultSecond ( ) const
inherited

Helper method to return (and insert if necessary) the default second derivatives for Automatic Differentiation for an uncoupled variable.

Parameters
var_namethe name of the variable for which to retrieve a default second derivative
Returns
VariableSecond * a pointer to the associated VariableSecond.

Definition at line 2279 of file Coupleable.C.

Referenced by Coupleable::adCoupledSecond().

2280 {
2282  return _ad_default_second;
2283 }
MooseArray< ADRealTensorValue > _ad_default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:1393
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ getADDefaultValue()

const ADVariableValue * Coupleable::getADDefaultValue ( const std::string &  var_name) const
inherited

Helper method to return (and insert if necessary) the default value for Automatic Differentiation for an uncoupled variable.

Parameters
var_namethe name of the variable for which to retrieve a default value
Returns
VariableValue * a pointer to the associated VarirableValue.

Definition at line 2234 of file Coupleable.C.

Referenced by Coupleable::adCoupledDofValues(), Coupleable::adCoupledDot(), Coupleable::adCoupledDotDot(), Coupleable::adCoupledLowerValue(), NeighborCoupleable::adCoupledNeighborValue(), and Coupleable::adCoupledValue().

2235 {
2236  auto default_value_it = _ad_default_value.find(var_name);
2237  if (default_value_it == _ad_default_value.end())
2238  {
2239  auto value = std::make_unique<ADVariableValue>(_coupleable_max_qps,
2241  default_value_it = _ad_default_value.insert(std::make_pair(var_name, std::move(value))).first;
2242  }
2243 
2244  return default_value_it->second.get();
2245 }
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
Real defaultCoupledValue(const std::string &coupling_name, unsigned int i=0) const
Get the default value for an optionally coupled variable.
std::unordered_map< std::string, std::unique_ptr< MooseArray< DualReal > > > _ad_default_value
Will hold the default value for optional coupled variables for automatic differentiation.
Definition: Coupleable.h:1361
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ getADDefaultVectorGradient()

const ADVectorVariableGradient & Coupleable::getADDefaultVectorGradient ( ) const
inherited

Helper method to return (and insert if necessary) the default gradient for Automatic Differentiation for an uncoupled vector variable.

Parameters
var_namethe name of the vector variable for which to retrieve a default gradient
Returns
VariableGradient * a pointer to the associated VectorVariableGradient.

Definition at line 2272 of file Coupleable.C.

Referenced by Coupleable::adCoupledVectorGradient().

2273 {
2276 }
MooseArray< ADRealTensorValue > _ad_default_vector_gradient
This will always be zero because the default values for optionally coupled vector variables is always...
Definition: Coupleable.h:1387
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ getADDefaultVectorValue()

const ADVectorVariableValue * Coupleable::getADDefaultVectorValue ( const std::string &  var_name) const
inherited

Helper method to return (and insert if necessary) the default vector value for Automatic Differentiation for an uncoupled variable.

Parameters
var_namethe name of the vector variable for which to retrieve a default value
Returns
VariableVectorValue * a pointer to the associated VarirableVectorValue.

Definition at line 2248 of file Coupleable.C.

Referenced by Coupleable::adCoupledVectorDot(), NeighborCoupleable::adCoupledVectorNeighborValue(), and Coupleable::adCoupledVectorValue().

2249 {
2250  auto default_value_it = _ad_default_vector_value.find(var_name);
2251  if (default_value_it == _ad_default_vector_value.end())
2252  {
2253  RealVectorValue default_vec;
2254  for (unsigned int i = 0; i < _c_parameters.numberDefaultCoupledValues(var_name); ++i)
2255  default_vec(i) = _c_parameters.defaultCoupledValue(var_name, i);
2256  auto value = std::make_unique<ADVectorVariableValue>(_coupleable_max_qps, default_vec);
2257  default_value_it =
2258  _ad_default_vector_value.insert(std::make_pair(var_name, std::move(value))).first;
2259  }
2260 
2261  return default_value_it->second.get();
2262 }
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > _ad_default_vector_value
Will hold the default value for optional vector coupled variables for automatic differentiation.
Definition: Coupleable.h:1372
unsigned int numberDefaultCoupledValues(const std::string &coupling_name) const
Get the number of defaulted coupled value entries.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
Real defaultCoupledValue(const std::string &coupling_name, unsigned int i=0) const
Get the default value for an optionally coupled variable.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
unsigned int _coupleable_max_qps
Maximum qps for any element in this system.
Definition: Coupleable.h:1692

◆ getADMaterialProperty() [1/2]

template<typename T >
const ADMaterialProperty<T>& Material::getADMaterialProperty ( const std::string &  name)
inline

Definition at line 105 of file Material.h.

106  {
107  return getGenericMaterialProperty<T, true>(name, 0);
108  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getADMaterialProperty() [2/2]

template<typename T >
const ADMaterialProperty<T>& MaterialPropertyInterface::getADMaterialProperty ( const std::string &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the AD property named "name" for the specified material_data.

state is the property state; 0 = current, 1 = old, 2 = older, etc.

Definition at line 362 of file MaterialPropertyInterface.h.

364  {
365  return getGenericMaterialProperty<T, true>(name, material_data, 0);
366  }
std::string name(const ElemQuality q)

◆ getADMaterialPropertyByName() [1/3]

template<typename T >
const ADMaterialProperty<T>& Material::getADMaterialPropertyByName ( const std::string &  prop_name)
inline

Definition at line 135 of file Material.h.

136  {
137  return getGenericMaterialPropertyByName<T, true>(prop_name, 0);
138  }

◆ getADMaterialPropertyByName() [2/3]

template<typename T >
const ADMaterialProperty<T>& MaterialPropertyInterface::getADMaterialPropertyByName ( const MaterialPropertyName &  name)
inlineinherited

Definition at line 140 of file MaterialPropertyInterface.h.

141  {
142  return getGenericMaterialPropertyByName<T, true>(name, 0);
143  }
std::string name(const ElemQuality q)

◆ getADMaterialPropertyByName() [3/3]

template<typename T >
const ADMaterialProperty<T>& MaterialPropertyInterface::getADMaterialPropertyByName ( const MaterialPropertyName &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the AD property named "name" without any deduction for the specified material_data.

Definition at line 405 of file MaterialPropertyInterface.h.

407  {
408  return getGenericMaterialPropertyByName<T, true>(name, material_data, 0);
409  }
std::string name(const ElemQuality q)

◆ getAllElemIDs()

std::set<dof_id_type> ElementIDInterface::getAllElemIDs ( unsigned int  elem_id_index) const
inlineinherited

Return all the unique element IDs for an element integer with its index on the entire domain.

Definition at line 120 of file ElementIDInterface.h.

121  {
122  return _id_mesh->getAllElemIDs(elem_id_index);
123  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ getArrayVar() [1/2]

ArrayMooseVariable * Coupleable::getArrayVar ( const std::string &  var_name,
unsigned int  comp 
)
protectedinherited

◆ getArrayVar() [2/2]

const ArrayMooseVariable * Coupleable::getArrayVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Extract pointer to a coupled array variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 324 of file Coupleable.C.

325 {
326  return getVarHelper<ArrayMooseVariable>(var_name, comp);
327 }

◆ getBlockCoordSystem()

Moose::CoordinateSystemType BlockRestrictable::getBlockCoordSystem ( )
protectedinherited

Check if the blocks this object operates on all have the same coordinate system, and if so return it.

Definition at line 311 of file BlockRestrictable.C.

312 {
313  if (!_blk_mesh)
314  mooseError("No mesh available in BlockRestrictable::checkCoordSystem()");
315  if (!_blk_feproblem)
316  mooseError("No problem available in BlockRestrictable::checkCoordSystem()");
317 
318  const auto & subdomains = blockRestricted() ? blockIDs() : meshBlockIDs();
319 
320  if (subdomains.empty())
321  mooseError("No subdomains found in the problem.");
322 
323  // make sure all subdomains are using the same coordinate system
324  auto coord_system = _blk_feproblem->getCoordSystem(*subdomains.begin());
325  for (auto subdomain : subdomains)
326  if (_blk_feproblem->getCoordSystem(subdomain) != coord_system)
327  mooseError("This object requires all subdomains to have the same coordinate system.");
328 
329  return coord_system;
330 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) const
Definition: SubProblem.C:1223
MooseMesh * _blk_mesh
Pointer to Mesh.

◆ getBlockMaterialProperty()

template<typename T >
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > MaterialPropertyInterface::getBlockMaterialProperty ( const MaterialPropertyName &  name)
inherited

Retrieve pointer to a material property with the mesh blocks where it is defined The name required by this method is the name defined in the input file.

This function can be thought as the combination of getMaterialPropertyByName and getMaterialPropertyBlocks. It can be called after the action of all actions.

Parameters
nameThe name of the material property to retrieve
Returns
Pointer to the material property with the name 'name' and the set of blocks where the property is valid

Definition at line 648 of file MaterialPropertyInterface.h.

649 {
650  const auto name = _get_suffix.empty()
651  ? static_cast<const std::string &>(name_in)
652  : MooseUtils::join(std::vector<std::string>({name_in, _get_suffix}), "_");
653 
654  if (_mi_block_ids.empty())
655  mooseError("getBlockMaterialProperty must be called by a block restrictable object");
656 
657  using pair_type = std::pair<const MaterialProperty<T> *, std::set<SubdomainID>>;
658 
659  if (!hasMaterialPropertyByName<T>(name))
660  return pair_type(nullptr, {});
661 
662  // Call first so that the ID gets registered
663  const auto & prop = _material_data.getProperty<T, false>(name, 0, _mi_moose_object);
664  auto blocks = getMaterialPropertyBlocks(name);
665  auto prop_blocks_pair = pair_type(&prop, std::move(blocks));
666 
668 
669  // Update consumed properties in MaterialPropertyDebugOutput
671 
672  return prop_blocks_pair;
673 }
std::string name(const ElemQuality q)
const MooseObjectName _mi_moose_object_name
The "complete" name of the object that this interface belongs for material property output...
const std::set< SubdomainID > & _mi_block_ids
Storage for the block ids created by BlockRestrictable.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
unsigned int getPropertyId(const std::string &prop_name) const
Wrapper for MaterialStorage::getPropertyId.
Definition: MaterialData.C:80
MaterialData & _material_data
The material data class that stores properties.
std::set< SubdomainID > getMaterialPropertyBlocks(const std::string &name)
Retrieve the block ids that the material property is defined.
const MaterialPropertyName _get_suffix
GenericMaterialProperty< T, is_ad > & getProperty(const std::string &prop_name, const unsigned int state, const MooseObject &requestor)
Retrieves a material property.
Definition: MaterialData.h:111
void addConsumedPropertyName(const MooseObjectName &obj_name, const std::string &prop_name)
const MooseObject & _mi_moose_object
The MooseObject creating the MaterialPropertyInterface.
std::unordered_set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ getCheckedPointerParam()

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

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

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

Definition at line 274 of file MooseBaseParameterInterface.h.

276 {
277  return parameters().getCheckedPointerParam<T>(name, error_string);
278 }
std::string name(const ElemQuality q)
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller...
const InputParameters & parameters() const
Get the parameters of the object.

◆ getCoupledArrayMooseVars()

const std::vector<ArrayMooseVariable *>& Coupleable::getCoupledArrayMooseVars ( ) const
inlineinherited

Get the list of array coupled variables.

Returns
The list of array coupled variables

Definition at line 96 of file Coupleable.h.

97  {
99  }
std::vector< ArrayMooseVariable * > _coupled_array_moose_vars
Vector of array coupled variables.
Definition: Coupleable.h:1336

◆ getCoupledMooseScalarVars()

const std::vector<MooseVariableScalar *>& ScalarCoupleable::getCoupledMooseScalarVars ( )
inlineinherited

Get the list of coupled scalar variables.

Returns
The list of coupled variables

Definition at line 45 of file ScalarCoupleable.h.

Referenced by AuxScalarKernel::AuxScalarKernel(), MortarScalarBase::computeJacobian(), and ScalarInitialCondition::ScalarInitialCondition().

46  {
48  }
std::vector< MooseVariableScalar * > _coupled_moose_scalar_vars
Vector of coupled variables.

◆ getCoupledMooseVars()

const std::vector<MooseVariableFieldBase *>& Coupleable::getCoupledMooseVars ( ) const
inlineinherited

◆ getCoupledStandardMooseVars()

const std::vector<MooseVariable *>& Coupleable::getCoupledStandardMooseVars ( ) const
inlineinherited

Get the list of standard coupled variables.

Returns
The list of standard coupled variables

Definition at line 78 of file Coupleable.h.

79  {
81  }
std::vector< MooseVariable * > _coupled_standard_moose_vars
Vector of standard coupled variables.
Definition: Coupleable.h:1330

◆ getCoupledVars()

const std::unordered_map<std::string, std::vector<MooseVariableFieldBase *> >& Coupleable::getCoupledVars ( ) const
inlineinherited

Get the list of coupled variables.

Returns
The list of coupled variables

Definition at line 60 of file Coupleable.h.

Referenced by InitialConditionBase::InitialConditionBase().

61  {
62  return _coupled_vars;
63  }
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:1324

◆ getCoupledVectorMooseVars()

const std::vector<VectorMooseVariable *>& Coupleable::getCoupledVectorMooseVars ( ) const
inlineinherited

Get the list of vector coupled variables.

Returns
The list of vector coupled variables

Definition at line 87 of file Coupleable.h.

88  {
90  }
std::vector< VectorMooseVariable * > _coupled_vector_moose_vars
Vector of vector coupled variables.
Definition: Coupleable.h:1333

◆ getDataFileName()

std::string DataFileInterface< MooseObject >::getDataFileName ( const std::string &  param) const
inherited

Returns the path of a data file for a given FileName type parameter, searching (in the following order)

  • relative to the input file directory
  • relative to the running binary (assuming the application is installed)
  • relative to all registered data file directories
  • relative to the input file directory

Definition at line 22 of file DataFileInterface.C.

23 {
25  {
26  const auto & absolute_path = _parent.template getParam<FileName>(param);
27  if (MooseUtils::checkFileReadable(absolute_path, false, false, false))
28  {
29  _parent.paramInfo(param, "Data file '", absolute_path, "' found relative to the input file.");
30  return absolute_path;
31  }
32  }
33 
34  const auto & relative_path = _parent.parameters().rawParamVal(param);
35  return getDataFileNameByName(relative_path, &param);
36 }
std::string getDataFileNameByName(const std::string &name, const std::string *param=nullptr) const
Returns the path of a data file for a given relative file path.
std::string & rawParamVal(const std::string &param)
Get/set a string representing the raw, unmodified token text for the given param. ...
bool checkFileReadable(const std::string &filename, bool check_line_endings=false, bool throw_on_unreadable=true, bool check_for_git_lfs_pointer=true)
Checks to see if a file is readable (exists and permissions)
Definition: MooseUtils.C:253
const InputParameters & parameters() const
Get the parameters of the object.
void paramInfo(const std::string &param, Args... args) const
Emits an informational message prefixed with the file and line number of the given param (from the in...

◆ getDataFileNameByName()

std::string DataFileInterface< MooseObject >::getDataFileNameByName ( const std::string &  name,
const std::string *  param = nullptr 
) const
inherited

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

This can be used for hardcoded datafile names and will search the same locations as getDataFileName. The optional param pointer can be used to turn the mooseErrors this function emits into paramErrors

  • relative to the running binary (assuming the application is installed)
  • relative to all registered data file directories

Definition at line 40 of file DataFileInterface.C.

42 {
44  const auto share_dir = MooseUtils::pathjoin(Moose::getExecutablePath(), "..", "share");
45  if (MooseUtils::pathIsDirectory(share_dir))
46  {
47  const auto dirs = MooseUtils::listDir(share_dir, false);
48  for (const auto & data_dir : dirs)
49  {
50  const auto path = MooseUtils::pathjoin(data_dir, "data", relative_path);
51  if (MooseUtils::checkFileReadable(path, false, false, false))
52  {
53  if (param)
55  *param, "Data file '", path, "' found in an installed app distribution.");
56  else
57  mooseInfo("Data file '", path, "' found in an installed app distribution.");
58  return path;
59  }
60  }
61  }
62 
64  for (const auto & data_dir : Registry::getRegistry().getDataFilePaths())
65  {
66  const auto path = MooseUtils::pathjoin(data_dir, relative_path);
67  if (MooseUtils::checkFileReadable(path, false, false, false))
68  {
69  if (param)
70  _parent.paramInfo(*param, "Data file '", path, "' found in a source repository.");
71  else
72  mooseInfo("Data file '", path, "' found in a source repository.");
73  return path;
74  }
75  }
76 
77  mooseException(param ? _parent.parameters().inputLocation(*param) : _parent.name(),
78  ": Unable to find data file '",
79  relative_path,
80  "' anywhere");
81 }
static Registry & getRegistry()
Get the global Registry singleton.
Definition: Registry.C:21
std::string getExecutablePath()
This function returns the PATH of the running executable.
bool pathIsDirectory(const std::string &path)
Definition: MooseUtils.C:247
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:329
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
bool checkFileReadable(const std::string &filename, bool check_line_endings=false, bool throw_on_unreadable=true, bool check_for_git_lfs_pointer=true)
Checks to see if a file is readable (exists and permissions)
Definition: MooseUtils.C:253
std::filesystem::path pathjoin(const std::filesystem::path &p)
Definition: MooseUtils.C:58
std::list< std::string > listDir(const std::string path, bool files_only=false)
Definition: MooseUtils.C:765
const InputParameters & parameters() const
Get the parameters of the object.
void paramInfo(const std::string &param, Args... args) const
Emits an informational message prefixed with the file and line number of the given param (from the in...

◆ getDistribution() [1/2]

const Distribution & DistributionInterface::getDistribution ( const std::string &  name) const
inherited

Get a distribution with a given name.

Parameters
nameThe name of the parameter key of the distribution to retrieve
Returns
The distribution with name associated with the parameter 'name'

Definition at line 31 of file DistributionInterface.C.

Referenced by DistributionInterface::getDistribution(), and DistributionInterface::getDistributionByName().

32 {
33  DistributionName dist_name = _dni_params.get<DistributionName>(name);
34  return _dni_feproblem.getDistribution(dist_name);
35 }
std::string name(const ElemQuality q)
virtual Distribution & getDistribution(const std::string &name)
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.
FEProblemBase & _dni_feproblem
Reference to FEProblemBase instance.
const InputParameters & _dni_params
Parameters of the object with this interface.

◆ getDistribution() [2/2]

template<typename T >
const T & DistributionInterface::getDistribution ( const std::string &  name) const
inherited

Definition at line 69 of file DistributionInterface.h.

70 {
71  try
72  {
73  const T & dist = dynamic_cast<const T &>(getDistribution(name));
74  return dist;
75  }
76  catch (std::bad_cast & exception)
77  {
78  DistributionName dist_name = _dni_params.get<DistributionName>(name);
79  mooseError("The '",
81  "' object failed to retrieve '",
82  dist_name,
83  "' distribution with the desired type.");
84  }
85 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const Distribution & getDistribution(const std::string &name) const
Get a distribution with a given name.
const InputParameters & _dni_params
Parameters of the object with this interface.
const MooseObject *const _dni_moose_object_ptr
Pointer to the MooseObject.

◆ getDistributionByName() [1/2]

const Distribution & DistributionInterface::getDistributionByName ( const DistributionName &  name) const
inherited

Get a distribution with a given name.

Parameters
nameThe name of the distribution to retrieve
Returns
The distribution with name 'name'

Definition at line 38 of file DistributionInterface.C.

Referenced by RandomIC::RandomIC().

39 {
40  return _dni_feproblem.getDistribution(name);
41 }
virtual Distribution & getDistribution(const std::string &name)
FEProblemBase & _dni_feproblem
Reference to FEProblemBase instance.

◆ getDistributionByName() [2/2]

template<typename T >
const T & DistributionInterface::getDistributionByName ( const std::string &  name) const
inherited

Definition at line 89 of file DistributionInterface.h.

90 {
91  try
92  {
93  const T & dist = dynamic_cast<const T &>(getDistribution(name));
94  return dist;
95  }
96  catch (std::bad_cast & exception)
97  {
98  mooseError("The '",
100  "' object failed to retrieve '",
101  name,
102  "' distribution with the desired type.");
103  }
104 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const Distribution & getDistribution(const std::string &name) const
Get a distribution with a given name.
const MooseObject *const _dni_moose_object_ptr
Pointer to the MooseObject.

◆ getElementID() [1/2]

virtual const dof_id_type& Material::getElementID ( const std::string &  id_parameter_name,
unsigned int  comp = 0 
) const
inlineoverridevirtual

Gets an element integer for the proper current element with a parameter of the object derived from this interface Note: This overrides the function in ElementIDInterface to assure derived materials call the functions in ElementIDInterface properly.

Reimplemented from ElementIDInterface.

Definition at line 47 of file Material.h.

49  {
50  return _neighbor ? ElementIDInterface::getElementIDNeighbor(id_parameter_name, comp)
51  : ElementIDInterface::getElementID(id_parameter_name, comp);
52  }
virtual const dof_id_type & getElementIDNeighbor(const std::string &id_parameter_name, unsigned int comp=0) const
Gets a neighbor element integer with a parameter of the object derived from this interface.
virtual const dof_id_type & getElementID(const std::string &id_parameter_name, unsigned int comp=0) const override
Gets an element integer for the proper current element with a parameter of the object derived from th...
Definition: Material.h:47
bool _neighbor
Definition: Material.h:230

◆ getElementID() [2/2]

dof_id_type ElementIDInterface::getElementID ( const Elem *  elem,
unsigned int  elem_id_index 
) const
inlineinherited

Get an element integer for an element.

Definition at line 138 of file ElementIDInterface.h.

139  {
140  if (elem_id_index == elem->n_extra_integers())
141  return elem->subdomain_id();
142 
143  return elem->get_extra_integer(elem_id_index);
144  }

◆ getElementIDByName()

virtual const dof_id_type& Material::getElementIDByName ( const std::string &  id_parameter_name) const
inlineoverridevirtual

Gets an element integer for the proper current element with the element integer name Note: This overrides the function in ElementIDInterface to assure derived materials call the functions in ElementIDInterface properly.

Reimplemented from ElementIDInterface.

Definition at line 71 of file Material.h.

72  {
74  : ElementIDInterface::getElementIDByName(id_parameter_name);
75  }
virtual const dof_id_type & getElementIDByName(const std::string &id_parameter_name) const override
Gets an element integer for the proper current element with the element integer name Note: This overr...
Definition: Material.h:71
virtual const dof_id_type & getElementIDNeighborByName(const std::string &id_name) const
Gets a neighbor element integer with the element integer name.
bool _neighbor
Definition: Material.h:230

◆ getElementIDIndex()

unsigned int ElementIDInterface::getElementIDIndex ( const std::string &  id_parameter_name,
unsigned int  comp = 0 
) const
virtualinherited

Gets index of an element integer with a parameter of the object derived from this interface.

Parameters
id_parameter_nameName of object parameter
compComponent number for vector of integer names
Returns
Index of the element integer

Definition at line 36 of file ElementIDInterface.C.

Referenced by ElementIDInterface::getElementID(), and ElementIDInterface::getElementIDNeighbor().

38 {
39  auto & p = _obj_parameters.get<std::vector<ExtraElementIDName>>(id_parameter_name);
40  if (comp >= p.size())
41  mooseError(id_parameter_name, " does not have enough integer names");
42 
43  return getElementIDIndexByName(p[comp]);
44 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & _obj_parameters
Reference to the object&#39;s input parameters.
virtual unsigned int getElementIDIndexByName(const std::string &id_name) const
Return the accessing integer for an extra element integer with its name.

◆ getElementIDIndexByName()

unsigned int ElementIDInterface::getElementIDIndexByName ( const std::string &  id_name) const
virtualinherited

Return the accessing integer for an extra element integer with its name.

Parameters
id_nameName of element integer
Returns
Index of the element integer

Definition at line 47 of file ElementIDInterface.C.

Referenced by ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), ElementIDInterface::getElementIDByName(), ElementIDInterface::getElementIDIndex(), and ElementIDInterface::getElementIDNeighborByName().

48 {
49  if (!_id_mesh.get())
50  mooseError("Mesh is not available for getting element integers");
51 
52  auto & mesh_base = _id_mesh->getMesh();
53 
54  if (id_name == "subdomain_id")
55  {
56  if (mesh_base.has_elem_integer(id_name))
57  mooseError("MOOSE does not allow 'subdomain_id' element integer in a mesh. 'subdomain_id' is "
58  "reserved for element subdomain ID");
59  return mesh_base.n_elem_integers();
60  }
61 
62  if (!mesh_base.has_elem_integer(id_name))
63  mooseError(
64  "Mesh does not have an element integer names as ", id_name, " but required by ", _ei_name);
65 
66  auto id = mesh_base.get_elem_integer_index(id_name);
67 
68  return id;
69 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)
const std::string & _ei_name
Name of the object using this interface.

◆ getElementIDNeighbor()

virtual const dof_id_type& Material::getElementIDNeighbor ( const std::string &  id_parameter_name,
unsigned int  comp = 0 
) const
inlineoverridevirtual

Directly calling this function is not needed for materials because the same material has three copies for element interior, element side and neighbor side.

Reimplemented from ElementIDInterface.

Definition at line 57 of file Material.h.

59  {
60  mooseError("Directly calling 'getElementIDNeighbor' is not allowed for materials. Please call "
61  "'getElementID' instead");
62  return ElementIDInterface::getElementIDNeighbor(id_parameter_name, comp);
63  }
virtual const dof_id_type & getElementIDNeighbor(const std::string &id_parameter_name, unsigned int comp=0) const
Gets a neighbor element integer with a parameter of the object derived from this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getElementIDNeighborByName()

virtual const dof_id_type& Material::getElementIDNeighborByName ( const std::string &  id_parameter_name) const
inlineoverridevirtual

Directly calling this function is not needed for materials because the same material has three copies for element interior, element side and neighbor side.

Reimplemented from ElementIDInterface.

Definition at line 81 of file Material.h.

82  {
83  mooseError("Directly calling 'getElementIDNeighborByName' is not allowed for materials. Please "
84  "call 'getElementIDByName' instead");
85  return ElementIDInterface::getElementIDNeighborByName(id_parameter_name);
86  }
virtual const dof_id_type & getElementIDNeighborByName(const std::string &id_name) const
Gets a neighbor element integer with the element integer name.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getElemIDMapping()

std::unordered_map<dof_id_type, std::set<dof_id_type> > ElementIDInterface::getElemIDMapping ( const std::string &  id_name1,
const std::string &  id_name2 
) const
inlineinherited

Get the mapping from IDs of one extra element integer to another given the two integer names.

Definition at line 112 of file ElementIDInterface.h.

113  {
114  return _id_mesh->getElemIDMapping(id_name1, id_name2);
115  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ getElemIDsOnBlocks()

std::set<dof_id_type> ElementIDInterface::getElemIDsOnBlocks ( unsigned int  elem_id_index,
const std::set< SubdomainID > &  blks 
) const
inlineinherited

Return all the unique element IDs for an extra element integer with its index on a set of subdomains.

Definition at line 129 of file ElementIDInterface.h.

131  {
132  return _id_mesh->getElemIDsOnBlocks(elem_id_index, blks);
133  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

◆ getFEVar()

const MooseVariableFieldBase * Coupleable::getFEVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Deprecated method.

Use getFieldVar instead Extract pointer to a base coupled field variable. Could be either a finite volume or finite element variable

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 263 of file Coupleable.C.

264 {
265  mooseDeprecated("Coupleable::getFEVar is deprecated. Please use Coupleable::getFieldVar instead. "
266  "Note that this method could potentially return a finite volume variable");
267  return getFieldVar(var_name, comp);
268 }
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:313
const MooseVariableFieldBase * getFieldVar(const std::string &var_name, unsigned int comp) const
Definition: Coupleable.C:277

◆ getFEVariableCoupleableMatrixTags() [1/2]

std::set<TagID>& Coupleable::getFEVariableCoupleableMatrixTags ( )
inlineinherited

Definition at line 107 of file Coupleable.h.

107 { return _fe_coupleable_matrix_tags; }
std::set< TagID > _fe_coupleable_matrix_tags
Definition: Coupleable.h:1702

◆ getFEVariableCoupleableMatrixTags() [2/2]

const std::set<TagID>& Coupleable::getFEVariableCoupleableMatrixTags ( ) const
inlineinherited

Definition at line 114 of file Coupleable.h.

115  {
117  }
std::set< TagID > _fe_coupleable_matrix_tags
Definition: Coupleable.h:1702

◆ getFEVariableCoupleableVectorTags() [1/2]

std::set<TagID>& Coupleable::getFEVariableCoupleableVectorTags ( )
inlineinherited

◆ getFEVariableCoupleableVectorTags() [2/2]

const std::set<TagID>& Coupleable::getFEVariableCoupleableVectorTags ( ) const
inlineinherited

Definition at line 109 of file Coupleable.h.

110  {
112  }
std::set< TagID > _fe_coupleable_vector_tags
Definition: Coupleable.h:1700

◆ getFieldVar() [1/2]

const MooseVariableFieldBase * Coupleable::getFieldVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

◆ getFieldVar() [2/2]

MooseVariableFieldBase * Coupleable::getFieldVar ( const std::string &  var_name,
unsigned int  comp 
)
protectedinherited

Definition at line 271 of file Coupleable.C.

272 {
273  return getVarHelper<MooseVariableFieldBase>(var_name, comp);
274 }

◆ getFunction()

const Function & FunctionInterface::getFunction ( const std::string &  name) const
inherited

Get a function with a given name.

Parameters
nameThe name of the parameter key of the function to retrieve
Returns
The function with name associated with the parameter 'name'

Definition at line 30 of file FunctionInterface.C.

Referenced by FunctionDT::FunctionDT(), and Output::Output().

31 {
32  return _fni_feproblem.getFunction(_fni_params.get<FunctionName>(name), _fni_tid);
33 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
const THREAD_ID _fni_tid
Thread ID.
FEProblemBase & _fni_feproblem
Reference to FEProblemBase instance.
const InputParameters & _fni_params
Parameters of the object with this interface.

◆ getFunctionByName()

const Function & FunctionInterface::getFunctionByName ( const FunctionName &  name) const
inherited

◆ getFunctor() [1/4]

template<typename T >
const Moose::Functor< T > & FunctorInterface::getFunctor ( const std::string &  name)
protectedinherited

Retrieves a functor from the subproblem.

This method also leverages the ability to create default functors if the user passed an integer or real in the input file

Parameters
nameThe name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file
Returns
The functor

Definition at line 191 of file FunctorInterface.h.

Referenced by MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl().

192 {
193  mooseAssert(_fi_subproblem, "This must be non-null");
194  return getFunctor<T>(name, *_fi_subproblem, _fi_tid);
195 }
std::string name(const ElemQuality q)
SubProblem *const _fi_subproblem
Pointer to subproblem if the subproblem pointer parameter was set.
const THREAD_ID _fi_tid
Current threaded it.

◆ getFunctor() [2/4]

template<typename T >
const Moose::Functor< T > & FunctorInterface::getFunctor ( const std::string &  name,
THREAD_ID  tid 
)
protectedinherited

Retrieves a functor from the subproblem.

This method also leverages the ability to create default functors if the user passed an integer or real in the input file

Parameters
nameThe name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file
tidThe thread ID used to retrieve the functor from this interface's subproblem
Returns
The functor

Definition at line 183 of file FunctorInterface.h.

184 {
185  mooseAssert(_fi_subproblem, "This must be non-null");
186  return getFunctor<T>(name, *_fi_subproblem, tid);
187 }
std::string name(const ElemQuality q)
SubProblem *const _fi_subproblem
Pointer to subproblem if the subproblem pointer parameter was set.

◆ getFunctor() [3/4]

template<typename T >
const Moose::Functor< T > & FunctorInterface::getFunctor ( const std::string &  name,
SubProblem subproblem 
)
protectedinherited

Retrieves a functor from the passed-in subproblem.

This method also leverages the ability to create default functors if the user passed an integer or real in the input file

Parameters
nameThe name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file
subproblemThe subproblem to query for the functor
Returns
The functor

Definition at line 176 of file FunctorInterface.h.

177 {
178  return getFunctor<T>(name, subproblem, _fi_tid);
179 }
std::string name(const ElemQuality q)
const THREAD_ID _fi_tid
Current threaded it.

◆ getFunctor() [4/4]

template<typename T >
const Moose::Functor< T > & FunctorInterface::getFunctor ( const std::string &  name,
SubProblem subproblem,
THREAD_ID  tid 
)
protectedinherited

Retrieves a functor from the passed-in subproblem.

This method also leverages the ability to create default functors if the user passed an integer or real in the input file

Parameters
nameThe name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file
subproblemThe subproblem to query for the functor
tidThe thread ID used to retrieve the functor from the subproblem
Returns
The functor

Definition at line 167 of file FunctorInterface.h.

168 {
169  // Check if the supplied parameter is a valid input parameter key
170  std::string functor_name = deduceFunctorName(name);
171  return getFunctorByName<T>(functor_name, subproblem, tid);
172 }
static std::string deduceFunctorName(const std::string &name, const InputParameters &params)
Helper to look up a functor name through the input parameter keys.

◆ getGenericMaterialProperty() [1/2]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & Material::getGenericMaterialProperty ( const std::string &  name,
const unsigned int  state = 0 
)

Retrieve the property through a given input parameter key with a fallback to getting it by name.

Definition at line 263 of file Material.h.

Referenced by FunctionMaterialPropertyDescriptor< is_ad >::value().

264 {
265  // Check if the supplied parameter is a valid input parameter key
266  const auto prop_name = getMaterialPropertyName(name);
267 
268  // Check if it's just a constant.
269  if (const auto * default_property = defaultGenericMaterialProperty<T, is_ad>(prop_name))
270  return *default_property;
271 
272  return getGenericMaterialPropertyByName<T, is_ad>(prop_name, state);
273 }
MaterialPropertyName getMaterialPropertyName(const std::string &name) const
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getGenericMaterialProperty() [2/2]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getGenericMaterialProperty ( const std::string &  name,
MaterialData material_data,
const unsigned int  state = 0 
)
inherited

Retrieve the generic property named "name" for the specified material_data at state state.

Definition at line 786 of file MaterialPropertyInterface.h.

789 {
790  // Check if the supplied parameter is a valid input parameter key
791  const auto prop_name = getMaterialPropertyName(name);
792 
793  return getPossiblyConstantGenericMaterialPropertyByName<T, is_ad>(
794  prop_name, material_data, state);
795 }
MaterialPropertyName getMaterialPropertyName(const std::string &name) const

◆ getGenericMaterialPropertyByName() [1/3]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & Material::getGenericMaterialPropertyByName ( const std::string &  name,
const unsigned int  state = 0 
)

Retrieve the property named "name".

Definition at line 277 of file Material.h.

279 {
281  {
282  if (state == 1)
283  return getGenericMaterialPropertyByName<T, is_ad>(prop_name_in + _interpolated_old, 0);
284  if (state == 2)
285  return getGenericMaterialPropertyByName<T, is_ad>(prop_name_in + _interpolated_older, 0);
286  }
287 
289 
290  // The property may not exist yet, so declare it (declare/getMaterialProperty are referencing the
291  // same memory)
292  const auto prop_name =
293  _get_suffix.empty()
294  ? prop_name_in
295  : MooseUtils::join(std::vector<std::string>({prop_name_in, _get_suffix}), "_");
296 
297  if (state == 0)
298  _requested_props.insert(prop_name);
299 
300  // Do this before so that we register the ID first
301  auto & prop =
302  MaterialPropertyInterface::getGenericMaterialPropertyByName<T, is_ad>(prop_name_in, state);
303 
304  registerPropName(prop_name, true, state);
305 
306  return prop;
307 }
static const std::string _interpolated_old
name suffixes for interpolated old and older properties
static const std::string _interpolated_older
std::set< std::string > _requested_props
Set of properties accessed via get method.
Definition: MaterialBase.h:330
void checkExecutionStage()
Check and throw an error if the execution has progressed past the construction stage.
Definition: MaterialBase.C:243
const MaterialPropertyName _get_suffix
const bool _use_interpolated_state
Use the interpolated state set up through the ProjectedStatefulMaterialStorageAction.
void registerPropName(const std::string &prop_name, bool is_get, const unsigned int state)
Small helper function to call store{Subdomain,Boundary}MatPropName.
Definition: MaterialBase.C:155
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ getGenericMaterialPropertyByName() [2/3]

template<typename T , bool is_ad>
const GenericMaterialProperty<T, is_ad>& MaterialPropertyInterface::getGenericMaterialPropertyByName ( const MaterialPropertyName &  name,
const unsigned int  state = 0 
)
inlineinherited

Retrieve reference to material property or its old or older value The name required by this method is the name defined in the input file.

Parameters
nameThe name of the material property to retrieve
stateThe state (current = 0, old = 1, older = 2)
Returns
Reference to the material property with the name 'name'

Definition at line 129 of file MaterialPropertyInterface.h.

130  {
131  return getGenericMaterialPropertyByName<T, is_ad>(name, _material_data, state);
132  }
std::string name(const ElemQuality q)
MaterialData & _material_data
The material data class that stores properties.

◆ getGenericMaterialPropertyByName() [3/3]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getGenericMaterialPropertyByName ( const MaterialPropertyName &  name,
MaterialData material_data,
const unsigned int  state 
)
inherited

Retrieve the generic property named "name" without any deduction for the specified material_data for state state.

Definition at line 799 of file MaterialPropertyInterface.h.

802 {
804  {
805  if (state == 1)
806  return getGenericMaterialPropertyByName<T, is_ad>(
807  name_in + _interpolated_old, material_data, 0);
808  if (state == 2)
809  return getGenericMaterialPropertyByName<T, is_ad>(
810  name_in + _interpolated_older, material_data, 0);
811  }
812 
813  const auto name = _get_suffix.empty()
814  ? static_cast<const std::string &>(name_in)
815  : MooseUtils::join(std::vector<std::string>({name_in, _get_suffix}), "_");
816 
818  checkMaterialProperty(name, state);
819 
820  // mark property as requested
821  markMatPropRequested(name);
822 
823  // Update the boolean flag.
825 
826  // Call first so that the ID gets registered
827  auto & prop = material_data.getProperty<T, is_ad>(name, state, _mi_moose_object);
828 
829  // Does the material data used here matter?
830  _material_property_dependencies.insert(material_data.getPropertyId(name));
831 
832  if (state == 0)
834 
835  return prop;
836 }
std::string name(const ElemQuality q)
static const std::string _interpolated_old
name suffixes for interpolated old and older properties
virtual void checkMaterialProperty(const std::string &name, const unsigned int state)
A helper method for checking material properties This method was required to avoid a compiler problem...
const MooseObjectName _mi_moose_object_name
The "complete" name of the object that this interface belongs for material property output...
static const std::string _interpolated_older
void markMatPropRequested(const std::string &)
A proxy method for _mi_feproblem.markMatPropRequested(name)
const MaterialPropertyName _get_suffix
const bool _use_interpolated_state
Use the interpolated state set up through the ProjectedStatefulMaterialStorageAction.
void addConsumedPropertyName(const MooseObjectName &obj_name, const std::string &prop_name)
bool _get_material_property_called
Initialized to false.
void checkExecutionStage()
Check and throw an error if the execution has progressed past the construction stage.
const MooseObject & _mi_moose_object
The MooseObject creating the MaterialPropertyInterface.
std::unordered_set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ getGenericOptionalMaterialProperty()

template<typename T , bool is_ad>
const GenericOptionalMaterialProperty< T, is_ad > & Material::getGenericOptionalMaterialProperty ( const std::string &  name,
const unsigned int  state = 0 
)

Optional material property getters.

Definition at line 311 of file Material.h.

312 {
313  auto proxy = std::make_unique<OptionalMaterialPropertyProxy<Material, T, is_ad>>(name, state);
314  auto & optional_property = proxy->value();
315  _optional_property_proxies.push_back(std::move(proxy));
316  return optional_property;
317 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
std::vector< std::unique_ptr< OptionalMaterialPropertyProxyBase< Material > > > _optional_property_proxies
optional material properties
Definition: Material.h:258

◆ getGenericZeroMaterialProperty() [1/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialProperty ( const std::string &  name)
inherited

Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material.

Definition at line 413 of file MaterialBase.h.

414 {
415  // Check if the supplied parameter is a valid input parameter key
416  std::string prop_name = name;
417  if (_pars.have_parameter<MaterialPropertyName>(name))
418  prop_name = _pars.get<MaterialPropertyName>(name);
419 
420  return getGenericZeroMaterialPropertyByName<T, is_ad>(prop_name);
421 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getGenericZeroMaterialProperty() [2/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialProperty ( )
inherited

Return a constant zero anonymous material property.

Definition at line 455 of file MaterialBase.h.

456 {
457  // static zero property storage
459 
460  // resize to accomodate maximum number of qpoints
461  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
462  unsigned int nqp = _fe_problem.getMaxQps();
463  if (nqp > zero.size())
464  zero.resize(nqp);
465 
466  // set values for all qpoints to zero
467  for (unsigned int qp = 0; qp < nqp; ++qp)
468  MathUtils::mooseSetToZero(zero[qp]);
469 
470  return zero;
471 }
void mooseSetToZero(T &v)
Helper function templates to set a variable to zero.
Definition: MathUtils.h:368
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
const Number zero
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
static constexpr PropertyValue::id_type zero_property_id
The material property ID for a zero property.
unsigned int getMaxQps() const

◆ getGenericZeroMaterialProperty() [3/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialProperty ( typename T  ,
bool  is_ad 
)

Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material.

Definition at line 413 of file MaterialBase.h.

Referenced by FunctionMaterialPropertyDescriptor< is_ad >::value().

414 {
415  // Check if the supplied parameter is a valid input parameter key
416  std::string prop_name = name;
417  if (_pars.have_parameter<MaterialPropertyName>(name))
418  prop_name = _pars.get<MaterialPropertyName>(name);
419 
420  return getGenericZeroMaterialPropertyByName<T, is_ad>(prop_name);
421 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getGenericZeroMaterialProperty() [4/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialProperty ( typename T  ,
bool  is_ad 
)

Return a constant zero anonymous material property.

Definition at line 455 of file MaterialBase.h.

456 {
457  // static zero property storage
459 
460  // resize to accomodate maximum number of qpoints
461  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
462  unsigned int nqp = _fe_problem.getMaxQps();
463  if (nqp > zero.size())
464  zero.resize(nqp);
465 
466  // set values for all qpoints to zero
467  for (unsigned int qp = 0; qp < nqp; ++qp)
468  MathUtils::mooseSetToZero(zero[qp]);
469 
470  return zero;
471 }
void mooseSetToZero(T &v)
Helper function templates to set a variable to zero.
Definition: MathUtils.h:368
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
const Number zero
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
static constexpr PropertyValue::id_type zero_property_id
The material property ID for a zero property.
unsigned int getMaxQps() const

◆ getGenericZeroMaterialProperty() [5/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getGenericZeroMaterialProperty ( const std::string &  name)
inherited

Return a material property that is initialized to zero by default and does not need to (but can) be declared by another material.

Definition at line 696 of file MaterialPropertyInterface.h.

697 {
698  const auto prop_name = getMaterialPropertyName(name);
699  return getGenericZeroMaterialPropertyByName<T, is_ad>(prop_name);
700 }
MaterialPropertyName getMaterialPropertyName(const std::string &name) const

◆ getGenericZeroMaterialProperty() [6/6]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getGenericZeroMaterialProperty ( )
inherited

Return a constant zero anonymous material property.

Definition at line 715 of file MaterialPropertyInterface.h.

716 {
717  // static zero property storage
719 
720  // resize to accomodate maximum number of qpoints
721  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
722  unsigned int nqp = getMaxQps();
723  if (nqp > zero.size())
724  zero.resize(nqp);
725 
726  // set values for all qpoints to zero
727  for (unsigned int qp = 0; qp < nqp; ++qp)
728  MathUtils::mooseSetToZero(zero[qp]);
729 
730  return zero;
731 }
void mooseSetToZero(T &v)
Helper function templates to set a variable to zero.
Definition: MathUtils.h:368
const Number zero
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
static constexpr PropertyValue::id_type zero_property_id
The material property ID for a zero property.

◆ getGenericZeroMaterialPropertyByName() [1/3]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialPropertyByName ( const std::string &  prop_name)
inherited

Definition at line 425 of file MaterialBase.h.

426 {
428  auto & preload_with_zero = materialData().getProperty<T, is_ad>(prop_name, 0, *this);
429 
430  _requested_props.insert(prop_name);
431  registerPropName(prop_name, true, 0);
433 
434  // Register this material on these blocks and boundaries as a zero property with relaxed
435  // consistency checking
436  for (std::set<SubdomainID>::const_iterator it = blockIDs().begin(); it != blockIDs().end(); ++it)
437  _fe_problem.storeSubdomainZeroMatProp(*it, prop_name);
438  for (std::set<BoundaryID>::const_iterator it = boundaryIDs().begin(); it != boundaryIDs().end();
439  ++it)
440  _fe_problem.storeBoundaryZeroMatProp(*it, prop_name);
441 
442  // set values for all qpoints to zero
443  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
444  unsigned int nqp = _fe_problem.getMaxQps();
445  if (nqp > preload_with_zero.size())
446  preload_with_zero.resize(nqp);
447  for (unsigned int qp = 0; qp < nqp; ++qp)
448  MathUtils::mooseSetToZero(preload_with_zero[qp]);
449 
450  return preload_with_zero;
451 }
void mooseSetToZero(T &v)
Helper function templates to set a variable to zero.
Definition: MathUtils.h:368
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
virtual void storeSubdomainZeroMatProp(SubdomainID block_id, const MaterialPropertyName &name)
Adds to a map based on block ids of material properties for which a zero value can be returned...
Definition: SubProblem.C:561
virtual void storeBoundaryZeroMatProp(BoundaryID boundary_id, const MaterialPropertyName &name)
Adds to a map based on boundary ids of material properties for which a zero value can be returned...
Definition: SubProblem.C:567
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual void markMatPropRequested(const std::string &)
Helper method for adding a material property name to the _material_property_requested set...
Definition: SubProblem.C:682
std::set< std::string > _requested_props
Set of properties accessed via get method.
Definition: MaterialBase.h:330
void checkExecutionStage()
Check and throw an error if the execution has progressed past the construction stage.
Definition: MaterialBase.C:243
GenericMaterialProperty< T, is_ad > & getProperty(const std::string &prop_name, const unsigned int state, const MooseObject &requestor)
Retrieves a material property.
Definition: MaterialData.h:111
void registerPropName(const std::string &prop_name, bool is_get, const unsigned int state)
Small helper function to call store{Subdomain,Boundary}MatPropName.
Definition: MaterialBase.C:155
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
virtual const MaterialData & materialData() const =0
unsigned int getMaxQps() const

◆ getGenericZeroMaterialPropertyByName() [2/3]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialBase::getGenericZeroMaterialPropertyByName ( typename T  ,
bool  is_ad 
)

Definition at line 425 of file MaterialBase.h.

426 {
428  auto & preload_with_zero = materialData().getProperty<T, is_ad>(prop_name, 0, *this);
429 
430  _requested_props.insert(prop_name);
431  registerPropName(prop_name, true, 0);
433 
434  // Register this material on these blocks and boundaries as a zero property with relaxed
435  // consistency checking
436  for (std::set<SubdomainID>::const_iterator it = blockIDs().begin(); it != blockIDs().end(); ++it)
437  _fe_problem.storeSubdomainZeroMatProp(*it, prop_name);
438  for (std::set<BoundaryID>::const_iterator it = boundaryIDs().begin(); it != boundaryIDs().end();
439  ++it)
440  _fe_problem.storeBoundaryZeroMatProp(*it, prop_name);
441 
442  // set values for all qpoints to zero
443  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
444  unsigned int nqp = _fe_problem.getMaxQps();
445  if (nqp > preload_with_zero.size())
446  preload_with_zero.resize(nqp);
447  for (unsigned int qp = 0; qp < nqp; ++qp)
448  MathUtils::mooseSetToZero(preload_with_zero[qp]);
449 
450  return preload_with_zero;
451 }
void mooseSetToZero(T &v)
Helper function templates to set a variable to zero.
Definition: MathUtils.h:368
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
virtual void storeSubdomainZeroMatProp(SubdomainID block_id, const MaterialPropertyName &name)
Adds to a map based on block ids of material properties for which a zero value can be returned...
Definition: SubProblem.C:561
virtual const MaterialData & materialData() const override
Definition: Material.h:224
virtual void storeBoundaryZeroMatProp(BoundaryID boundary_id, const MaterialPropertyName &name)
Adds to a map based on boundary ids of material properties for which a zero value can be returned...
Definition: SubProblem.C:567
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual void markMatPropRequested(const std::string &)
Helper method for adding a material property name to the _material_property_requested set...
Definition: SubProblem.C:682
std::set< std::string > _requested_props
Set of properties accessed via get method.
Definition: MaterialBase.h:330
void checkExecutionStage()
Check and throw an error if the execution has progressed past the construction stage.
Definition: MaterialBase.C:243
GenericMaterialProperty< T, is_ad > & getProperty(const std::string &prop_name, const unsigned int state, const MooseObject &requestor)
Retrieves a material property.
Definition: MaterialData.h:111
void registerPropName(const std::string &prop_name, bool is_get, const unsigned int state)
Small helper function to call store{Subdomain,Boundary}MatPropName.
Definition: MaterialBase.C:155
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
unsigned int getMaxQps() const

◆ getGenericZeroMaterialPropertyByName() [3/3]

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getGenericZeroMaterialPropertyByName ( const std::string &  prop_name)
inherited

Definition at line 704 of file MaterialPropertyInterface.h.

705 {
706  // if found return the requested property
707  if (hasGenericMaterialPropertyByName<T, is_ad>(prop_name))
708  return getGenericMaterialPropertyByName<T, is_ad>(prop_name);
709 
710  return getGenericZeroMaterialProperty<T, is_ad>();
711 }

◆ getMasterSeed()

unsigned int RandomInterface::getMasterSeed ( ) const
inlineinherited

Definition at line 66 of file RandomInterface.h.

66 { return _master_seed; }
unsigned int _master_seed

◆ getMaterial()

MaterialBase& Material::getMaterial ( const std::string &  name)
inline

Retrieve the discrete material with a given parameter key named "name".

Definition at line 154 of file Material.h.

155  {
156  return getMaterialByName(parameters().get<MaterialName>(name));
157  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
MaterialBase & getMaterialByName(const std::string &name, bool no_warn=false, bool no_dep=false)
Retrieve the discrete material named "name".
Definition: Material.C:157
const InputParameters & parameters() const
Get the parameters of the object.

◆ getMaterialByName() [1/2]

MaterialBase & Material::getMaterialByName ( const std::string &  name,
bool  no_warn = false,
bool  no_dep = false 
)

Retrieve the discrete material named "name".

Parameters
no_warnIf true, suppress warning about retrieving the material potentially during its calculation. If you don't know what this is/means, then you don't need it.
no_depUse no_dep = true if no dependency resolution for the material is required. Using no_dep = false is useful for discrete materials.

Definition at line 157 of file Material.C.

Referenced by getMaterial().

158 {
160  mooseError("To ensure dependency resolution, discrete materials must be retrieved during "
161  "initial setup. This is a code problem.");
162 
164 
165  if (!no_dep)
166  {
167  // Insert the materials requested by the discrete material into the host material who
168  // retrieves this discrete material
169  const auto & discrete_requested = discrete_mat.getRequestedItems();
170  _requested_props.insert(discrete_requested.begin(), discrete_requested.end());
171  }
172 
173  return discrete_mat;
174 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
virtual const std::set< std::string > & getRequestedItems() override
Return a set of properties accessed with getMaterialProperty.
Definition: MaterialBase.h:185
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
std::set< std::string > _requested_props
Set of properties accessed via get method.
Definition: MaterialBase.h:330
MaterialBase & getMaterialByName(const std::string &name, bool no_warn=false)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
MaterialBases compute MaterialProperties.
Definition: MaterialBase.h:60
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:28

◆ getMaterialByName() [2/2]

MaterialBase & MaterialPropertyInterface::getMaterialByName ( const std::string &  name,
bool  no_warn = false 
)
inherited

Definition at line 195 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getMaterial(), getMaterialByName(), and MaterialVectorPostprocessor::MaterialVectorPostprocessor().

196 {
197  std::shared_ptr<MaterialBase> discrete =
199 
201  return *discrete;
202 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
const THREAD_ID _mi_tid
Current threaded it.
std::shared_ptr< MaterialBase > getMaterial(std::string name, Moose::MaterialDataType type, const THREAD_ID tid=0, bool no_warn=false)
Return a pointer to a MaterialBase object.
void checkBlockAndBoundaryCompatibility(std::shared_ptr< MaterialBase > discrete)
Check if block and boundary restrictions of a given material are compatible with the current material...
const Moose::MaterialDataType _material_data_type
The type of data.

◆ getMaterialProperty() [1/2]

template<typename T >
const MaterialProperty<T>& Material::getMaterialProperty ( const std::string &  name,
const unsigned int  state = 0 
)
inline

Definition at line 99 of file Material.h.

101  {
102  return getGenericMaterialProperty<T, false>(name, state);
103  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getMaterialProperty() [2/2]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialProperty ( const std::string &  name,
MaterialData material_data,
const unsigned int  state = 0 
)
inlineinherited

Retrieve the property named "name" for the specified material_data.

state is the property state; 0 = current, 1 = old, 2 = older, etc.

Definition at line 349 of file MaterialPropertyInterface.h.

352  {
353  return getGenericMaterialProperty<T, false>(name, material_data, state);
354  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyBlockNames()

std::vector< SubdomainName > MaterialPropertyInterface::getMaterialPropertyBlockNames ( const std::string &  name)
inherited

Retrieve the block names that the material property is defined.

Parameters
nameThe name of the material property
Returns
A vector the the block names for the property

Definition at line 87 of file MaterialPropertyInterface.C.

88 {
90 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual std::vector< SubdomainName > getMaterialPropertyBlockNames(const std::string &prop_name)
Get a vector of block id equivalences that the material property is defined on.
Definition: SubProblem.C:455

◆ getMaterialPropertyBlocks()

std::set< SubdomainID > MaterialPropertyInterface::getMaterialPropertyBlocks ( const std::string &  name)
inherited

Retrieve the block ids that the material property is defined.

Parameters
nameThe name of the material property
Returns
A vector the the block ids for the property

Definition at line 81 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getBlockMaterialProperty().

82 {
84 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual std::set< SubdomainID > getMaterialPropertyBlocks(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition: SubProblem.C:439

◆ getMaterialPropertyBoundaryIDs()

std::set< BoundaryID > MaterialPropertyInterface::getMaterialPropertyBoundaryIDs ( const std::string &  name)
inherited

Retrieve the boundary ids that the material property is defined.

Parameters
nameThe name of the material property
Returns
A vector the the boundary ids for the property

Definition at line 93 of file MaterialPropertyInterface.C.

94 {
96 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual std::set< BoundaryID > getMaterialPropertyBoundaryIDs(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition: SubProblem.C:491

◆ getMaterialPropertyBoundaryNames()

std::vector< BoundaryName > MaterialPropertyInterface::getMaterialPropertyBoundaryNames ( const std::string &  name)
inherited

Retrieve the boundary namess that the material property is defined.

Parameters
nameThe name of the material property
Returns
A vector the the boundary names for the property

Definition at line 99 of file MaterialPropertyInterface.C.

100 {
102 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual std::vector< BoundaryName > getMaterialPropertyBoundaryNames(const std::string &prop_name)
Get a vector of block id equivalences that the material property is defined on.
Definition: SubProblem.C:507

◆ getMaterialPropertyByName() [1/3]

template<typename T >
const MaterialProperty<T>& Material::getMaterialPropertyByName ( const std::string &  prop_name,
const unsigned int  state = 0 
)
inline

Definition at line 129 of file Material.h.

131  {
132  return getGenericMaterialPropertyByName<T, false>(prop_name, state);
133  }

◆ getMaterialPropertyByName() [2/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyByName ( const MaterialPropertyName &  name,
const unsigned int  state = 0 
)
inlineinherited

Definition at line 134 of file MaterialPropertyInterface.h.

136  {
137  return getGenericMaterialPropertyByName<T, false>(name, state);
138  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyByName() [3/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyByName ( const MaterialPropertyName &  name,
MaterialData material_data,
const unsigned int  state = 0 
)
inlineinherited

Retrieve the property named "name" without any deduction for the specified material_data.

state is the property state; 0 = current, 1 = old, 2 = older, etc.

Definition at line 393 of file MaterialPropertyInterface.h.

396  {
397  return getGenericMaterialPropertyByName<T, false>(name, material_data, state);
398  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyCalled()

bool MaterialPropertyInterface::getMaterialPropertyCalled ( ) const
inlineinherited

Returns true if getMaterialProperty() has been called, false otherwise.

Definition at line 320 of file MaterialPropertyInterface.h.

bool _get_material_property_called
Initialized to false.

◆ getMaterialPropertyName()

MaterialPropertyName MaterialPropertyInterface::getMaterialPropertyName ( const std::string &  name) const
protectedinherited
Returns
The name of the material property associated with name name.

If name is the name of a material property parameter and the parameter is valid, this will return the value of said parameter. Otherwise, it will just return the name.

Definition at line 73 of file MaterialPropertyInterface.C.

Referenced by InterfaceMaterial::getGenericMaterialProperty(), getGenericMaterialProperty(), MaterialPropertyInterface::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), MaterialPropertyInterface::getGenericZeroMaterialProperty(), MaterialPropertyInterface::hasADMaterialProperty(), and MaterialPropertyInterface::hasMaterialProperty().

74 {
75  if (_mi_params.have_parameter<MaterialPropertyName>(name) && _mi_params.isParamValid(name))
76  return _mi_params.get<MaterialPropertyName>(name);
77  return name;
78 }
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.
const InputParameters & _mi_params
Parameters of the object with this interface.
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ getMaterialPropertyOld() [1/2]

template<typename T >
const MaterialProperty<T>& Material::getMaterialPropertyOld ( const std::string &  name)
inline

Definition at line 110 of file Material.h.

111  {
112  return getGenericMaterialProperty<T, false>(name, 1);
113  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getMaterialPropertyOld() [2/2]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOld ( const std::string &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the old property deduced from the name name for the specified material_data.

Definition at line 415 of file MaterialPropertyInterface.h.

417  {
418  return getMaterialProperty<T>(name, material_data, 1);
419  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyOldByName() [1/3]

template<typename T >
const MaterialProperty<T>& Material::getMaterialPropertyOldByName ( const std::string &  prop_name)
inline

Definition at line 140 of file Material.h.

141  {
142  return getGenericMaterialPropertyByName<T, false>(prop_name, 1);
143  }

◆ getMaterialPropertyOldByName() [2/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOldByName ( const MaterialPropertyName &  name)
inlineinherited

Definition at line 145 of file MaterialPropertyInterface.h.

146  {
147  return getMaterialPropertyByName<T>(name, 1);
148  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyOldByName() [3/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOldByName ( const MaterialPropertyName &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the old property named name without any deduction for the specified material_data.

Definition at line 437 of file MaterialPropertyInterface.h.

439  {
440  return getMaterialPropertyByName<T>(name, material_data, 1);
441  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyOlder() [1/2]

template<typename T >
const MaterialProperty<T>& Material::getMaterialPropertyOlder ( const std::string &  name)
inline

Definition at line 115 of file Material.h.

116  {
117  return getGenericMaterialProperty<T, false>(name, 2);
118  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getMaterialPropertyOlder() [2/2]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOlder ( const std::string &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the older property deduced from the name name for the specified material_data.

Definition at line 426 of file MaterialPropertyInterface.h.

428  {
429  return getMaterialProperty<T>(name, material_data, 2);
430  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyOlderByName() [1/3]

template<typename T >
const MaterialProperty<T>& Material::getMaterialPropertyOlderByName ( const std::string &  prop_name)
inline

Definition at line 145 of file Material.h.

146  {
147  return getGenericMaterialPropertyByName<T, false>(prop_name, 2);
148  }

◆ getMaterialPropertyOlderByName() [2/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOlderByName ( const MaterialPropertyName &  name)
inlineinherited

Definition at line 150 of file MaterialPropertyInterface.h.

151  {
152  return getMaterialPropertyByName<T>(name, 2);
153  }
std::string name(const ElemQuality q)

◆ getMaterialPropertyOlderByName() [3/3]

template<typename T >
const MaterialProperty<T>& MaterialPropertyInterface::getMaterialPropertyOlderByName ( const MaterialPropertyName &  name,
MaterialData material_data 
)
inlineinherited

Retrieve the older property named name without any deduction for the specified material_data.

Definition at line 448 of file MaterialPropertyInterface.h.

450  {
451  return getMaterialPropertyByName<T>(name, material_data, 2);
452  }
std::string name(const ElemQuality q)

◆ getMatPropDependencies()

virtual const std::unordered_set<unsigned int>& Material::getMatPropDependencies ( ) const
inlineoverridevirtual

Retrieve the set of material properties that this object depends on.

Returns
The IDs corresponding to the material properties that MUST be reinited before evaluating this object

Implements MaterialBase.

Definition at line 203 of file Material.h.

204  {
206  }
const std::unordered_set< unsigned int > & getMatPropDependencies() const
Retrieve the set of material properties that this object depends on.

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

◆ getMooseVariableDependencies()

const std::set<MooseVariableFieldBase *>& MooseVariableDependencyInterface::getMooseVariableDependencies ( ) const
inlineinherited

Retrieve the set of MooseVariableFieldBase that this object depends on.

Returns
The MooseVariableFieldBase that MUST be reinited before evaluating this object

Definition at line 35 of file MooseVariableDependencyInterface.h.

Referenced by ComputeUserObjectsThread::subdomainChanged(), and MooseObjectWarehouseBase< Indicator >::updateVariableDependencyHelper().

36  {
38  }
std::set< MooseVariableFieldBase * > _moose_variable_dependencies

◆ getNearestNodeLocator()

NearestNodeLocator & GeometricSearchInterface::getNearestNodeLocator ( const BoundaryName &  primary,
const BoundaryName &  secondary 
)
inherited

Retrieve the PentrationLocator associated with the two sides.

Definition at line 53 of file GeometricSearchInterface.C.

55 {
57  return _geometric_search_data.getNearestNodeLocator(primary, secondary);
58 }
GeometricSearchData & _geometric_search_data
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
bool _requires_geometric_search
Whether any of this interface&#39;s methods have been called, e.g.

◆ getOptionalADMaterialProperty()

template<typename T >
const OptionalADMaterialProperty<T>& Material::getOptionalADMaterialProperty ( const std::string &  name)
inline

Definition at line 181 of file Material.h.

182  {
183  return getGenericOptionalMaterialProperty<T, true>(name, 0);
184  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getOptionalMaterialProperty()

template<typename T >
const OptionalMaterialProperty<T>& Material::getOptionalMaterialProperty ( const std::string &  name,
const unsigned int  state = 0 
)
inline

Definition at line 175 of file Material.h.

177  {
178  return getGenericOptionalMaterialProperty<T, false>(name, state);
179  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getOptionalMaterialPropertyOld()

template<typename T >
const OptionalMaterialProperty<T>& Material::getOptionalMaterialPropertyOld ( const std::string &  name)
inline

Definition at line 186 of file Material.h.

187  {
188  return getGenericOptionalMaterialProperty<T, false>(name, 1);
189  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getOptionalMaterialPropertyOlder()

template<typename T >
const OptionalMaterialProperty<T>& Material::getOptionalMaterialPropertyOlder ( const std::string &  name)
inline

Definition at line 191 of file Material.h.

192  {
193  return getGenericOptionalMaterialProperty<T, false>(name, 2);
194  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56

◆ getOutputs()

std::set< OutputName > MaterialBase::getOutputs ( )
inherited

Get the list of output objects that this class is restricted.

Returns
A vector of OutputNames

Definition at line 194 of file MaterialBase.C.

195 {
196  const std::vector<OutputName> & out = getParam<std::vector<OutputName>>("outputs");
197  return std::set<OutputName>(out.begin(), out.end());
198 }
OStreamProxy out

◆ getParam() [1/2]

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

Retrieve a parameter for the object.

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

Definition at line 210 of file MooseBaseParameterInterface.h.

Referenced by CreateDisplacedProblemAction::act(), AddPeriodicBCAction::act(), ADNodalKernel::ADNodalKernel(), ArrayParsedAux::ArrayParsedAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), PiecewiseTabularBase::buildFromJSON(), PhysicsBase::checkVectorParamsNoOverlap(), PhysicsBase::checkVectorParamsSameLength(), FEProblemBase::createTagSolutions(), AccumulateReporter::declareLateValues(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FVInterfaceKernel::FVInterfaceKernel(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), GeneratedMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), BlockDeletionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedGenerateSideset::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), MooseApp::getCheckpointDirectories(), ExecutorInterface::getExecutor(), GhostingUserObject::GhostingUserObject(), TimeSequenceStepper::init(), IterationAdaptiveDT::init(), AdvancedOutput::init(), AttribThread::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), NestedDivision::NestedDivision(), ConsoleUtils::outputExecutionInformation(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseConstantByBlockMaterialTempl< is_ad >::PiecewiseConstantByBlockMaterialTempl(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorOfPostprocessors::VectorOfPostprocessors().

211 {
212  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
213 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseObject *moose_object=nullptr)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getParam() [2/2]

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

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

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

Definition at line 267 of file MooseBaseParameterInterface.h.

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

◆ getPenetrationLocator()

PenetrationLocator & GeometricSearchInterface::getPenetrationLocator ( const BoundaryName &  primary,
const BoundaryName &  secondary,
Order  order 
)
inherited

Retrieve the PentrationLocator associated with the two sides.

Definition at line 35 of file GeometricSearchInterface.C.

38 {
40  return _geometric_search_data.getPenetrationLocator(primary, secondary, order);
41 }
GeometricSearchData & _geometric_search_data
bool _requires_geometric_search
Whether any of this interface&#39;s methods have been called, e.g.
PenetrationLocator & getPenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, Order order=FIRST)

◆ getPossiblyConstantGenericMaterialPropertyByName()

template<typename T , bool is_ad>
const GenericMaterialProperty< T, is_ad > & MaterialPropertyInterface::getPossiblyConstantGenericMaterialPropertyByName ( const MaterialPropertyName &  prop_name,
MaterialData material_data,
const unsigned int  state 
)
inherited

Retrieve the generic property named "prop_name" without any deduction for the specified material_data for state state.

This API allows the prop_name to be a constant, e.g. it allows the possibility that prop_name is not a name at all

Definition at line 766 of file MaterialPropertyInterface.h.

768 {
769  // Check if it's just a constant
770  if (const auto * default_property = defaultGenericMaterialProperty<T, is_ad>(prop_name))
771  return *default_property;
772 
773  if (state > 0 && !_stateful_allowed)
774  mooseError("Stateful material properties not allowed for this object."
775  " State ",
776  state,
777  " property for \"",
778  prop_name,
779  "\" was requested.");
780 
781  return this->getGenericMaterialPropertyByName<T, is_ad>(prop_name, material_data, state);
782 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool _stateful_allowed
True by default.

◆ getPostprocessorName()

const PostprocessorName & PostprocessorInterface::getPostprocessorName ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

Get the name of a postprocessor.

This can only be used if the postprocessor parameter does not have a default value set (see isDefaultPostprocessorValue()), in which case the "name" is actually the default value.

Parameters
param_nameThe name of the Postprocessor parameter
indexThe index of the Postprocessor
Returns
The name of the given Postprocessor

Definition at line 185 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

187 {
188  return getPostprocessorNameInternal(param_name, index, /* allow_default_value = */ false);
189 }
const PostprocessorName & getPostprocessorNameInternal(const std::string &param_name, const unsigned int index, const bool allow_default_value=true) const
Internal method for getting the PostprocessorName associated with a paremeter.

◆ getPostprocessorValue()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValue ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

doco-normal-methods-begin Retrieve the value of a Postprocessor or one of it's old or older values

Parameters
param_nameThe name of the Postprocessor parameter (see below)
indexThe index of the Postprocessor
Returns
A reference to the desired value

The name required by this method is the name that is hard-coded into your source code. For example, if you have a Kernel that requires a Postprocessor you may have an input file with "pp = my_pp", this function requires the "pp" name as input (see .../moose_test/functions/PostprocessorFunction.C)

see getPostprocessorValueByName getPostprocessorValueOldByName getPostprocessorValueOlderByName

Definition at line 36 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel(), FunctionValuePostprocessor::FunctionValuePostprocessor(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), ParsedPostprocessor::ParsedPostprocessor(), and PicardSolve::PicardSolve().

38 {
39  return getPostprocessorValueInternal(param_name, index, /* t_index = */ 0);
40 }
const PostprocessorValue & getPostprocessorValueInternal(const std::string &param_name, unsigned int index, std::size_t t_index) const
Internal methods for getting Postprocessor values.

◆ getPostprocessorValueByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueByName ( const PostprocessorName &  name) const
virtualinherited

Retrieve the value of the Postprocessor.

Parameters
namePostprocessor name (see below)
Returns
A reference to the desired value

The name required by this method is the name defined in the input file. For example, if you have a Kernel that requires a Postprocessor you may have an input file with "pp = my_pp", this method requires the "my_pp" name as input (see .../moose_test/functions/PostprocessorFunction.C)

see getPostprocessorValue getPostprocessorValueOld getPostprocessorValueOlder

Definition at line 57 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel(), PIDTransientControl::execute(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), ParsedODEKernel::ParsedODEKernel(), SecantSolve::savePostprocessorValues(), SteffensenSolve::savePostprocessorValues(), PicardSolve::savePostprocessorValues(), Terminator::Terminator(), SteffensenSolve::transformPostprocessors(), SecantSolve::transformPostprocessors(), PicardSolve::transformPostprocessors(), and VectorOfPostprocessors::VectorOfPostprocessors().

58 {
59  return getPostprocessorValueByNameInternal(name, /* t_index = */ 0);
60 }
const PostprocessorValue & getPostprocessorValueByNameInternal(const PostprocessorName &name, std::size_t t_index) const

◆ getPostprocessorValueOld()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOld ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

Definition at line 43 of file PostprocessorInterface.C.

45 {
46  return getPostprocessorValueInternal(param_name, index, /* t_index = */ 1);
47 }
const PostprocessorValue & getPostprocessorValueInternal(const std::string &param_name, unsigned int index, std::size_t t_index) const
Internal methods for getting Postprocessor values.

◆ getPostprocessorValueOldByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOldByName ( const PostprocessorName &  name) const
inherited

Definition at line 63 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

64 {
65  return getPostprocessorValueByNameInternal(name, /* t_index = */ 1);
66 }
const PostprocessorValue & getPostprocessorValueByNameInternal(const PostprocessorName &name, std::size_t t_index) const

◆ getPostprocessorValueOlder()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlder ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

Definition at line 50 of file PostprocessorInterface.C.

52 {
53  return getPostprocessorValueInternal(param_name, index, /* t_index = */ 2);
54 }
const PostprocessorValue & getPostprocessorValueInternal(const std::string &param_name, unsigned int index, std::size_t t_index) const
Internal methods for getting Postprocessor values.

◆ getPostprocessorValueOlderByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlderByName ( const PostprocessorName &  name) const
inherited

Definition at line 69 of file PostprocessorInterface.C.

70 {
71  return getPostprocessorValueByNameInternal(name, /* t_index = */ 2);
72 }
const PostprocessorValue & getPostprocessorValueByNameInternal(const PostprocessorName &name, std::size_t t_index) const

◆ getQuadratureNearestNodeLocator()

NearestNodeLocator & GeometricSearchInterface::getQuadratureNearestNodeLocator ( const BoundaryName &  primary,
const BoundaryName &  secondary 
)
inherited

Retrieve a Quadrature NearestNodeLocator associated with the two sides.

A "Quadrature" version means that it's going to find the nearest nodes to each quadrature point on this boundary

Definition at line 61 of file GeometricSearchInterface.C.

63 {
66 }
GeometricSearchData & _geometric_search_data
bool _requires_geometric_search
Whether any of this interface&#39;s methods have been called, e.g.
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)

◆ getQuadraturePenetrationLocator()

PenetrationLocator & GeometricSearchInterface::getQuadraturePenetrationLocator ( const BoundaryName &  primary,
const BoundaryName &  secondary,
Order  order 
)
inherited

Retrieve the Quadrature PentrationLocator associated with the two sides.

A "Quadrature" version means that it's going to find the penetration each quadrature point on this boundary

Definition at line 44 of file GeometricSearchInterface.C.

47 {
49  return _geometric_search_data.getQuadraturePenetrationLocator(primary, secondary, order);
50 }
GeometricSearchData & _geometric_search_data
bool _requires_geometric_search
Whether any of this interface&#39;s methods have been called, e.g.
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, Order order=FIRST)

◆ getRandomLong()

unsigned long RandomInterface::getRandomLong ( ) const
inherited

Returns the next random number (long) from the generator tied to this object (elem/node).

Definition at line 69 of file RandomInterface.C.

70 {
71  mooseAssert(_generator, "Random Generator is NULL, did you call setRandomResetFrequency()?");
72 
73  dof_id_type id;
74  if (_is_nodal)
75  id = _curr_node->id();
76  else
77  id = _curr_element->id();
78 
79  return _generator->randl(id);
80 }
static uint32_t randl()
This method returns the next random number (long format) from the generator.
Definition: MooseRandom.h:70
const Node *const & _curr_node
const Elem *const & _curr_element
MooseRandom * _generator
uint8_t dof_id_type

◆ getRandomReal()

Real RandomInterface::getRandomReal ( ) const
inherited

Returns the next random number (Real) from the generator tied to this object (elem/node).

Definition at line 83 of file RandomInterface.C.

84 {
85  mooseAssert(_generator, "Random Generator is NULL, did you call setRandomResetFrequency()?");
86 
87  dof_id_type id;
88  if (_is_nodal)
89  id = _curr_node->id();
90  else
91  id = _curr_element->id();
92 
93  return _generator->rand(id);
94 }
const Node *const & _curr_node
const Elem *const & _curr_element
static Real rand()
This method returns the next random number (Real format) from the generator.
Definition: MooseRandom.h:49
MooseRandom * _generator
uint8_t dof_id_type

◆ getRenamedParam()

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

Retrieve a renamed parameter for the object.

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

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

Definition at line 217 of file MooseBaseParameterInterface.h.

219 {
220  // this enables having a default on the new parameter but bypassing it with the old one
221  // Most important: accept new parameter
222  if (isParamSetByUser(new_name) && !isParamValid(old_name))
223  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0));
224  // Second most: accept old parameter
225  else if (isParamValid(old_name) && !isParamSetByUser(new_name))
226  return InputParameters::getParamHelper(old_name, _pars, static_cast<T *>(0));
227  // Third most: accept default for new parameter
228  else if (isParamValid(new_name) && !isParamValid(old_name))
229  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0));
230  // Refuse: no default, no value passed
231  else if (!isParamValid(old_name) && !isParamValid(new_name))
232  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
233  "' is being retrieved without being set.\n"
234  "Did you misspell it?");
235  // Refuse: both old and new parameters set by user
236  else
237  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
238  "' may not be provided alongside former parameter '" + old_name + "'");
239 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseObject *moose_object=nullptr)
bool isParamSetByUser(const std::string &nm) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
std::string & blockFullpath()
Get/set a string representing the full HIT parameter path from the input file (e.g.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getRequestedItems()

virtual const std::set<std::string>& MaterialBase::getRequestedItems ( )
inlineoverridevirtualinherited

Return a set of properties accessed with getMaterialProperty.

Returns
A reference to the set of properties with calls to getMaterialProperty

Implements DependencyResolverInterface.

Definition at line 185 of file MaterialBase.h.

Referenced by getMaterialByName().

185 { return _requested_props; }
std::set< std::string > _requested_props
Set of properties accessed via get method.
Definition: MaterialBase.h:330

◆ getResetOnTime()

ExecFlagType RandomInterface::getResetOnTime ( ) const
inlineinherited

Definition at line 68 of file RandomInterface.h.

68 { return _reset_on; }
ExecFlagType _reset_on

◆ getRestartableData()

template<typename T , typename... Args>
const T & Restartable::getRestartableData ( const std::string &  data_name) const
protectedinherited

Declare a piece of data as "restartable" and initialize it Similar to declareRestartableData but returns a const reference to the object.

Forwarded arguments are not allowed in this case because we assume that the object is restarted and we won't need different constructors to initialize it.

NOTE: This returns a const reference! Make sure you store it in a const reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 287 of file Restartable.h.

288 {
289  return declareRestartableDataHelper<T>(data_name, nullptr).get();
290 }

◆ getScalarVar()

const MooseVariableScalar * ScalarCoupleable::getScalarVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Extract pointer to a scalar coupled variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 321 of file ScalarCoupleable.C.

Referenced by ScalarCoupleable::adCoupledScalarDot(), ScalarCoupleable::adCoupledScalarValue(), ScalarCoupleable::coupledMatrixTagScalarValue(), ScalarCoupleable::coupledScalar(), ScalarCoupleable::coupledScalarDot(), ScalarCoupleable::coupledScalarDotDot(), ScalarCoupleable::coupledScalarDotDotDu(), ScalarCoupleable::coupledScalarDotDotOld(), ScalarCoupleable::coupledScalarDotDu(), ScalarCoupleable::coupledScalarDotOld(), ScalarCoupleable::coupledScalarOrder(), ScalarCoupleable::coupledScalarValue(), ScalarCoupleable::coupledScalarValueOld(), ScalarCoupleable::coupledScalarValueOlder(), ScalarCoupleable::coupledVectorTagScalarValue(), and ParsedODEKernel::ParsedODEKernel().

322 {
323  const auto var_name = _sc_parameters.checkForRename(var_name_in);
324 
325  const auto it = _coupled_scalar_vars.find(var_name);
326  if (it != _coupled_scalar_vars.end())
327  {
328  const auto & entry = it->second;
329  if (comp < entry.size())
330  return entry[comp];
331  else
332  mooseError(_sc_name, ": Trying to get a non-existent component of variable '", var_name, "'");
333  }
334  else
335  mooseError(_sc_name, ": Trying to get a non-existent variable '", var_name, "'");
336 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _sc_name
The name of the object this interface is part of.
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
const InputParameters & _sc_parameters
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ getScalarVariableCoupleableMatrixTags()

const std::set<TagID>& ScalarCoupleable::getScalarVariableCoupleableMatrixTags ( ) const
inlineinherited

Definition at line 55 of file ScalarCoupleable.h.

56  {
58  }
std::set< TagID > _sc_coupleable_matrix_tags
The scalar coupleable matrix tags.

◆ getScalarVariableCoupleableVectorTags()

const std::set<TagID>& ScalarCoupleable::getScalarVariableCoupleableVectorTags ( ) const
inlineinherited

Definition at line 50 of file ScalarCoupleable.h.

51  {
53  }
std::set< TagID > _sc_coupleable_vector_tags
The scalar coupleable vector tags.

◆ getScatterVectorPostprocessorValue()

const ScatterVectorPostprocessorValue & VectorPostprocessorInterface::getScatterVectorPostprocessorValue ( const std::string &  param_name,
const std::string &  vector_name 
) const
inherited

Return the scatter value for the post processor.

This is only valid when you expec the vector to be of lenghth "num_procs" In that case - this will return a reference to a value that will be this processor's value from that vector

Parameters
param_nameThe name of the parameter holding the vpp name
vector_nameThe name of the vector
Returns
The reference to the current scatter value

Definition at line 106 of file VectorPostprocessorInterface.C.

108 {
109  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
111  vector_name);
112 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValueByName(const VectorPostprocessorName &name, const std::string &vector_name) const
Return the scatter value for the post processor.

◆ getScatterVectorPostprocessorValueByName()

const ScatterVectorPostprocessorValue & VectorPostprocessorInterface::getScatterVectorPostprocessorValueByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
) const
inherited

Return the scatter value for the post processor.

This is only valid when you expec the vector to be of lenghth "num_procs" In that case - this will return a reference to a value that will be this processor's value from that vector

Parameters
nameThe name of the VectorPostprocessor
vector_nameThe name of the vector
Returns
The reference to the current scatter value

Definition at line 115 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::getScatterVectorPostprocessorValue().

117 {
118  return getVectorPostprocessorContextByNameHelper(name, vector_name).getScatterValue();
119 }
const VectorPostprocessorContext< VectorPostprocessorValue > & getVectorPostprocessorContextByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name) const
Helper for getting the VPP context that handles scatter values.

◆ getScatterVectorPostprocessorValueOld()

const ScatterVectorPostprocessorValue & VectorPostprocessorInterface::getScatterVectorPostprocessorValueOld ( const std::string &  param_name,
const std::string &  vector_name 
) const
inherited

Return the old scatter value for the post processor.

This is only valid when you expec the vector to be of lenghth "num_procs" In that case - this will return a reference to a value that will be this processor's value from that vector

Parameters
param_nameThe name of the parameter holding the vpp name
vector_nameThe name of the vector
Returns
The reference to the old scatter value

Definition at line 122 of file VectorPostprocessorInterface.C.

124 {
125  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
127  vector_name);
128 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValueOldByName(const VectorPostprocessorName &name, const std::string &vector_name) const
Return the old scatter value for the post processor.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.

◆ getScatterVectorPostprocessorValueOldByName()

const ScatterVectorPostprocessorValue & VectorPostprocessorInterface::getScatterVectorPostprocessorValueOldByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
) const
inherited

Return the old scatter value for the post processor.

This is only valid when you expect the vector to be of length "num_procs" In that case - this will return a reference to a value that will be this processor's value from that vector

Parameters
nameThe name of the VectorPostprocessor
vector_nameThe name of the vector
Returns
The reference to the old scatter value

Definition at line 131 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::getScatterVectorPostprocessorValueOld().

133 {
134  return getVectorPostprocessorContextByNameHelper(name, vector_name).getScatterValueOld();
135 }
const VectorPostprocessorContext< VectorPostprocessorValue > & getVectorPostprocessorContextByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name) const
Helper for getting the VPP context that handles scatter values.

◆ getSeed()

unsigned int RandomInterface::getSeed ( std::size_t  id)
inherited

Get the seed for the passed in elem/node id.

Parameters
id- dof object id
Returns
current seed for this id

Definition at line 61 of file RandomInterface.C.

62 {
63  mooseAssert(_random_data, "RandomData object is NULL!");
64 
65  return _random_data->getSeed(id);
66 }
RandomData * _random_data
unsigned int getSeed(dof_id_type id)
Get the seed for the passed in elem/node id.
Definition: RandomData.C:40

◆ getSuppliedItems()

virtual const std::set<std::string>& MaterialBase::getSuppliedItems ( )
inlineoverridevirtualinherited

Return a set of properties accessed with declareProperty.

Returns
A reference to the set of properties with calls to declareProperty

Implements DependencyResolverInterface.

Definition at line 191 of file MaterialBase.h.

191 { return _supplied_props; }
std::set< std::string > _supplied_props
Set of properties declared.
Definition: MaterialBase.h:333

◆ getSuppliedPropIDs()

const std::set<unsigned int>& MaterialBase::getSuppliedPropIDs ( )
inlineinherited

Get the prop ids corresponding to declareProperty.

Returns
A reference to the set of properties with calls to declareProperty

Definition at line 197 of file MaterialBase.h.

197 { return _supplied_prop_ids; }
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342

◆ getUserObject()

template<class T >
const T & UserObjectInterface::getUserObject ( const std::string &  param_name,
bool  is_dependency = true 
) const
inherited

Get an user object with a given parameter param_name.

Parameters
param_nameThe name of the parameter key of the user object to retrieve
is_dependencyWhether the user object we are retrieving should be viewed as a dependency, e.g. whether the retrieved user object should be sorted and executed before this object (if we are a user object)
Returns
The user object with name associated with the parameter param_name

Definition at line 160 of file UserObjectInterface.h.

161 {
162  return castUserObject<T>(getUserObjectBase(param_name, is_dependency), param_name);
163 }
const UserObject & getUserObjectBase(const std::string &param_name, bool is_dependency=true) const
Get an user object with a given parameter param_name.

◆ getUserObjectBase()

const UserObject & UserObjectInterface::getUserObjectBase ( const std::string &  param_name,
bool  is_dependency = true 
) const
inherited

Get an user object with a given parameter param_name.

Parameters
param_nameThe name of the parameter key of the user object to retrieve
is_dependencyWhether the user object we are retrieving should be viewed as a dependency, e.g. whether the retrieved user object should be sorted and executed before this object (if we are a user object)
Returns
The user object with name associated with the parameter param_name

Definition at line 79 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObject().

81 {
82  const auto object_name = getUserObjectName(param_name);
83  if (!hasUserObjectByName(object_name))
85  param_name, "The requested UserObject with the name \"", object_name, "\" was not found.");
86 
87  return getUserObjectBaseByName(object_name, is_dependency);
88 }
UserObjectName getUserObjectName(const std::string &param_name) const
const MooseObject & _uoi_moose_object
Moose object using the interface.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
const UserObject & getUserObjectBaseByName(const UserObjectName &object_name, bool is_dependency=true) const
Get an user object with the name object_name.
bool hasUserObjectByName(const UserObjectName &object_name) const

◆ getUserObjectBaseByName()

const UserObject & UserObjectInterface::getUserObjectBaseByName ( const UserObjectName &  object_name,
bool  is_dependency = true 
) const
inherited

Get an user object with the name object_name.

Parameters
object_nameThe name of the user object to retrieve
is_dependencyWhether the user object we are retrieving should be viewed as a dependency, e.g. whether the retrieved user object should be sorted and executed before this object (if we are a user object)
Returns
The user object with the name object_name

Definition at line 91 of file UserObjectInterface.C.

Referenced by UserObject::getDependObjects(), UserObjectInterface::getUserObjectBase(), and UserObjectInterface::getUserObjectByName().

93 {
94  if (!hasUserObjectByName(object_name))
96  "The requested UserObject with the name \"", object_name, "\" was not found.");
97 
98  const auto & uo_base_tid0 = _uoi_feproblem.getUserObjectBase(object_name, /* tid = */ 0);
99  if (is_dependency)
100  addUserObjectDependencyHelper(uo_base_tid0);
101 
102  const THREAD_ID tid = uo_base_tid0.needThreadedCopy() ? _uoi_tid : 0;
103  return _uoi_feproblem.getUserObjectBase(object_name, tid);
104 }
const MooseObject & _uoi_moose_object
Moose object using the interface.
const FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
const THREAD_ID _uoi_tid
Thread ID.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.
virtual void addUserObjectDependencyHelper(const UserObject &) const
Helper for deriving classes to override to add dependencies when a UserObject is requested.
bool hasUserObjectByName(const UserObjectName &object_name) const
unsigned int THREAD_ID
Definition: MooseTypes.h:198

◆ getUserObjectByName()

template<class T >
const T & UserObjectInterface::getUserObjectByName ( const UserObjectName &  object_name,
bool  is_dependency = true 
) const
inherited

Get an user object with the name object_name.

Parameters
object_nameThe name of the user object to retrieve
is_dependencyWhether the user object we are retrieving should be viewed as a dependency, e.g. whether the retrieved user object should be sorted and executed before this object (if we are a user object)
Returns
The user object with the name object_name

Definition at line 167 of file UserObjectInterface.h.

169 {
170  return castUserObject<T>(getUserObjectBaseByName(object_name, is_dependency));
171 }
const UserObject & getUserObjectBaseByName(const UserObjectName &object_name, bool is_dependency=true) const
Get an user object with the name object_name.

◆ getUserObjectName()

UserObjectName UserObjectInterface::getUserObjectName ( const std::string &  param_name) const
inherited
Returns
The name of the user object associated with the parameter param_name

Definition at line 34 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObjectBase(), and UserObjectInterface::hasUserObject().

35 {
36  const auto & params = _uoi_moose_object.parameters();
37 
38  if (!params.isParamValid(param_name))
39  _uoi_moose_object.mooseError("Failed to get a parameter with the name \"",
40  param_name,
41  "\" when getting a UserObjectName.",
42  "\n\nKnown parameters:\n",
44 
45  // Other interfaces will use this interface (PostprocessorInterface, VectorPostprocessorInterface)
46  // to grab UOs with a specialized name, so we need to check them all
47  UserObjectName name;
48  if (params.isType<UserObjectName>(param_name))
49  name = params.get<UserObjectName>(param_name);
50  else if (params.isType<PostprocessorName>(param_name))
51  name = params.get<PostprocessorName>(param_name);
52  else if (params.isType<VectorPostprocessorName>(param_name))
53  name = params.get<VectorPostprocessorName>(param_name);
54  else if (params.isType<std::string>(param_name))
55  name = params.get<std::string>(param_name);
56  else
58  param_name,
59  "Parameter of type \"",
60  params.type(param_name),
61  "\" is not an expected type for getting the name of a UserObject.");
62 
63  return name;
64 }
std::string name(const ElemQuality q)
const MooseObject & _uoi_moose_object
Moose object using the interface.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.

◆ getVar() [1/2]

MooseVariable * Coupleable::getVar ( const std::string &  var_name,
unsigned int  comp 
)
protectedinherited

Extract pointer to a coupled variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 283 of file Coupleable.C.

Referenced by Coupleable::coupledDofValuesOld(), Coupleable::coupledDofValuesOlder(), Coupleable::coupledDot(), Coupleable::coupledDotDot(), Coupleable::coupledDotDotDu(), Coupleable::coupledDotDotOld(), Coupleable::coupledDotDu(), Coupleable::coupledDotOld(), Coupleable::coupledGradientDot(), Coupleable::coupledGradientDotDot(), Coupleable::coupledGradientOld(), Coupleable::coupledGradientOlder(), Coupleable::coupledGradientPreviousNL(), NeighborCoupleable::coupledNeighborDofValues(), NeighborCoupleable::coupledNeighborDofValuesOld(), NeighborCoupleable::coupledNeighborDofValuesOlder(), NeighborCoupleable::coupledNeighborGradientOld(), NeighborCoupleable::coupledNeighborGradientOlder(), NeighborCoupleable::coupledNeighborSecond(), NeighborCoupleable::coupledNeighborValueDot(), NeighborCoupleable::coupledNeighborValueDotDu(), NeighborCoupleable::coupledNeighborValueOld(), NeighborCoupleable::coupledNeighborValueOlder(), Coupleable::coupledNodalDotDot(), Coupleable::coupledNodalDotDotOld(), Coupleable::coupledNodalDotOld(), Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledSecondOlder(), Coupleable::coupledSecondPreviousNL(), Coupleable::coupledValueLower(), Coupleable::coupledValueOld(), Coupleable::coupledValueOlder(), Coupleable::coupledValuePreviousNL(), Coupleable::coupledVectorTagGradient(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), and Coupleable::writableCoupledValue().

284 {
285  return const_cast<MooseVariable *>(getVarHelper<MooseVariable>(var_name, comp));
286 }
Class for stuff related to variables.
Definition: Adaptivity.h:31

◆ getVar() [2/2]

const MooseVariable * Coupleable::getVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Extract pointer to a coupled variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 307 of file Coupleable.C.

308 {
309  return getVarHelper<MooseVariable>(var_name, comp);
310 }

◆ getVarHelper() [1/2]

template<typename T >
const T * Coupleable::getVarHelper ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Helper that that be used to retrieve a variable of arbitrary type T.

Definition at line 1773 of file Coupleable.h.

1774 {
1775  return const_cast<Coupleable *>(this)->getVarHelper<T>(var_name, comp);
1776 }
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:44

◆ getVarHelper() [2/2]

template<typename T >
T * Coupleable::getVarHelper ( const std::string &  var_name,
unsigned int  comp 
)
protectedinherited

Helper that can be used to retrieve a variable of arbitrary type T.

Definition at line 1719 of file Coupleable.h.

1720 {
1721  const auto var_name = _c_parameters.checkForRename(var_name_in);
1722  auto name_to_use = var_name;
1723 
1724  // First check for supplied name
1725  if (!checkVar(var_name, comp, 0))
1726  {
1727  // See if there is an associated deprecated name that the user may have used instead
1728  auto it = _new_to_deprecated_coupled_vars.find(var_name);
1729  if (it == _new_to_deprecated_coupled_vars.end())
1730  return nullptr;
1731  else
1732  {
1733  auto deprecated_name = it->second;
1734  if (checkVar(deprecated_name, comp, 0))
1735  name_to_use = deprecated_name;
1736  else
1737  return nullptr;
1738  }
1739  }
1740 
1741  auto coupled_vars_it = _coupled_vars.find(name_to_use);
1742 
1743  mooseAssert(coupled_vars_it != _coupled_vars.end(),
1744  "Trying to get a coupled var " << name_to_use << " that doesn't exist");
1745 
1746  if (auto coupled_var = dynamic_cast<T *>(coupled_vars_it->second[comp]))
1747  return coupled_var;
1748  else
1749  {
1750  for (auto & var : _coupled_standard_moose_vars)
1751  if (var->name() == name_to_use)
1752  mooseError("The named variable is a standard variable, try a "
1753  "'coupled[Value/Gradient/Dot/etc]...' function instead");
1754  for (auto & var : _coupled_vector_moose_vars)
1755  if (var->name() == name_to_use)
1756  mooseError("The named variable is a vector variable, try a "
1757  "'coupledVector[Value/Gradient/Dot/etc]...' function instead");
1758  for (auto & var : _coupled_array_moose_vars)
1759  if (var->name() == name_to_use)
1760  mooseError("The named variable is an array variable, try a "
1761  "'coupledArray[Value/Gradient/Dot/etc]...' function instead");
1762  for (auto & var : _coupled_standard_fv_moose_vars)
1763  if (var->name() == name_to_use)
1764  mooseError("The named variable is a finite volume variable, which the coupled[...] routine "
1765  "used does not support. Try using the functor system routines instead.");
1766  mooseError(
1767  "Variable '", name_to_use, "' is of a different C++ type than you tried to fetch it as.");
1768  }
1769 }
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:1324
std::vector< MooseVariableFV< Real > * > _coupled_standard_fv_moose_vars
Vector of standard finite volume coupled variables.
Definition: Coupleable.h:1339
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
std::vector< ArrayMooseVariable * > _coupled_array_moose_vars
Vector of array coupled variables.
Definition: Coupleable.h:1336
std::vector< MooseVariable * > _coupled_standard_moose_vars
Vector of standard coupled variables.
Definition: Coupleable.h:1330
std::vector< VectorMooseVariable * > _coupled_vector_moose_vars
Vector of vector coupled variables.
Definition: Coupleable.h:1333
bool checkVar(const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const
Check that the right kind of variable is being coupled in.
Definition: Coupleable.C:204
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310
const std::unordered_map< std::string, std::string > & _new_to_deprecated_coupled_vars
map from new to deprecated variable names
Definition: Coupleable.h:1342

◆ getVectorPostprocessorName()

const VectorPostprocessorName & VectorPostprocessorInterface::getVectorPostprocessorName ( const std::string &  param_name) const
inherited

Get the name of a VectorPostprocessor associated with a parameter.

Parameters
param_nameThe name of the VectorPostprocessor parameter
Returns
The name of the given VectorPostprocessor

Definition at line 203 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::getScatterVectorPostprocessorValue(), VectorPostprocessorInterface::getScatterVectorPostprocessorValueOld(), VectorPostprocessorInterface::getVectorPostprocessorValue(), VectorPostprocessorInterface::getVectorPostprocessorValueOld(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::isVectorPostprocessorDistributed(), and VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor().

204 {
205  const auto & params = _vpi_moose_object.parameters();
206 
207  if (!params.isParamValid(param_name))
209  "When getting a VectorPostprocessor, failed to get a parameter with the name \"",
210  param_name,
211  "\".",
212  "\n\nKnown parameters:\n",
214 
215  if (!params.isType<VectorPostprocessorName>(param_name))
217  "Supplied parameter with name \"",
218  param_name,
219  "\" of type \"",
220  params.type(param_name),
221  "\" is not an expected type for getting a VectorPostprocessor.\n\n",
222  "The allowed type is \"VectorPostprocessorName\".");
223 
224  return params.get<VectorPostprocessorName>(param_name);
225 }
const MooseObject & _vpi_moose_object
The MooseObject that uses this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.

◆ getVectorPostprocessorValue() [1/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValue ( const std::string &  param_name,
const std::string &  vector_name 
) const
inherited

DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast.

Retrieve the value of a VectorPostprocessor

Parameters
param_nameThe name of the VectorPostprocessor parameter (see below)
vector_nameThe name of the particular vector you want.
Returns
A reference to the desired value

The name required by this method is the name that is hard-coded into your source code. For example, if you have a Kernel that requires a VectorPostprocessor you may have an input file with "pp = my_pp", this function requires the "pp" name as input (see .../moose_test/functions/VectorPostprocessorFunction.C)

see getVectorPostprocessorValueOld getVectorPostprocessorValueByName getVectorPostprocessorValueOldByName

Definition at line 36 of file VectorPostprocessorInterface.C.

38 {
39  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
40  return getVectorPostprocessorValueByName(getVectorPostprocessorName(param_name), vector_name);
41 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
const VectorPostprocessorValue & getVectorPostprocessorValueByName(const VectorPostprocessorName &name, const std::string &vector_name) const
DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast...

◆ getVectorPostprocessorValue() [2/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValue ( const std::string &  param_name,
const std::string &  vector_name,
bool  needs_broadcast 
) const
inherited

Retrieve the value of a VectorPostprocessor.

Parameters
param_nameThe name of the VectorPostprocessor parameter (see below)
vector_nameThe name of the particular vector you want.
need_broadcastWhether or not this object requires the vector to be replicated in parallel
Returns
A reference to the desired value

The name required by this method is the name that is hard-coded into your source code. For example, if you have a Kernel that requires a VectorPostprocessor you may have an input file with "pp = my_pp", this function requires the "pp" name as input (see .../moose_test/functions/VectorPostprocessorFunction.C)

see getVectorPostprocessorValueOld getVectorPostprocessorValueByName getVectorPostprocessorValueOldByName

Definition at line 66 of file VectorPostprocessorInterface.C.

69 {
70  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
72  getVectorPostprocessorName(param_name), vector_name, needs_broadcast);
73 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
const VectorPostprocessorValue & getVectorPostprocessorValueByName(const VectorPostprocessorName &name, const std::string &vector_name) const
DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast...

◆ getVectorPostprocessorValueByName() [1/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
) const
inherited

DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast.

Retrieve the value of the VectorPostprocessor

Parameters
nameVectorPostprocessor name (see below)
vector_nameThe name of the particular vector you want.
Returns
A reference to the desired value

The name required by this method is the name defined in the input file. For example, if you have a Kernel that requires a VectorPostprocessor you may have an input file with "pp = my_pp", this method requires the "my_pp" name as input (see .../moose_test/functions/VectorPostprocessorFunction.C)

see getVectorPostprocessorValue getVectorPostprocessorValueOldByName getVectorPostprocessorValueByName

Definition at line 44 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::getVectorPostprocessorValue().

46 {
47  return getVectorPostprocessorByNameHelper(name, vector_name, _broadcast_by_default, 0);
48 }
const VectorPostprocessorValue & getVectorPostprocessorByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const
Helper function for extracting VPP data from ReporterData object.
const bool _broadcast_by_default
Whether or not to force broadcasting by default.

◆ getVectorPostprocessorValueByName() [2/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name,
bool  needs_broadcast 
) const
inherited

Retrieve the value of the VectorPostprocessor.

Parameters
nameVectorPostprocessor name (see below)
vector_nameThe name of the particular vector you want.
need_broadcastWhether or not this object requires the vector to be replicated in parallel
Returns
A reference to the desired value

The name required by this method is the name defined in the input file. For example, if you have a Kernel that requires a VectorPostprocessor you may have an input file with "pp = my_pp", this method requires the "my_pp" name as input (see .../moose_test/functions/VectorPostprocessorFunction.C)

see getVectorPostprocessorValue getVectorPostprocessorValueOldByName getVectorPostprocessorValueByName

Definition at line 76 of file VectorPostprocessorInterface.C.

80 {
82  name, vector_name, needs_broadcast || _broadcast_by_default, 0);
83 }
const VectorPostprocessorValue & getVectorPostprocessorByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const
Helper function for extracting VPP data from ReporterData object.
const bool _broadcast_by_default
Whether or not to force broadcasting by default.

◆ getVectorPostprocessorValueOld() [1/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOld ( const std::string &  param_name,
const std::string &  vector_name 
) const
inherited

DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast.

Retrieve the old value of a VectorPostprocessor

Parameters
param_nameThe name of the VectorPostprocessor parameter
vector_nameThe name of the particular vector you want.
Returns
The value of the VectorPostprocessor

see getVectorPostprocessorValue

Definition at line 51 of file VectorPostprocessorInterface.C.

53 {
54  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
56 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
const VectorPostprocessorValue & getVectorPostprocessorValueOldByName(const VectorPostprocessorName &name, const std::string &vector_name) const
DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast...

◆ getVectorPostprocessorValueOld() [2/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOld ( const std::string &  param_name,
const std::string &  vector_name,
bool  needs_broadcast 
) const
inherited

Retrieve the old value of a VectorPostprocessor.

Parameters
param_nameThe name of the VectorPostprocessor parameter
vector_nameThe name of the particular vector you want.
need_broadcastWhether or not this object requires the vector to be replicated in parallel
Returns
The value of the VectorPostprocessor

see getVectorPostprocessorValue

Definition at line 86 of file VectorPostprocessorInterface.C.

89 {
90  possiblyCheckHasVectorPostprocessor(param_name, vector_name);
92  getVectorPostprocessorName(param_name), vector_name, needs_broadcast);
93 }
void possiblyCheckHasVectorPostprocessor(const std::string &param_name, const std::string &vector_name) const
Helpers for "possibly" checking if a vpp exists.
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
const VectorPostprocessorValue & getVectorPostprocessorValueOldByName(const VectorPostprocessorName &name, const std::string &vector_name) const
DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast...

◆ getVectorPostprocessorValueOldByName() [1/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOldByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
) const
inherited

DEPRECATED: Use the new version where you need to specify whether or not the vector must be broadcast.

Retrieve the old value of a VectorPostprocessor

Parameters
nameThe name of the VectorPostprocessor
vector_nameThe name of the particular vector you want.
Returns
The value of the VectorPostprocessor

If within the validParams for the object the addVectorPostprocessorParam was called this method will retun a reference to the default value specified in the call to the addVectorPostprocessorParam function if the postVectorPostprocessor does not exist.

see getVectorPostprocessorValueByName

Definition at line 59 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::getVectorPostprocessorValueOld().

61 {
62  return getVectorPostprocessorByNameHelper(name, vector_name, _broadcast_by_default, 1);
63 }
const VectorPostprocessorValue & getVectorPostprocessorByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const
Helper function for extracting VPP data from ReporterData object.
const bool _broadcast_by_default
Whether or not to force broadcasting by default.

◆ getVectorPostprocessorValueOldByName() [2/2]

const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOldByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name,
bool  needs_broadcast 
) const
inherited

Retrieve the old value of a VectorPostprocessor.

Parameters
nameThe name of the VectorPostprocessor
vector_nameThe name of the particular vector you want.
need_broadcastWhether or not this object requires the vector to be replicated in parallel
Returns
The value of the VectorPostprocessor

If within the validParams for the object the addVectorPostprocessorParam was called this method will retun a reference to the default value specified in the call to the addVectorPostprocessorParam function if the postVectorPostprocessor does not exist.

see getVectorPostprocessorValueByName

Definition at line 96 of file VectorPostprocessorInterface.C.

100 {
102  name, vector_name, needs_broadcast || _broadcast_by_default, 1);
103 }
const VectorPostprocessorValue & getVectorPostprocessorByNameHelper(const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const
Helper function for extracting VPP data from ReporterData object.
const bool _broadcast_by_default
Whether or not to force broadcasting by default.

◆ getVectorVar() [1/2]

VectorMooseVariable * Coupleable::getVectorVar ( const std::string &  var_name,
unsigned int  comp 
)
protectedinherited

Extract pointer to a coupled vector variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 289 of file Coupleable.C.

Referenced by Coupleable::adCoupledVectorDot(), Coupleable::adCoupledVectorGradient(), Coupleable::adCoupledVectorValue(), Coupleable::coupledCurl(), Coupleable::coupledCurlOld(), Coupleable::coupledCurlOlder(), Coupleable::coupledVectorDot(), Coupleable::coupledVectorDotDot(), Coupleable::coupledVectorDotDotDu(), Coupleable::coupledVectorDotDotOld(), Coupleable::coupledVectorDotDu(), Coupleable::coupledVectorDotOld(), Coupleable::coupledVectorGradient(), Coupleable::coupledVectorGradientOld(), Coupleable::coupledVectorGradientOlder(), NeighborCoupleable::coupledVectorNeighborGradient(), NeighborCoupleable::coupledVectorNeighborGradientOld(), NeighborCoupleable::coupledVectorNeighborGradientOlder(), Coupleable::coupledVectorValue(), Coupleable::coupledVectorValueOld(), and Coupleable::coupledVectorValueOlder().

290 {
291  auto * const var =
292  const_cast<VectorMooseVariable *>(getVarHelper<VectorMooseVariable>(var_name, comp));
293 
294  if (_c_nodal && var && var->feType().family != LAGRANGE_VEC)
295  mooseError(_c_name, ": Only LAGRANGE_VEC vector variables are defined at nodes");
296 
297  return var;
298 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
LAGRANGE_VEC
Class for stuff related to variables.
Definition: Adaptivity.h:31
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313

◆ getVectorVar() [2/2]

const VectorMooseVariable * Coupleable::getVectorVar ( const std::string &  var_name,
unsigned int  comp 
) const
protectedinherited

Extract pointer to a coupled vector variable.

Parameters
var_nameName of parameter desired
compComponent number of multiple coupled variables
Returns
Pointer to the desired variable

Definition at line 313 of file Coupleable.C.

314 {
315  const auto * const var = getVarHelper<VectorMooseVariable>(var_name, comp);
316 
317  if (_c_nodal && var && var->feType().family != LAGRANGE_VEC)
318  mooseError(_c_name, ": Only LAGRANGE_VEC vector variables are defined at nodes");
319 
320  return var;
321 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:1345
LAGRANGE_VEC
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313

◆ getWritableCoupledVariables()

auto& Coupleable::getWritableCoupledVariables ( ) const
inlineinherited

returns a reference to the set of writable coupled variables

Definition at line 122 of file Coupleable.h.

Referenced by Coupleable::hasWritableCoupledVariables().

THREAD_ID _c_tid
Thread ID of the thread using this object.
Definition: Coupleable.h:1354
std::vector< std::set< MooseWritableVariable * > > _writable_coupled_variables
keep a set of allocated writable variable references to make sure only one object can obtain them per...
Definition: Coupleable.h:1714

◆ getZeroMaterialProperty() [1/3]

template<typename T , typename... Ts>
const MaterialProperty<T>& MaterialBase::getZeroMaterialProperty ( Ts...  args)
inlineinherited

for backwards compatibility

Definition at line 169 of file MaterialBase.h.

170  {
171  return getGenericZeroMaterialProperty<T, false>(args...);
172  }

◆ getZeroMaterialProperty() [2/3]

template<typename T , typename... Ts>
const MaterialProperty<T>& MaterialBase::getZeroMaterialProperty ( typename T  ,
typename...  Ts 
)
inline

for backwards compatibility

Definition at line 169 of file MaterialBase.h.

170  {
171  return getGenericZeroMaterialProperty<T, false>(args...);
172  }

◆ getZeroMaterialProperty() [3/3]

template<typename T , typename... Ts>
const MaterialProperty<T>& MaterialPropertyInterface::getZeroMaterialProperty ( Ts...  args)
inlineinherited

for backwards compatibility

Definition at line 219 of file MaterialPropertyInterface.h.

220  {
221  return getGenericZeroMaterialProperty<T, false>(args...);
222  }

◆ getZeroMaterialPropertyByName()

template<typename T , typename... Ts>
const MaterialProperty<T>& MaterialBase::getZeroMaterialPropertyByName ( Ts...  args)
inlineinherited

for backwards compatibility

Definition at line 176 of file MaterialBase.h.

177  {
178  return getGenericZeroMaterialPropertyByName<T, false>(args...);
179  }

◆ ghostable()

bool Material::ghostable ( ) const
inlinefinaloverridevirtual

Whether this material supports ghosted computations.

This is important for finite volume calculations in which variables have defined values on ghost cells/elements and for which these ghost values may need to flow through material calculations to be eventually consumed by FV flux kernels or boundary conditions

Reimplemented from MaterialBase.

Definition at line 216 of file Material.h.

216 { return _ghostable; }
bool _ghostable
Whether this material can be computed in a ghosted context.
Definition: Material.h:254

◆ hasADMaterialProperty()

template<typename T >
bool MaterialPropertyInterface::hasADMaterialProperty ( const std::string &  name)
inherited

Definition at line 735 of file MaterialPropertyInterface.h.

736 {
737  // Check if the supplied parameter is a valid input parameter key
738  const auto prop_name = getMaterialPropertyName(name);
739  return hasADMaterialPropertyByName<T>(prop_name);
740 }
MaterialPropertyName getMaterialPropertyName(const std::string &name) const

◆ hasADMaterialPropertyByName()

template<typename T >
bool MaterialPropertyInterface::hasADMaterialPropertyByName ( const std::string &  name)
inherited

Definition at line 744 of file MaterialPropertyInterface.h.

745 {
746  const auto name = _get_suffix.empty()
747  ? name_in
748  : MooseUtils::join(std::vector<std::string>({name_in, _get_suffix}), "_");
750 }
std::string name(const ElemQuality q)
MaterialData & _material_data
The material data class that stores properties.
const MaterialPropertyName _get_suffix
bool haveADProperty(const std::string &prop_name) const
Returns true if the AD material property exists - defined by any material.
Definition: MaterialData.h:96
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ hasBlockMaterialProperty()

template<typename T , bool is_ad>
bool BlockRestrictable::hasBlockMaterialProperty ( const std::string &  prop_name)
inherited

Check if a material property is valid for all blocks of this object.

This method returns true if the supplied property name has been declared in a Material object on the block ids for this object.

Template Parameters
TThe type of material property
Parameters
prop_namethe name of the property to query
Returns
true if the property exists for all block ids of the object, otherwise false
See also
Material::hasBlockMaterialProperty

Definition at line 264 of file BlockRestrictable.h.

265 {
266  mooseAssert(_blk_material_data != NULL, "MaterialData pointer is not defined");
267  return hasBlockMaterialPropertyHelper(prop_name) &&
268  _blk_material_data->haveGenericProperty<T, is_ad>(prop_name);
269 }
bool haveGenericProperty(const std::string &prop_name) const
Definition: MaterialData.h:253
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
virtual bool hasBlockMaterialPropertyHelper(const std::string &prop_name)
A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.

◆ hasBlockMaterialPropertyHelper()

bool BlockRestrictable::hasBlockMaterialPropertyHelper ( const std::string &  prop_name)
protectedvirtualinherited

A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.

It also avoid circular #include problems.

See also
hasBlockMaterialProperty

Definition at line 275 of file BlockRestrictable.C.

Referenced by BlockRestrictable::hasBlockMaterialProperty().

276 {
277 
278  // Reference to MaterialWarehouse for testing and retrieving block ids
280 
281  // Complete set of ids that this object is active
282  const std::set<SubdomainID> & ids = blockRestricted() ? blockIDs() : meshBlockIDs();
283 
284  // Loop over each id for this object
285  for (const auto & id : ids)
286  {
287  // Storage of material properties that have been DECLARED on this id
288  std::set<std::string> declared_props;
289 
290  // If block materials exist, populated the set of properties that were declared
291  if (warehouse.hasActiveBlockObjects(id))
292  {
293  const std::vector<std::shared_ptr<MaterialBase>> & mats = warehouse.getActiveBlockObjects(id);
294  for (const auto & mat : mats)
295  {
296  const std::set<std::string> & mat_props = mat->getSuppliedItems();
297  declared_props.insert(mat_props.begin(), mat_props.end());
298  }
299  }
300 
301  // If the supplied property is not in the list of properties on the current id, return false
302  if (declared_props.find(prop_name) == declared_props.end())
303  return false;
304  }
305 
306  // If you get here the supplied property is defined on all blocks
307  return true;
308 }
bool hasActiveBlockObjects(THREAD_ID tid=0) const
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
MaterialBase objects are special in that they have additional objects created automatically (see FEPr...
const MaterialWarehouse & getMaterialWarehouse() const
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.

◆ hasBlocks() [1/5]

bool BlockRestrictable::hasBlocks ( const SubdomainName &  name) const
inherited

Test if the supplied block name is valid for this object.

Parameters
nameA SubdomainName to check
Returns
True if the given id is valid for this object

Definition at line 205 of file BlockRestrictable.C.

Referenced by DiracKernelBase::addPoint(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), DomainUserObject::checkVariable(), ComputeJacobianThread::compute(), DomainUserObject::DomainUserObject(), ExtraIDIntegralVectorPostprocessor::execute(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), BlockRestrictable::hasBlocks(), MooseVariableField< Real >::hasBlocks(), FVFluxKernel::hasFaceSide(), and PointwiseRenormalizeVector::PointwiseRenormalizeVector().

206 {
207  // Create a vector and utilize the getSubdomainIDs function, which
208  // handles the ANY_BLOCK_ID (getSubdomainID does not)
209  std::vector<SubdomainName> names(1);
210  names[0] = name;
211  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
212 }
std::string name(const ElemQuality q)
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_name) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1519
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.
MooseMesh * _blk_mesh
Pointer to Mesh.

◆ hasBlocks() [2/5]

bool BlockRestrictable::hasBlocks ( const std::vector< SubdomainName > &  names) const
inherited

Test if the supplied vector of block names are valid for this object.

Parameters
namesA vector of SubdomainNames to check
Returns
True if the given ids are valid for this object

Definition at line 215 of file BlockRestrictable.C.

216 {
217  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
218 }
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_name) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1519
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.
MooseMesh * _blk_mesh
Pointer to Mesh.

◆ hasBlocks() [3/5]

bool BlockRestrictable::hasBlocks ( SubdomainID  id) const
inherited

Test if the supplied block ids are valid for this object.

Parameters
idA SubdomainID to check
Returns
True if the given id is valid for this object

Definition at line 221 of file BlockRestrictable.C.

222 {
223  if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
224  return true;
225  else
226  return _blk_ids.find(id) != _blk_ids.end();
227 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)

◆ hasBlocks() [4/5]

bool BlockRestrictable::hasBlocks ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the supplied vector block ids are valid for this object.

Parameters
idsA vector of SubdomainIDs ids to check
Returns
True if all of the given ids are found within the ids for this object

Definition at line 230 of file BlockRestrictable.C.

231 {
232  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
233  return hasBlocks(ids_set);
234 }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasBlocks() [5/5]

bool BlockRestrictable::hasBlocks ( const std::set< SubdomainID > &  ids) const
inherited

Test if the supplied set of block ids are valid for this object.

Parameters
idsA std::set of SubdomainIDs to check
Returns
True if all of the given ids are found within the ids for this object
See also
isSubset

Definition at line 237 of file BlockRestrictable.C.

238 {
239  if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
240  return true;
241  else
242  return std::includes(_blk_ids.begin(), _blk_ids.end(), ids.begin(), ids.end());
243 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)

◆ hasBoundary() [1/5]

bool BoundaryRestrictable::hasBoundary ( const BoundaryName &  name) const
inherited

Test if the supplied boundary name is valid for this object.

Parameters
nameA BoundaryName to check
Returns
True if the given id is valid for this object

Definition at line 210 of file BoundaryRestrictable.C.

Referenced by AuxKernelTempl< Real >::AuxKernelTempl(), BoundaryRestrictable::hasBoundary(), and BoundaryRestrictable::hasBoundaryMaterialPropertyHelper().

211 {
212  // Create a vector and utilize the getBoundaryIDs function, which
213  // handles the ANY_BOUNDARY_ID (getBoundaryID does not)
214  return hasBoundary(_bnd_mesh->getBoundaryIDs({name}));
215 }
MooseMesh * _bnd_mesh
Point to mesh.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
std::vector< BoundaryID > getBoundaryIDs(const Elem *const elem, const unsigned short int side) const
Returns a vector of boundary IDs for the requested element on the requested side. ...
Definition: MooseMesh.C:2719

◆ hasBoundary() [2/5]

bool BoundaryRestrictable::hasBoundary ( const std::vector< BoundaryName > &  names) const
inherited

Test if the supplied vector of boundary names are valid for this object.

Parameters
namesA vector of BoundaryNames to check
Returns
True if the given ids are valid for this object

Definition at line 218 of file BoundaryRestrictable.C.

219 {
220  return hasBoundary(_bnd_mesh->getBoundaryIDs(names));
221 }
MooseMesh * _bnd_mesh
Point to mesh.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
std::vector< BoundaryID > getBoundaryIDs(const Elem *const elem, const unsigned short int side) const
Returns a vector of boundary IDs for the requested element on the requested side. ...
Definition: MooseMesh.C:2719

◆ hasBoundary() [3/5]

bool BoundaryRestrictable::hasBoundary ( const BoundaryID id) const
inherited

Test if the supplied boundary ids are valid for this object.

Parameters
idA BoundaryID to check
Returns
True if the given id is valid for this object

Definition at line 224 of file BoundaryRestrictable.C.

225 {
226  if (_bnd_ids.empty() || _bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
227  return true;
228  else
229  return _bnd_ids.find(id) != _bnd_ids.end();
230 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23

◆ hasBoundary() [4/5]

bool BoundaryRestrictable::hasBoundary ( const std::vector< BoundaryID > &  ids,
TEST_TYPE  type = ALL 
) const
inherited

Test if the supplied vector boundary ids are valid for this object.

Parameters
idsA vector of BoundaryIDs ids to check
typeA flag for the type of matching to perform: ALL requires that all supplied ids must match those of the object; ANY requires that any one of the supplied ids must match those of the object
Returns
True if the all of the given ids are found within the ids for this object

Definition at line 233 of file BoundaryRestrictable.C.

234 {
235  std::set<BoundaryID> ids_set(ids.begin(), ids.end());
236  return hasBoundary(ids_set, type);
237 }
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.

◆ hasBoundary() [5/5]

bool BoundaryRestrictable::hasBoundary ( const std::set< BoundaryID > &  ids,
TEST_TYPE  type = ALL 
) const
inherited

Test if the supplied set of boundary ids are valid for this object.

Parameters
idsA std::set of BoundaryIDs to check
typeA flag for the type of matching to perform: ALL requires that all supplied ids must match those of the object; ANY requires that any one of the supplied ids must match those of the object
Returns
True if the all of the given ids are found within the ids for this object
See also
isSubset

Definition at line 240 of file BoundaryRestrictable.C.

241 {
242  // An empty input is assumed to be ANY_BOUNDARY_ID
243  if (ids.empty() || ids.find(Moose::ANY_BOUNDARY_ID) != ids.end())
244  return true;
245 
246  // All supplied IDs must match those of the object
247  else if (type == ALL)
248  {
249  if (_bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
250  return true;
251  else
252  return std::includes(_bnd_ids.begin(), _bnd_ids.end(), ids.begin(), ids.end());
253  }
254  // Any of the supplied IDs must match those of the object
255  else
256  {
257  // Loop through the supplied ids
258  for (const auto & id : ids)
259  {
260  // Test the current supplied id
261  bool test = hasBoundary(id);
262 
263  // If the id exists in the stored ids, then return true, otherwise
264  if (test)
265  return true;
266  }
267  return false;
268  }
269 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23

◆ hasBoundaryMaterialProperty()

template<typename T , bool is_ad>
bool BoundaryRestrictable::hasBoundaryMaterialProperty ( const std::string &  prop_name) const
inherited

Check if a material property is valid for all boundaries of this object.

This method returns true if the supplied property name has been declared in a Material object on the boundary ids for this object.

Template Parameters
TThe type of material property
Parameters
prop_namethe name of the property to query
Returns
true if the property exists for all boundary ids of the object, otherwise false

Definition at line 233 of file BoundaryRestrictable.h.

234 {
235  // If you get here the supplied property is defined on all boundaries, but is still subject
236  // existence in the MateialData class
237  return hasBoundaryMaterialPropertyHelper(prop_name) &&
238  _bnd_material_data.haveGenericProperty<T, is_ad>(prop_name);
239 }
bool haveGenericProperty(const std::string &prop_name) const
Definition: MaterialData.h:253
bool hasBoundaryMaterialPropertyHelper(const std::string &prop_name) const
A helper method to avoid circular #include problems.
const MaterialData & _bnd_material_data
Pointer to MaterialData for boundary (.

◆ hasBoundaryMaterialPropertyHelper()

bool BoundaryRestrictable::hasBoundaryMaterialPropertyHelper ( const std::string &  prop_name) const
protectedinherited

A helper method to avoid circular #include problems.

See also
hasBoundaryMaterialProperty

Definition at line 301 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::hasBoundaryMaterialProperty().

302 {
303  // Reference to MaterialWarehouse for testing and retrieving boundary ids
305 
306  // Complete set of BoundaryIDs that this object is defined
307  const std::set<BoundaryID> & ids =
309 
310  // Loop over each BoundaryID for this object
311  for (const auto & id : ids)
312  {
313  // Storage of material properties that have been DECLARED on this BoundaryID
314  std::set<std::string> declared_props;
315 
316  // If boundary materials exist, populated the set of properties that were declared
317  if (warehouse.hasActiveBoundaryObjects(id))
318  {
319  const std::vector<std::shared_ptr<MaterialBase>> & mats =
320  warehouse.getActiveBoundaryObjects(id);
321  for (const auto & mat : mats)
322  {
323  const std::set<std::string> & mat_props = mat->getSuppliedItems();
324  declared_props.insert(mat_props.begin(), mat_props.end());
325  }
326  }
327 
328  // If the supplied property is not in the list of properties on the current id, return false
329  if (declared_props.find(prop_name) == declared_props.end())
330  return false;
331  }
332 
333  // If you get here the supplied property is defined on all boundaries
334  return true;
335 }
MaterialBase objects are special in that they have additional objects created automatically (see FEPr...
const MaterialWarehouse & getMaterialWarehouse() const
bool hasActiveBoundaryObjects(THREAD_ID tid=0) const
const std::set< BoundaryID > & meshBoundaryIDs() const
Returns the set of all boundary ids for the entire mesh.
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
FEProblemBase * _bnd_feproblem
Pointer to FEProblemBase.
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23

◆ hasElementID()

bool ElementIDInterface::hasElementID ( const std::string &  id_name) const
inlineinherited

Whether mesh has an element integer with a given name.

Definition at line 82 of file ElementIDInterface.h.

82 { return _id_mesh->hasElementID(id_name); }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ hasFunction()

bool FunctionInterface::hasFunction ( const std::string &  param_name) const
inherited

Determine if the function exists.

Parameters
param_nameThe name of the function parameter
indexThe index of the function
Returns
True if the function exists

Definition at line 42 of file FunctionInterface.C.

43 {
44  return hasFunctionByName(_fni_params.get<FunctionName>(param_name));
45 }
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.
bool hasFunctionByName(const FunctionName &name) const
Determine if the function exists.
const InputParameters & _fni_params
Parameters of the object with this interface.

◆ hasFunctionByName()

bool FunctionInterface::hasFunctionByName ( const FunctionName &  name) const
inherited

Determine if the function exists.

Parameters
nameThe name of the function
Returns
True if the function exists

Definition at line 48 of file FunctionInterface.C.

Referenced by FunctionInterface::hasFunction().

49 {
50  return _fni_feproblem.hasFunction(name, _fni_tid);
51 }
const THREAD_ID _fni_tid
Thread ID.
FEProblemBase & _fni_feproblem
Reference to FEProblemBase instance.
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)

◆ hasGenericMaterialProperty()

template<typename T , bool is_ad>
bool MaterialPropertyInterface::hasGenericMaterialProperty ( const std::string &  name)
inlineinherited

generic hasMaterialProperty helper

Definition at line 293 of file MaterialPropertyInterface.h.

294  {
295  if constexpr (is_ad)
296  return hasADMaterialProperty<T>(name);
297  else
298  return hasMaterialProperty<T>(name);
299  }
std::string name(const ElemQuality q)

◆ hasGenericMaterialPropertyByName()

template<typename T , bool is_ad>
bool MaterialPropertyInterface::hasGenericMaterialPropertyByName ( const std::string &  name)
inlineinherited

Definition at line 301 of file MaterialPropertyInterface.h.

302  {
303  if constexpr (is_ad)
304  return hasADMaterialPropertyByName<T>(name);
305  else
306  return hasMaterialPropertyByName<T>(name);
307  }
std::string name(const ElemQuality q)

◆ hasMaterialProperty()

template<typename T >
bool MaterialPropertyInterface::hasMaterialProperty ( const std::string &  name)
inherited

Check if the material property exists.

Parameters
namethe name of the property to query
Returns
true if the property exists, otherwise false

Definition at line 677 of file MaterialPropertyInterface.h.

678 {
679  // Check if the supplied parameter is a valid input parameter key
680  const auto prop_name = getMaterialPropertyName(name);
681  return hasMaterialPropertyByName<T>(prop_name);
682 }
MaterialPropertyName getMaterialPropertyName(const std::string &name) const

◆ hasMaterialPropertyByName()

template<typename T >
bool MaterialPropertyInterface::hasMaterialPropertyByName ( const std::string &  name)
inherited

Definition at line 686 of file MaterialPropertyInterface.h.

687 {
688  const auto name = _get_suffix.empty()
689  ? name_in
690  : MooseUtils::join(std::vector<std::string>({name_in, _get_suffix}), "_");
691  return _material_data.haveProperty<T>(name);
692 }
std::string name(const ElemQuality q)
bool haveProperty(const std::string &prop_name) const
Returns true if the regular material property exists - defined by any material.
Definition: MaterialData.h:89
MaterialData & _material_data
The material data class that stores properties.
const MaterialPropertyName _get_suffix
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ hasPostprocessor()

bool PostprocessorInterface::hasPostprocessor ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

Determine if the Postprocessor data exists.

Parameters
param_nameThe name of the Postprocessor parameter
indexThe index of the Postprocessor
Returns
True if the Postprocessor exists
See also
hasPostprocessorByName getPostprocessorValue

Definition at line 107 of file PostprocessorInterface.C.

109 {
110  if (!postprocessorsAdded())
112  "Cannot call hasPostprocessor() until all Postprocessors have been constructed.");
113 
114  return hasPostprocessorByName(getPostprocessorNameInternal(param_name, index));
115 }
const PostprocessorName & getPostprocessorNameInternal(const std::string &param_name, const unsigned int index, const bool allow_default_value=true) const
Internal method for getting the PostprocessorName associated with a paremeter.
bool hasPostprocessorByName(const PostprocessorName &name) const
Determine if the Postprocessor data exists.
const MooseObject & _ppi_moose_object
The MooseObject that uses this interface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ hasPostprocessorByName()

bool PostprocessorInterface::hasPostprocessorByName ( const PostprocessorName &  name) const
inherited

Determine if the Postprocessor data exists.

Parameters
nameThe name of the Postprocessor
Returns
True if the Postprocessor exists
See also
hasPostprocessor getPostprocessorValueByName

Definition at line 118 of file PostprocessorInterface.C.

Referenced by PostprocessorInterface::getPostprocessorValueByNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), PostprocessorInterface::hasPostprocessor(), AdvancedOutput::initShowHideLists(), TableOutput::outputReporters(), and Exodus::outputReporters().

119 {
120  if (!postprocessorsAdded())
122  "Cannot call hasPostprocessorByName() until all Postprocessors have been constructed.");
123 
126 }
const FEProblemBase & _ppi_feproblem
Reference the the FEProblemBase class.
const ReporterData & getReporterData() const
Provides const access the ReporterData object.
Real PostprocessorValue
various MOOSE typedefs
Definition: MooseTypes.h:191
const MooseObject & _ppi_moose_object
The MooseObject that uses this interface.
A ReporterName that represents a Postprocessor.
Definition: ReporterName.h:134
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
bool hasReporterValue(const ReporterName &reporter_name) const
Return True if a Reporter value with the given type and name have been created.
Definition: ReporterData.h:436

◆ hasStatefulProperties()

bool MaterialBase::hasStatefulProperties ( ) const
inlineinherited
Returns
Whether this material has stateful properties

Definition at line 228 of file MaterialBase.h.

228 { return _has_stateful_property; }
bool _has_stateful_property
Definition: MaterialBase.h:370

◆ hasUserObject() [1/2]

bool UserObjectInterface::hasUserObject ( const std::string &  param_name) const
inherited
Returns
Whether or not a UserObject exists with the name given by the parameter param_name.

Definition at line 67 of file UserObjectInterface.C.

68 {
69  return hasUserObjectByName(getUserObjectName(param_name));
70 }
UserObjectName getUserObjectName(const std::string &param_name) const
bool hasUserObjectByName(const UserObjectName &object_name) const

◆ hasUserObject() [2/2]

template<class T >
bool UserObjectInterface::hasUserObject ( const std::string &  param_name) const
inherited

Definition at line 175 of file UserObjectInterface.h.

176 {
177  return hasUserObjectByName<T>(getUserObjectName(param_name));
178 }
UserObjectName getUserObjectName(const std::string &param_name) const

◆ hasUserObjectByName() [1/2]

bool UserObjectInterface::hasUserObjectByName ( const UserObjectName &  object_name) const
inherited

Definition at line 73 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::hasUserObject(), and UserObjectInterface::hasUserObjectByName().

74 {
75  return _uoi_feproblem.hasUserObject(object_name);
76 }
bool hasUserObject(const std::string &name) const
Check if there if a user object of given name.
const FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.

◆ hasUserObjectByName() [2/2]

template<class T >
bool UserObjectInterface::hasUserObjectByName ( const UserObjectName &  object_name) const
inherited

Definition at line 182 of file UserObjectInterface.h.

183 {
184  if (!hasUserObjectByName(object_name))
185  return false;
186  return dynamic_cast<const T *>(&_uoi_feproblem.getUserObjectBase(object_name));
187 }
const FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.
bool hasUserObjectByName(const UserObjectName &object_name) const

◆ hasVectorPostprocessor() [1/2]

bool VectorPostprocessorInterface::hasVectorPostprocessor ( const std::string &  param_name,
const std::string &  vector_name 
) const
inherited

Determine if the VectorPostprocessor data exists by parameter.

Parameters
param_nameThe name of the VectorPostprocessor parameter
vector_nameThe vector name within the VectorPostprocessor
Returns
True if the VectorPostprocessor data exists
See also
hasVectorPostprocessorByName getVectorPostprocessorValue

Definition at line 138 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor().

140 {
142  _vpi_feproblem.mooseError("Cannot call hasVectorPostprocessor() until all VectorPostprocessors "
143  "have been constructed.");
144 
145  return hasVectorPostprocessorByName(getVectorPostprocessorName(param_name), vector_name);
146 }
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
bool hasVectorPostprocessorByName(const VectorPostprocessorName &name, const std::string &vector_name) const
Determine if the VectorPostprocessor data exists by name.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const FEProblemBase & _vpi_feproblem
Reference the FEProblemBase class.

◆ hasVectorPostprocessor() [2/2]

bool VectorPostprocessorInterface::hasVectorPostprocessor ( const std::string &  param_name) const
inherited

Determine if the VectorPostprocessor exists by parameter.

Parameters
nameThe name of the VectorPostprocessor parameter
Returns
True if the VectorPostprocessor exists

Definition at line 168 of file VectorPostprocessorInterface.C.

169 {
171  _vpi_feproblem.mooseError("Cannot call hasVectorPostprocessor() until all "
172  "VectorPostprocessors have been constructed.");
173 
175 }
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
bool hasVectorPostprocessorByName(const VectorPostprocessorName &name, const std::string &vector_name) const
Determine if the VectorPostprocessor data exists by name.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const FEProblemBase & _vpi_feproblem
Reference the FEProblemBase class.

◆ hasVectorPostprocessorByName() [1/2]

bool VectorPostprocessorInterface::hasVectorPostprocessorByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
) const
inherited

Determine if the VectorPostprocessor data exists by name.

Parameters
nameThe name of the VectorPostprocessor
vector_nameThe vector name within the VectorPostprocessor
Returns
True if the VectorPostprocessor data exists
See also
hasVectorPostprocessor getVectorPostprocessorValueByName

Definition at line 149 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::hasVectorPostprocessor(), AdvancedOutput::initShowHideLists(), CSV::output(), and VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName().

151 {
153  _vpi_feproblem.mooseError("Cannot call hasVectorPostprocessorByName() until all "
154  "VectorPostprocessors have been constructed.");
155 
157  VectorPostprocessorReporterName(name, vector_name));
158 
159  if (has_vpp)
160  mooseAssert(_vpi_feproblem.hasUserObject(name) && dynamic_cast<const VectorPostprocessor *>(
162  "Has reporter VectorPostprocessor Reporter value but not VectorPostprocessor UO");
163 
164  return has_vpp;
165 }
bool hasUserObject(const std::string &name) const
Check if there if a user object of given name.
A ReporterName that represents a VectorPostprocessor.
Definition: ReporterName.h:143
const ReporterData & getReporterData() const
Provides const access the ReporterData object.
std::vector< Real > VectorPostprocessorValue
Definition: MooseTypes.h:192
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
bool hasReporterValue(const ReporterName &reporter_name) const
Return True if a Reporter value with the given type and name have been created.
Definition: ReporterData.h:436
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.
Base class for Postprocessors that produce a vector of values.
const FEProblemBase & _vpi_feproblem
Reference the FEProblemBase class.

◆ hasVectorPostprocessorByName() [2/2]

bool VectorPostprocessorInterface::hasVectorPostprocessorByName ( const VectorPostprocessorName &  name) const
inherited

Determine if the VectorPostprocessor exists by name.

Parameters
nameThe name of the VectorPostprocessor
Returns
True if the VectorPostprocessor exists

Definition at line 178 of file VectorPostprocessorInterface.C.

180 {
182  _vpi_feproblem.mooseError("Cannot call hasVectorPostprocessorByName() until all "
183  "VectorPostprocessors have been constructed.");
184 
185  return _vpi_feproblem.hasUserObject(name) &&
186  dynamic_cast<const VectorPostprocessor *>(&_vpi_feproblem.getUserObjectBase(name));
187 }
bool hasUserObject(const std::string &name) const
Check if there if a user object of given name.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.
Base class for Postprocessors that produce a vector of values.
const FEProblemBase & _vpi_feproblem
Reference the FEProblemBase class.

◆ hasWritableCoupledVariables()

bool Coupleable::hasWritableCoupledVariables ( ) const
inlineinherited

Checks whether the object has any writable coupled variables.

Definition at line 127 of file Coupleable.h.

127 { return !getWritableCoupledVariables().empty(); }
auto & getWritableCoupledVariables() const
returns a reference to the set of writable coupled variables
Definition: Coupleable.h:122

◆ initializeBlockRestrictable()

void BlockRestrictable::initializeBlockRestrictable ( const MooseObject moose_object)
protectedinherited

An initialization routine needed for dual constructors.

Definition at line 74 of file BlockRestrictable.C.

Referenced by BlockRestrictable::BlockRestrictable().

75 {
76  // If the mesh pointer is not defined, but FEProblemBase is, get it from there
77  if (_blk_feproblem != NULL && _blk_mesh == NULL)
79 
80  // Check that the mesh pointer was defined, it is required for this class to operate
81  if (_blk_mesh == NULL)
82  mooseError("The input parameters must contain a pointer to FEProblem via '_fe_problem' or a "
83  "pointer to the MooseMesh via '_mesh'");
84 
85  // Populate the MaterialData pointer
86  if (_blk_feproblem != NULL)
88 
89  // The 'block' input is defined
90  if (moose_object->isParamValid("block"))
91  {
92  // Extract the blocks from the input
93  _blocks = moose_object->getParam<std::vector<SubdomainName>>("block");
94 
95  // Store the IDs in a set, handling ANY_BLOCK_ID if supplied
96  if (std::find(_blocks.begin(), _blocks.end(), "ANY_BLOCK_ID") != _blocks.end())
98  else
99  {
100  // Get the IDs from the supplied names
102  _blk_ids.insert(_vec_ids.begin(), _vec_ids.end());
103  }
104  }
105 
106  // When 'blocks' is not set and there is a "variable", use the blocks from the variable
107  else if (moose_object->isParamValid("variable"))
108  {
109  std::string variable_name = moose_object->parameters().getMooseType("variable");
110  if (!variable_name.empty())
112  ->getVariable(_blk_tid,
113  variable_name,
116  .activeSubdomains();
117  }
118 
119  // Produce error if the object is not allowed to be both block and boundary restricted
120  if (!_blk_dual_restrictable && !_boundary_ids.empty() && !_boundary_ids.empty())
121  if (!_boundary_ids.empty() && _boundary_ids.find(Moose::ANY_BOUNDARY_ID) == _boundary_ids.end())
122  moose_object->paramError("block",
123  "Attempted to restrict the object '",
124  _blk_name,
125  "' to a block, but the object is already restricted by boundary");
126 
127  // If no blocks were defined above, specify that it is valid on all blocks
128  if (_blk_ids.empty() && !moose_object->isParamValid("boundary"))
129  {
131  _blocks = {"ANY_BLOCK_ID"};
132  }
133 
134  // If this object is block restricted, check that defined blocks exist on the mesh
135  if (_blk_ids.find(Moose::ANY_BLOCK_ID) == _blk_ids.end())
136  {
137  const std::set<SubdomainID> & valid_ids = _blk_mesh->meshSubdomains();
138  std::vector<SubdomainID> diff;
139 
140  std::set_difference(_blk_ids.begin(),
141  _blk_ids.end(),
142  valid_ids.begin(),
143  valid_ids.end(),
144  std::back_inserter(diff));
145 
146  if (!diff.empty())
147  {
148  std::ostringstream msg;
149  auto sep = " ";
150  msg << "the following blocks (ids) do not exist on the mesh:";
151  for (const auto & id : diff)
152  {
153  if (_blk_name.size() > 0)
154  {
155  auto & name =
156  _blocks.at(std::find(_vec_ids.begin(), _vec_ids.end(), id) - _vec_ids.begin());
157  if (std::to_string(id) != name)
158  msg << sep << name << " (" << id << ")";
159  else
160  msg << sep << id;
161  }
162  else
163  msg << sep << id;
164  sep = ", ";
165  }
166  moose_object->paramError("block", msg.str());
167  }
168  }
169 
170  // Get the mesh dimension for the blocks
171  if (blockRestricted())
173  else
175 }
std::string name(const ElemQuality q)
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class...
unsigned int _blk_dim
Largest mesh dimension of the elements in the blocks for this object.
const bool _blk_dual_restrictable
Flag for allowing dual restriction.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
MaterialData & getMaterialData(Moose::MaterialDataType type, const THREAD_ID tid=0)
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
std::vector< SubdomainID > _vec_ids
Vector of block ids supplied by the user via the input file (for error reporting) ...
virtual unsigned int dimension() const
Returns MeshBase::mesh_dimension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh me...
Definition: MooseMesh.C:2678
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
THREAD_ID _blk_tid
Thread id for this object.
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
unsigned int getBlocksMaxDimension(const std::vector< SubdomainName > &blocks) const
Returns the maximum element dimension on the given blocks.
Definition: MooseMesh.C:2699
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
virtual MooseMesh & mesh() override
const std::set< BoundaryID > & _boundary_ids
Reference to the boundary_ids, defaults to an empty set if not provided.
const InputParameters & parameters() const
Get the parameters of the object.
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_name) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1519
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::string & _blk_name
Name of the object.
MooseMesh * _blk_mesh
Pointer to Mesh.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2921

◆ initialSetup()

void SetupInterface::initialSetup ( )
virtualinherited

Gets called at the beginning of the simulation before this object is asked to do its job.

Reimplemented in SolutionUserObject, AdvancedOutput, MooseVariableBase, MultiApp, MooseParsedFunction, MooseParsedGradFunction, DerivativeFunctionMaterialBaseTempl< is_ad >, Transfer, ProjectedStatefulMaterialNodalPatchRecoveryTempl< T, is_ad >, CSV, Exodus, OversampleOutput, Terminator, MultiAppGeneralFieldTransfer, Axisymmetric2D3DSolutionFunction, LibtorchControlValuePostprocessor, MultiAppTransfer, Nemesis, RadialAverage, MooseParsedVectorFunction, ImageFunction, Console, PiecewiseConstantFromCSV, NodalVariableValue, MortarNodalAuxKernelTempl< ComputeValueType >, LibtorchArtificialNeuralNetParameters, TimePeriod, MatDiffusionBase< T >, TransientMultiApp, ElementalVariableValue, GhostingUserObject, InterfaceQpUserObjectBase, MatDiffusionBase< Real >, SolutionAux, MultiAppProjectionTransfer, HistogramVectorPostprocessor, SolutionScalarAux, MultiAppDofCopyTransfer, MultiAppGeneralFieldNearestLocationTransfer, CoarsenedPiecewiseLinear, PiecewiseTabularBase, MatReaction, SideIntegralMaterialPropertyTempl< is_ad >, MultiAppVariableValueSamplePostprocessorTransfer, NodalPatchRecoveryMaterialProperty, ProjectedStatefulMaterialAuxTempl< T, is_ad >, PiecewiseLinear, FullSolveMultiApp, MultiAppFieldTransfer, MultiAppVariableValueSampleTransfer, PiecewiseLinearBase, MultiAppConservativeTransfer, MultiAppCloneReporterTransfer, MultiAppReporterTransfer, ElementSubdomainModifier, and DerivativeSumMaterialTempl< is_ad >.

Definition at line 40 of file SetupInterface.C.

Referenced by ElementalVariableValue::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), and Positions::meshChanged().

41 {
42 }

◆ initQpStatefulProperties()

void MaterialBase::initQpStatefulProperties ( )
protectedvirtualinherited

Initialize stateful properties at quadrature points.

Note when using this function you only need to address the "current" material properties not the old ones directly, i.e. if you have a property named "_diffusivity" and an older property named "_diffusivity_old". You only need to initialize diffusivity. MOOSE will use copy that initial value to the old and older values as necessary.

This is only called if this material has properties that are requested as stateful

Reimplemented in ParsedMaterialHelper< is_ad >, DerivativeParsedMaterialHelperTempl< is_ad >, GenericFunctionMaterialTempl< is_ad >, GenericFunctionVectorMaterialTempl< is_ad >, GenericConstantMaterialTempl< is_ad >, MaterialADConverterTempl< T >, GenericConstantRankTwoTensorTempl< is_ad >, GenericFunctionRankTwoTensorTempl< is_ad >, MaterialFunctorConverterTempl< T >, GenericConstantVectorMaterialTempl< is_ad >, GenericConstant2DArray, and GenericConstantArray.

Definition at line 139 of file MaterialBase.C.

Referenced by MaterialBase::initStatefulProperties().

140 {
142 }
bool _overrides_init_stateful_props
Definition: MaterialBase.h:372

◆ initStatefulProperties()

void MaterialBase::initStatefulProperties ( unsigned int  n_points)
virtualinherited

Initialize stateful properties (if material has some)

This is only called if this material has properties that are requested as stateful

Definition at line 120 of file MaterialBase.C.

121 {
122  for (_qp = 0; _qp < n_points; ++_qp)
124 
125  // checking for statefulness of properties via this loop is necessary
126  // because owned props might have been promoted to stateful by calls to
127  // getMaterialProperty[Old/Older] from other objects. In these cases, this
128  // object won't otherwise know that it owns stateful properties.
129  for (const auto id : _supplied_prop_ids)
130  if (materialData().getMaterialPropertyStorage().getPropRecord(id).stateful() &&
132  mooseWarning(std::string("Material \"") + name() +
133  "\" provides one or more stateful "
134  "properties but initQpStatefulProperties() "
135  "was not overridden in the derived class.");
136 }
virtual void initQpStatefulProperties()
Initialize stateful properties at quadrature points.
Definition: MaterialBase.C:139
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
unsigned int _qp
Definition: MaterialBase.h:318
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342
bool _overrides_init_stateful_props
Definition: MaterialBase.h:372
virtual const MaterialData & materialData() const =0

◆ isBlockSubset() [1/2]

bool BlockRestrictable::isBlockSubset ( const std::set< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::set of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 246 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), BlockRestrictable::isBlockSubset(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), and ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux().

247 {
248  // An empty input is assumed to be ANY_BLOCK_ID
249  if (ids.empty() || ids.find(Moose::ANY_BLOCK_ID) != ids.end())
250  return true;
251 
252  if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
253  return std::includes(ids.begin(),
254  ids.end(),
255  _blk_mesh->meshSubdomains().begin(),
256  _blk_mesh->meshSubdomains().end());
257  else
258  return std::includes(ids.begin(), ids.end(), _blk_ids.begin(), _blk_ids.end());
259 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2921

◆ isBlockSubset() [2/2]

bool BlockRestrictable::isBlockSubset ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::vector of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 262 of file BlockRestrictable.C.

263 {
264  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
265  return isBlockSubset(ids_set);
266 }
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.

◆ isBoundaryMaterial()

virtual bool Material::isBoundaryMaterial ( ) const
inlineoverridevirtual

Returns true of the MaterialData type is not associated with volume data.

Implements MaterialBase.

Definition at line 201 of file Material.h.

201 { return _bnd; }
bool _bnd
Definition: Material.h:229

◆ isBoundarySubset() [1/2]

bool BoundaryRestrictable::isBoundarySubset ( const std::set< BoundaryID > &  ids) const
inherited

Test if the class boundary ids are a subset of the supplied objects.

Parameters
idsA std::set of boundaries to check
Returns
True if all of the boundary ids for this class are found within the given ids (opposite of hasBoundary)
See also
hasBoundary

Definition at line 272 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::isBoundarySubset().

273 {
274  // An empty input is assumed to be ANY_BOUNDARY_ID
275  if (ids.empty() || ids.find(Moose::ANY_BOUNDARY_ID) != ids.end())
276  return true;
277 
278  if (_bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
279  return std::includes(ids.begin(),
280  ids.end(),
281  _bnd_mesh->meshBoundaryIds().begin(),
282  _bnd_mesh->meshBoundaryIds().end());
283  else
284  return std::includes(ids.begin(), ids.end(), _bnd_ids.begin(), _bnd_ids.end());
285 }
MooseMesh * _bnd_mesh
Point to mesh.
const std::set< BoundaryID > & meshBoundaryIds() const
Returns a read-only reference to the set of boundary IDs currently present in the Mesh...
Definition: MooseMesh.C:2927
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23

◆ isBoundarySubset() [2/2]

bool BoundaryRestrictable::isBoundarySubset ( const std::vector< BoundaryID > &  ids) const
inherited

Definition at line 288 of file BoundaryRestrictable.C.

289 {
290  std::set<BoundaryID> ids_set(ids.begin(), ids.end());
291  return isBoundarySubset(ids_set);
292 }
bool isBoundarySubset(const std::set< BoundaryID > &ids) const
Test if the class boundary ids are a subset of the supplied objects.

◆ isCoupled()

bool Coupleable::isCoupled ( const std::string &  var_name,
unsigned int  i = 0 
) const
protectedvirtualinherited

Returns true if a variables has been coupled as name.

Parameters
var_nameThe name the kernel wants to refer to the variable as.
iBy default 0, in general the index to test in a vector of MooseVariable pointers.
Returns
True if a coupled variable has the supplied name

Definition at line 124 of file Coupleable.C.

Referenced by Coupleable::adCoupledNodalValue(), Coupleable::checkVar(), Coupleable::coupledComponents(), and MatDiffusionBase< Real >::MatDiffusionBase().

125 {
126  const auto var_name = _c_parameters.checkForRename(var_name_in);
127 
128  auto it = _coupled_vars.find(var_name);
129  if (it != _coupled_vars.end())
130  return (i < it->second.size());
131  else
132  {
133  // Make sure the user originally requested this value in the InputParameter syntax
134  if (!_c_parameters.hasCoupledValue(var_name))
136  ": The coupled variable \"",
137  var_name,
138  "\" was never added to this object's "
139  "InputParameters, please double-check your "
140  "spelling");
141 
142  return false;
143  }
144 }
bool hasCoupledValue(const std::string &coupling_name) const
Return whether or not the coupled variable exists.
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:1324
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310

◆ isCoupledConstant()

bool Coupleable::isCoupledConstant ( const std::string &  var_name) const
protectedvirtualinherited

Returns true if a variable passed as a coupled value is really a constant.

Parameters
var_nameThe name the kernel wants to refer to the variable as.
Returns
True if the variable is actually a constant

Definition at line 147 of file Coupleable.C.

Referenced by Coupleable::coupledName(), and DerivativeFunctionMaterialBaseTempl< is_ad >::DerivativeFunctionMaterialBaseTempl().

148 {
149  return _c_parameters.hasDefaultCoupledValue(var_name);
150 }
bool hasDefaultCoupledValue(const std::string &coupling_name) const
Return whether or not the requested parameter has a default coupled value.
const InputParameters & _c_parameters
Definition: Coupleable.h:1310

◆ isCoupledScalar()

bool ScalarCoupleable::isCoupledScalar ( const std::string &  var_name,
unsigned int  i = 0 
) const
protectedinherited

Returns true if a variables has been coupled_as name.

Parameters
var_nameThe of the coupled variable
iBy default 0, in general the index to test in a vector of MooseVariable pointers.

Definition at line 70 of file ScalarCoupleable.C.

Referenced by ScalarCoupleable::adCoupledScalarValue(), ScalarCoupleable::coupledMatrixTagScalarValue(), ScalarCoupleable::coupledScalarOrder(), ScalarCoupleable::coupledScalarValue(), ScalarCoupleable::coupledScalarValueOld(), ScalarCoupleable::coupledScalarValueOlder(), and ScalarCoupleable::coupledVectorTagScalarValue().

71 {
72  const auto var_name = _sc_parameters.checkForRename(var_name_in);
73 
74  auto it = _coupled_scalar_vars.find(var_name);
75  if (it != _coupled_scalar_vars.end())
76  return (i < it->second.size());
77  else
78  {
79  // Make sure the user originally requested this value in the InputParameter syntax
80  if (!_sc_parameters.hasCoupledValue(var_name))
82  ": The coupled scalar variable \"",
83  var_name,
84  "\" was never added to this object's "
85  "InputParameters, please double-check "
86  "your spelling");
87 
88  return false;
89  }
90 }
bool hasCoupledValue(const std::string &coupling_name) const
Return whether or not the coupled variable exists.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
const std::string & _sc_name
The name of the object this interface is part of.
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
const InputParameters & _sc_parameters
std::string checkForRename(const std::string &name) const
Checks whether the provided name is a renamed parameter name.

◆ isDefaultPostprocessorValue()

bool PostprocessorInterface::isDefaultPostprocessorValue ( const std::string &  param_name,
const unsigned int  index = 0 
) const
inherited

Determine whether or not the Postprocessor is a default value.

A default value is when the value is either the value set by addParam, or is a user-set value in input instead of a name to a postprocessor.

Parameters
param_nameThe name of the Postprocessor parameter
indexThe index of the postprocessor
Returns
True if the Postprocessor is a default value, false if the Postprocessor is the name of a Postprocessor

Definition at line 75 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

77 {
79 }
bool isDefaultPostprocessorValueByName(const PostprocessorName &name) const
const PostprocessorName & getPostprocessorNameInternal(const std::string &param_name, const unsigned int index, const bool allow_default_value=true) const
Internal method for getting the PostprocessorName associated with a paremeter.

◆ isFunctor() [1/2]

bool FunctorInterface::isFunctor ( const std::string &  name) const
protectedinherited

Checks the subproblem for the given functor.

This will not query default functors potentially stored in this object, e.g. this method will return false if the user passed an int or real to the functor param in the input file

Parameters
nameThe name of the functor to check. This should match the functor parameter name, not the actual name of the functor created in the input file
Returns
Whether the subproblem has the specified functor

Definition at line 113 of file FunctorInterface.C.

114 {
115  mooseAssert(_fi_subproblem, "This must be non-null");
116  return isFunctor(name, *_fi_subproblem);
117 }
SubProblem *const _fi_subproblem
Pointer to subproblem if the subproblem pointer parameter was set.
bool isFunctor(const std::string &name) const
Checks the subproblem for the given functor.

◆ isFunctor() [2/2]

bool FunctorInterface::isFunctor ( const std::string &  name,
const SubProblem subproblem 
) const
protectedinherited

Checks the passed-in subproblem for the given functor.

This will not query default functors potentially stored in this object, e.g. this method will return false if the user passed an int or real to the functor param in the input file

Parameters
nameThe name of the functor to check. This should match the functor parameter name, not the actual name of the functor created in the input file
subproblemThe subproblem to query for the functor
Returns
Whether the subproblem has the specified functor

Definition at line 104 of file FunctorInterface.C.

105 {
106  // Check if the supplied parameter is a valid input parameter key
107  std::string functor_name = deduceFunctorName(name);
108 
109  return subproblem.hasFunctor(functor_name, _fi_tid);
110 }
bool hasFunctor(const std::string &name, const THREAD_ID tid) const
checks whether we have a functor corresponding to name on the thread id tid
Definition: SubProblem.C:1215
const THREAD_ID _fi_tid
Current threaded it.
static std::string deduceFunctorName(const std::string &name, const InputParameters &params)
Helper to look up a functor name through the input parameter keys.

◆ isImplicit()

bool TransientInterface::isImplicit ( )
inlineinherited

Definition at line 38 of file TransientInterface.h.

Referenced by ComputeJacobianThread::compute().

38 { return _is_implicit; }
bool _is_implicit
If the object is using implicit or explicit form.

◆ isInterfaceMaterial()

virtual bool MaterialBase::isInterfaceMaterial ( )
inlinevirtualinherited

Reimplemented in InterfaceMaterial.

Definition at line 95 of file MaterialBase.h.

95 { return false; };

◆ isNodal()

bool RandomInterface::isNodal ( ) const
inlineinherited

◆ isParamSetByUser()

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

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

Parameters
nmThe name of the parameter to test

Definition at line 118 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), SetAdaptivityOptionsAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), LibtorchNeuralNetControl::conditionalParameterError(), MooseBaseParameterInterface::getRenamedParam(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PiecewiseTabularBase::PiecewiseTabularBase(), MooseMesh::prepare(), and SolutionUserObject::readXda().

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

◆ isParamValid()

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

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 112 of file MooseBaseParameterInterface.h.

Referenced by CopyNodalVarsAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), CreateDisplacedProblemAction::act(), SetAdaptivityOptionsAction::act(), CommonOutputAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEBCs(), DiffusionCG::addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionCG::addNonlinearVariables(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), GeneratedMesh::buildMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), PhysicsBase::checkParamsBothSetOrNotSet(), PhysicsBase::checkVectorParamsSameLength(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CombinerGenerator::CombinerGenerator(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), Eigenvalue::Eigenvalue(), ElementExtremeFunctorValueTempl< is_ad >::ElementExtremeFunctorValueTempl(), ElementExtremeValue::ElementExtremeValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FileOutput::FileOutput(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), AddMetaDataGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), BlockDeletionGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), XYDelaunayGenerator::generate(), ParsedGenerateSideset::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBaseParameterInterface::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), PiecewiseTabularBase::initialSetup(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), Console::initialSetup(), MooseParsedVectorFunction::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MatDiffusionBase< Real >::MatDiffusionBase(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableFV< Real >::MooseVariableFV(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), NodalExtremeValue::NodalExtremeValue(), EigenExecutionerBase::normalizeSolution(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PicardSolve::PicardSolve(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), MooseMesh::prepare(), MultiApp::readCommandLineArguments(), SolutionUserObject::readExodusII(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), MooseMesh::setCoordSystem(), FileOutput::setFileBase(), FileOutput::setFileBaseInternal(), Split::setup(), SetupMeshAction::setupMesh(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideExtremeValue::SideExtremeValue(), SolutionUserObject::SolutionUserObject(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

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

◆ isPropertyActive()

bool MaterialBase::isPropertyActive ( const unsigned int  prop_id) const
inlineprotectedinherited

Check whether a material property is active.

Definition at line 307 of file MaterialBase.h.

308  {
309  return _active_prop_ids.count(prop_id) > 0;
310  }
std::unordered_set< unsigned int > _active_prop_ids
The ids of the current active supplied properties.
Definition: MaterialBase.h:345

◆ isVectorPostprocessorDistributed()

bool VectorPostprocessorInterface::isVectorPostprocessorDistributed ( const std::string &  param_name) const
inherited

Return true if the VectorPostprocessor is marked with parallel_type as DISTRIBUTED.

Definition at line 190 of file VectorPostprocessorInterface.C.

191 {
193 }
const VectorPostprocessorName & getVectorPostprocessorName(const std::string &param_name) const
Get the name of a VectorPostprocessor associated with a parameter.
bool isVectorPostprocessorDistributedByName(const VectorPostprocessorName &name) const

◆ isVectorPostprocessorDistributedByName()

bool VectorPostprocessorInterface::isVectorPostprocessorDistributedByName ( const VectorPostprocessorName &  name) const
inherited

Definition at line 196 of file VectorPostprocessorInterface.C.

Referenced by VectorPostprocessorInterface::isVectorPostprocessorDistributed().

198 {
200 }
const VectorPostprocessor & getVectorPostprocessorObjectByName(const std::string &object_name, const THREAD_ID tid=0) const
Return the VPP object given the name.
bool isDistributed() const
Return true if the VPP is operating in distributed mode.
const FEProblemBase & _vpi_feproblem
Reference the FEProblemBase class.

◆ jacobianSetup()

void SetupInterface::jacobianSetup ( )
virtualinherited

◆ makeElemArg()

Moose::ElemArg FunctorInterface::makeElemArg ( const Elem *  elem,
bool  correct_skewnewss = false 
) const
protectedinherited

◆ markMatPropRequested()

void MaterialPropertyInterface::markMatPropRequested ( const std::string &  name)
protectedinherited

A proxy method for _mi_feproblem.markMatPropRequested(name)

Definition at line 135 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getGenericMaterialPropertyByName().

136 {
138 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual void markMatPropRequested(const std::string &)
Helper method for adding a material property name to the _material_property_requested set...
Definition: SubProblem.C:682

◆ materialData() [1/2]

virtual const MaterialData& Material::materialData ( ) const
inlineoverrideprotectedvirtual

Implements MaterialBase.

Definition at line 224 of file Material.h.

Referenced by subdomainSetup().

224 { return _material_data; }
MaterialData & _material_data
The material data class that stores properties.

◆ materialData() [2/2]

virtual MaterialData& Material::materialData ( )
inlineoverrideprotectedvirtual

Implements MaterialBase.

Definition at line 225 of file Material.h.

225 { return _material_data; }
MaterialData & _material_data
The material data class that stores properties.

◆ maxElementID()

dof_id_type ElementIDInterface::maxElementID ( unsigned int  elem_id_index) const
inlineinherited

Return the maximum element ID for an element integer with its index.

Definition at line 87 of file ElementIDInterface.h.

88  {
89  return _id_mesh->maxElementID(elem_id_index);
90  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ meshBlockIDs()

const std::set< SubdomainID > & BlockRestrictable::meshBlockIDs ( ) const
inherited

Return all of the SubdomainIDs for the mesh.

Returns
A set of all subdomians for the entire mesh

Definition at line 269 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), BlockRestrictable::getBlockCoordSystem(), BlockRestrictable::hasBlockMaterialPropertyHelper(), and SolutionIC::initialSetup().

270 {
271  return _blk_mesh->meshSubdomains();
272 }
MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2921

◆ meshBoundaryIDs()

const std::set< BoundaryID > & BoundaryRestrictable::meshBoundaryIDs ( ) const
inherited

Returns the set of all boundary ids for the entire mesh.

Returns
A const reference the the boundary ids for the entire mesh

Definition at line 295 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::hasBoundaryMaterialPropertyHelper().

296 {
297  return _bnd_mesh->getBoundaryIDs();
298 }
MooseMesh * _bnd_mesh
Point to mesh.
std::vector< BoundaryID > getBoundaryIDs(const Elem *const elem, const unsigned short int side) const
Returns a vector of boundary IDs for the requested element on the requested side. ...
Definition: MooseMesh.C:2719

◆ meshChanged()

virtual void MeshChangedInterface::meshChanged ( )
inlinevirtualinherited

◆ minElementID()

dof_id_type ElementIDInterface::minElementID ( unsigned int  elem_id_index) const
inlineinherited

Return the minimum element ID for an element integer with its index.

Definition at line 95 of file ElementIDInterface.h.

96  {
97  return _id_mesh->minElementID(elem_id_index);
98  }
std::shared_ptr< MooseMesh > & _id_mesh
References to the mesh and displaced mesh (currently in the ActionWarehouse)

◆ miProblem() [1/2]

virtual const FEProblemBase& MaterialBase::miProblem ( ) const
inlineprotectedvirtualinherited

Definition at line 299 of file MaterialBase.h.

299 { return _fe_problem; }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314

◆ miProblem() [2/2]

virtual FEProblemBase& MaterialBase::miProblem ( )
inlineprotectedvirtualinherited

Definition at line 300 of file MaterialBase.h.

300 { return _fe_problem; }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314

◆ mooseDeprecated()

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

Definition at line 78 of file MooseBaseErrorInterface.h.

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

79  {
80  moose::internal::mooseDeprecatedStream(_console, false, true, std::forward<Args>(args)...);
81  }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, Args &&... args)
Definition: MooseError.h:236
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ mooseError()

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

Emits an error prefixed with object name and type.

Definition at line 38 of file MooseBaseErrorInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), SetupMeshCompleteAction::act(), AutoCheckpointAction::act(), CreateExecutionerAction::act(), CheckFVBCAction::act(), AddFVICAction::act(), AddICAction::act(), CheckIntegrityAction::act(), InitProblemAction::act(), AddVectorPostprocessorAction::act(), AddMeshGeneratorAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), SplitMeshAction::act(), AdaptivityAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), SetAdaptivityOptionsAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), FEProblemBase::adaptMesh(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), FEProblemBase::addConstraint(), DistributedRectilinearMeshGenerator::addElement(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFVInitialCondition(), ADDGKernel::ADDGKernel(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addOutput(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DiracKernelBase::addPoint(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), FEProblemBase::addPostprocessor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), Action::addRelationshipManager(), FEProblemBase::addReporter(), AddVariableAction::addVariable(), FEProblemBase::addVectorPostprocessor(), SubProblem::addVectorTag(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), AdvectiveFluxAux::AdvectiveFluxAux(), MooseVariableBase::allDofIndices(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayConstantIC::ArrayConstantIC(), ArrayDGKernel::ArrayDGKernel(), ArrayDiffusion::ArrayDiffusion(), ArrayFunctionIC::ArrayFunctionIC(), ArrayParsedAux::ArrayParsedAux(), ArrayReaction::ArrayReaction(), ArrayTimeDerivative::ArrayTimeDerivative(), AddPeriodicBCAction::autoTranslationBoundaries(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), MooseMesh::buildLowerDMesh(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildSideList(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), UserObjectInterface::castUserObject(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), SubProblem::checkBoundaryMatProps(), MooseMesh::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), FEProblemBase::checkDuplicatePostprocessorVariableNames(), MooseMesh::checkDuplicateSubdomainNames(), FEProblemBase::checkExceptionAndStopSolve(), MaterialBase::checkExecutionStage(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), Sampler::checkReinitStatus(), MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), FEProblemBase::checkUserObjects(), DomainUserObject::checkVariable(), MultiAppTransfer::checkVariable(), PhysicsBase::checkVectorParamsNoOverlap(), LibmeshPartitioner::clone(), MooseMesh::clone(), CombinerGenerator::CombinerGenerator(), ComparisonPostprocessor::comparisonIsTrue(), ElementSubdomainModifier::complementMovingBoundaryID(), ElementSubdomainModifier::complementMovingBoundaryName(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), FEProblemBase::computeBounds(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), ArrayDGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighResidual(), InternalSideIntegralPostprocessor::computeFaceInfoIntegral(), SideIntegralPostprocessor::computeFaceInfoIntegral(), MooseVariableFieldBase::computeFaceValues(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), HistogramVectorPostprocessor::computeHistogram(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), FVFluxKernel::computeJacobian(), NodalConstraint::computeJacobian(), FEProblemBase::computeJacobianTags(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), EigenProblem::computeMatricesTags(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), FVElementalKernel::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), MaterialBase::computeProperties(), ScalarKernel::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), NodalEqualValueConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), ScalarKernel::computeQpResidual(), NodalEqualValueConstraint::computeQpResidual(), KernelValue::computeQpResidual(), InterfaceQpValueUserObject::computeRealValue(), ArrayKernel::computeResidual(), ArrayIntegratedBC::computeResidual(), FVFluxBC::computeResidual(), FVFluxKernel::computeResidual(), NodalConstraint::computeResidual(), FVFluxKernel::computeResidualAndJacobian(), ResidualObject::computeResidualAndJacobian(), FEProblemBase::computeResidualAndJacobian(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualL2Norm(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualTags(), FEProblemBase::computeResidualType(), KernelScalarBase::computeScalarOffDiagJacobian(), ADKernelScalarBase::computeScalarQpResidual(), ADMortarScalarBase::computeScalarQpResidual(), MortarScalarBase::computeScalarQpResidual(), KernelScalarBase::computeScalarQpResidual(), TimeStepper::computeStep(), ActuallyExplicitEuler::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CentralDifference::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), MultiAppGeometricInterpolationTransfer::computeTransformation(), BuildArrayVariableAux::computeValue(), TagVectorArrayVariableAux::computeValue(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), CoupledForceNodalKernel::CoupledForceNodalKernel(), MultiApp::createApp(), AddVariableAction::createInitialConditionAction(), Function::curl(), MooseVariableFV< Real >::curlPhi(), SidesetInfoVectorPostprocessor::dataHelper(), ReporterTransferInterface::declareClone(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), BicubicSplineFunction::derivative(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), FEProblemBase::determineNonlinearSystem(), DGKernel::DGKernel(), MeshDiagnosticsGenerator::diagnosticsLog(), DistributedPositions::DistributedPositions(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), MooseVariableFV< Real >::divPhi(), FunctorRelationshipManager::dofmap_reinit(), EigenProblem::doFreeNonlinearPowerIterations(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementIntegerAux::ElementIntegerAux(), ElementQualityAux::ElementQualityAux(), ElementUOAux::ElementUOAux(), DistributedRectilinearMeshGenerator::elemId(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), RestartableDataReporter::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), NodalValueSampler::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), ElementQualityChecker::execute(), MultiAppPostprocessorTransfer::execute(), PositionsFunctorValueSampler::execute(), PointValue::execute(), MultiAppVariableValueSampleTransfer::execute(), GreaterThanLessThanPostprocessor::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), InterfaceQpUserObjectBase::execute(), MultiAppUserObjectTransfer::execute(), LeastSquaresFit::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFitHistory::execute(), TimeExtremeValue::execute(), Eigenvalue::execute(), DomainUserObject::execute(), FEProblemBase::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), ExplicitSSPRungeKutta::ExplicitSSPRungeKutta(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), FileOutput::FileOutput(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), NearestPointAverage::finalize(), NearestPointIntegralVariablePostprocessor::finalize(), Transfer::find_sys(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), MaterialOutputAction::functorMaterialOutputHelper(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVMassMatrix::FVMassMatrix(), FVMatAdvection::FVMatAdvection(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), GapValueAux::GapValueAux(), WorkBalance::gather(), LowerDBlockFromSidesetGenerator::generate(), BlockToMeshConverterGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), SideSetsFromNormalsGenerator::generate(), SmoothMeshGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), CoarsenBlockGenerator::generate(), CutMeshByPlaneGenerator::generate(), BreakMeshByBlockGenerator::generate(), GeneratedMeshGenerator::generate(), MeshDiagnosticsGenerator::generate(), MeshRepairGenerator::generate(), FlipSidesetGenerator::generate(), SideSetsFromPointsGenerator::generate(), MeshExtruderGenerator::generate(), MeshCollectionGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), CombinerGenerator::generate(), AllSideSetsByNormalsGenerator::generate(), SpiralAnnularMeshGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), RandomICBase::generateRandom(), GenericConstantMaterialTempl< is_ad >::GenericConstantMaterialTempl(), GenericConstantVectorMaterialTempl< is_ad >::GenericConstantVectorMaterialTempl(), GenericFunctionMaterialTempl< is_ad >::GenericFunctionMaterialTempl(), GenericFunctionVectorMaterialTempl< is_ad >::GenericFunctionVectorMaterialTempl(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), DisplacedProblem::getActualFieldVariable(), FEProblemBase::getActualFieldVariable(), DisplacedProblem::getArrayVariable(), FEProblemBase::getArrayVariable(), MooseMesh::getAxisymmetricRadialCoord(), MooseMesh::getBlockConnectedBlocks(), VariableOldValueBounds::getBound(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PropertyReadFile::getData(), TransfiniteMeshGenerator::getDiscreteEdge(), FEProblemBase::getDistribution(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), GhostingUserObject::getElementalValue(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), PropertyReadFile::getElementData(), MooseMesh::getElementIDIndex(), getElementIDNeighbor(), getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), MultiAppFieldTransfer::getEquationSystem(), MultiApp::getExecutioner(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), FEProblemBase::getFunction(), SubProblem::getFunctor(), MooseMesh::getGeneralAxisymmetricCoordAxis(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), BatchMaterial< Tuple, Output, Input >::getIndex(), DistributedRectilinearMeshGenerator::getIndices(), SolutionUserObject::getLocalVarIndex(), getMaterialByName(), FEProblemBase::getMaterialData(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), DistributedRectilinearMeshGenerator::getNeighbors(), Times::getNextTime(), MooseMesh::getNodeBlockIds(), PropertyReadFile::getNodeData(), MooseMesh::getNodeList(), EigenProblem::getNonlinearEigenSystem(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), PlaneIDMeshGenerator::getPlaneID(), Positions::getPosition(), Positions::getPositions(), FEProblemBase::getPositionsObject(), Positions::getPositionsVector2D(), Positions::getPositionsVector3D(), Positions::getPositionsVector4D(), PostprocessorInterface::getPostprocessorValueByNameInternal(), Times::getPreviousTime(), InterfaceQpUserObjectBase::getQpValue(), MooseMesh::getRefinementMap(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), FEProblemBase::getSampler(), JSONFileReader::getScalar(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), InterfaceQpUserObjectBase::getSideAverageValue(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), Times::getTimeAtIndex(), FEProblemBase::getTimeFromStateArg(), Transient::getTimeIntegratorName(), Times::getTimes(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), NumRelationshipManagers::getValue(), VectorPostprocessorComponent::getValue(), Residual::getValue(), SideAverageValue::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), JSONFileReader::getVector(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingAux::GhostingAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), Function::gradient(), FEProblemBase::handleException(), Terminator::handleMessage(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), ExplicitTimeIntegrator::init(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Transient::init(), AddAuxVariableAction::init(), Eigenvalue::init(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), FEProblemBase::init(), MultiApp::init(), FEProblemBase::initialAdaptMesh(), NestedDivision::initialize(), TransformedPositions::initialize(), DistributedPositions::initialize(), ReporterPositions::initialize(), FunctorPositions::initialize(), ReporterTimes::initialize(), ElementGroupCentroidPositions::initialize(), FunctorTimes::initialize(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), IntegralPreservingFunctionIC::initialSetup(), MultiAppConservativeTransfer::initialSetup(), PiecewiseLinearBase::initialSetup(), ReferenceResidualProblem::initialSetup(), FullSolveMultiApp::initialSetup(), PiecewiseLinear::initialSetup(), CoarsenedPiecewiseLinear::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), SolutionAux::initialSetup(), NodalVariableValue::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), CSV::initialSetup(), MooseParsedFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), SubProblem::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Function::integral(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceTimeKernel::InterfaceTimeKernel(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MultiAppGeneralFieldTransfer::locatePointReceivers(), LowerBoundNodalKernel::LowerBoundNodalKernel(), MooseVariableFV< Real >::lowerDError(), PNGOutput::makePNG(), ReporterPointMarker::markerSetup(), MassMatrix::MassMatrix(), Material(), MaterialOutputAction::materialOutputHelper(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAuxTempl< is_ad >::MaterialRealVectorValueAuxTempl(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), SubProblem::meshChanged(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), MooseVariableConstMonomial::MooseVariableConstMonomial(), MoveNodeGenerator::MoveNodeGenerator(), ElementSubdomainModifier::movingBoundaryID(), ElementSubdomainModifier::movingBoundaryName(), MultiApp::MultiApp(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), FEProblemBase::needsPreviousNewtonIteration(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), MooseVariableFV< Real >::nodalDofIndex(), MooseVariableFV< Real >::nodalDofIndexNeighbor(), MooseVariableFV< Real >::nodalMatrixTagValue(), NodalPatchRecoveryBase::nodalPatchRecovery(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalScalarKernel::NodalScalarKernel(), MooseVariableFV< Real >::nodalValueArray(), MooseVariableFV< Real >::nodalValueOldArray(), MooseVariableFV< Real >::nodalValueOlderArray(), NodalVariableValue::NodalVariableValue(), MooseVariableFV< Real >::nodalVectorTagValue(), DistributedRectilinearMeshGenerator::nodeId(), PhysicsBase::nonlinearVariableExists(), MooseVariableFV< Real >::numberOfDofsNeighbor(), NumDOFs::NumDOFs(), NumFailedTimeSteps::NumFailedTimeSteps(), DistributedRectilinearMeshGenerator::numNeighbors(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), Exodus::outputSetup(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), DistributedRectilinearMeshGenerator::paritionSquarely(), PiecewiseBilinear::parse(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), MultiAppConservativeTransfer::performAdjustment(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), MooseVariableFV< Real >::phiLowerSize(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Executioner::picardSolve(), PIDTransientControl::PIDTransientControl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), PiecewiseTabularBase::PiecewiseTabularBase(), CutMeshByPlaneGenerator::pointPairPlaneInterception(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), EigenProblem::postScaleEigenVector(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), ADKernelValueTempl< T >::precomputeQpJacobian(), Predictor::Predictor(), Transient::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), PseudoTimestep::PseudoTimestep(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), CoarsenBlockGenerator::recursiveCoarsen(), FunctorRelationshipManager::redistribute(), ReferenceResidualProblem::ReferenceResidualProblem(), Sampler::reinit(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), PiecewiseMultiInterpolation::sample(), ScalarComponentIC::ScalarComponentIC(), MortarScalarBase::scalarVariable(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), BicubicSplineFunction::secondDerivative(), MooseVariableFV< Real >::secondPhi(), MooseVariableFV< Real >::secondPhiFace(), MooseVariableFV< Real >::secondPhiFaceNeighbor(), MooseVariableFV< Real >::secondPhiNeighbor(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), FEProblemBase::setCoupling(), PiecewiseBase::setData(), FileOutput::setFileBaseInternal(), MooseMesh::setGeneralAxisymmetricCoordAxes(), FEProblemSolve::setInnerSolve(), MeshGenerator::setMeshProperty(), FVPointValueConstraint::setMyElem(), FEProblemBase::setNonlocalCouplingMatrix(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Exodus::setOutputDimensionInExodusWriter(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), Split::setup(), TransientMultiApp::setupApp(), SetupMeshAction::setupMesh(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TimePeriodBase::setupTimes(), SideAdvectiveFluxIntegralTempl< is_ad >::SideAdvectiveFluxIntegralTempl(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialPoints(), NearestPointAverage::spatialValue(), NearestPointIntegralVariablePostprocessor::spatialValue(), MeshDivisionFunctorReductionVectorPostprocessor::spatialValue(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), MultiAppGeometricInterpolationTransfer::subdomainIDsNode(), Constraint::subdomainSetup(), GeneralUserObject::subdomainSetup(), NodalUserObject::subdomainSetup(), MaterialBase::subdomainSetup(), FEProblemBase::swapBackMaterialsNeighbor(), Console::systemInfoFlags(), Terminator::Terminator(), CutMeshByPlaneGenerator::tet4ElemCutter(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriodBase::TimePeriodBase(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), TransformedPositions::TransformedPositions(), FEProblemBase::trustUserCouplingMatrix(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), FEProblemBase::uDotDotOldRequested(), MooseVariableScalar::uDotOld(), FEProblemBase::uDotOldRequested(), Positions::unrollMultiDPositions(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), Checkpoint::updateCheckpointFiles(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), FEProblemBase::updateMaxQps(), UpperBoundNodalKernel::UpperBoundNodalKernel(), NearestPointAverage::userObjectValue(), NearestPointIntegralVariablePostprocessor::userObjectValue(), BoundingBoxIC::value(), PiecewiseConstantFromCSV::value(), IntegralPreservingFunctionIC::value(), Axisymmetric2D3DSolutionFunction::value(), Function::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), AddVariableAction::variableType(), VariableValueVolumeHistogram::VariableValueVolumeHistogram(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), VectorNodalBC::VectorNodalBC(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), Function::vectorValue(), SubProblem::verifyVectorTags(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

39  {
40  std::ostringstream oss;
41  moose::internal::mooseStreamAll(oss, errorPrefix("error"), std::forward<Args>(args)...);
42  std::string msg = oss.str();
43  callMooseErrorRaw(msg, &_app);
44  }
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:91
void callMooseErrorRaw(std::string &msg, MooseApp *app)
MooseApp & _app
The MOOSE application this is associated with.
std::string errorPrefix(const std::string &error_type) const
A descriptive prefix for errors for this object:

◆ mooseErrorNonPrefixed()

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

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

Definition at line 50 of file MooseBaseErrorInterface.h.

51  {
52  std::ostringstream oss;
53  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
54  std::string msg = oss.str();
55  callMooseErrorRaw(msg, &_app);
56  }
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:91
void callMooseErrorRaw(std::string &msg, MooseApp *app)
MooseApp & _app
The MOOSE application this is associated with.

◆ mooseInfo()

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

◆ mooseWarning()

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

Emits a warning prefixed with object name and type.

Definition at line 62 of file MooseBaseErrorInterface.h.

Referenced by AddKernelAction::act(), SetupMeshAction::act(), MeshOnlyAction::act(), AddFunctionAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), DiracKernelBase::addPoint(), BoundaryMarker::BoundaryMarker(), BoundsBase::BoundsBase(), DistributedRectilinearMeshGenerator::buildCube(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), PhysicsBase::checkRequiredTasks(), OversampleOutput::cloneMesh(), GapValueAux::computeValue(), MultiApp::createApp(), MeshDiagnosticsGenerator::diagnosticsLog(), CartesianGridDivision::divisionIndex(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), Postprocessor::evaluateDotWarning(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), ElementQualityChecker::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), SubdomainPerElementGenerator::generate(), ParsedGenerateSideset::generate(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), PointSamplerBase::getLocalElemContainingPoint(), FEProblemBase::getMaterial(), Positions::getNearestPositionIndex(), LineValueSampler::getValue(), Terminator::handleMessage(), ElementGroupCentroidPositions::initialize(), CartesianGridDivision::initialize(), SphericalGridDivision::initialize(), CylindricalGridDivision::initialize(), ReferenceResidualProblem::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), LeastSquaresFit::LeastSquaresFit(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), FEProblemBase::mesh(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), NewmarkBeta::NewmarkBeta(), NodalPatchRecovery::NodalPatchRecovery(), NonlocalIntegratedBC::NonlocalIntegratedBC(), NonlocalKernel::NonlocalKernel(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PiecewiseConstantFromCSV::PiecewiseConstantFromCSV(), Executioner::problem(), PropertyReadFile::readData(), TestSourceStepper::rejectStep(), MaterialBase::resetQpProperties(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setCoordSystem(), FEProblemBase::sizeZeroes(), TransientMultiApp::solveStep(), Tecplot::Tecplot(), TimeDerivativeAux::TimeDerivativeAux(), Checkpoint::updateCheckpointFiles(), PiecewiseConstantFromCSV::value(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

63  {
65  _console, errorPrefix("warning"), std::forward<Args>(args)...);
66  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:181
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string errorPrefix(const std::string &error_type) const
A descriptive prefix for errors for this object:

◆ mooseWarningNonPrefixed()

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

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

Definition at line 72 of file MooseBaseErrorInterface.h.

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

◆ name()

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

Get the name of the class.

Returns
The name of the class

Reimplemented in MooseVariableBase.

Definition at line 56 of file MooseBase.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), CopyNodalVarsAction::act(), AddElementalFieldAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), DisplayGhostingAction::act(), AddVariableAction::act(), AddPeriodicBCAction::act(), MaterialOutputAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), SubProblem::addPiecewiseByBlockLambdaFunctor(), FEProblemBase::addPostprocessor(), InitialConditionBase::addPostprocessorDependencyHelper(), UserObject::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), InitialConditionBase::addUserObjectDependencyHelper(), UserObject::addUserObjectDependencyHelper(), AuxKernelTempl< Real >::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), UserObject::addVectorPostprocessorDependencyHelper(), FVFluxKernel::adjustRMGhostLayers(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), ArrayParsedAux::ArrayParsedAux(), AStableDirk4::AStableDirk4(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), PiecewiseTabularBase::buildFromFile(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkICRestartError(), checkMaterialProperty(), Damper::checkMinDamping(), Coupleable::checkWritableVar(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBaseParameterInterface::connectControllableParams(), BatchMaterial< Tuple, Output, Input >::construct(), MultiApp::createApp(), AddVariableAction::createInitialConditionAction(), MultiApp::createLocalApp(), MeshGeneratorSystem::createMeshGeneratorOrder(), MaterialBase::declareADProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), MooseBaseErrorInterface::errorPrefix(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), RestartableDataReporter::execute(), PointValue::execute(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), MultiApp::fillPositions(), PointSamplerBase::finalize(), FunctionDT::FunctionDT(), FunctionIC::functionName(), FVFunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), MooseServer::gatherDocumentSymbols(), BoundaryDeletionGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), BreakMeshByBlockGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), GeneratedMeshGenerator::generate(), StitchedMeshGenerator::generate(), XYDelaunayGenerator::generate(), ParsedGenerateSideset::generate(), SideSetsAroundSubdomainGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MeshGenerator::generateInternal(), InterfaceMaterial::getADMaterialProperty(), getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MultiApp::getBoundingBox(), MooseApp::getCheckpointDirectories(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), UserObject::getDependObjects(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), FEProblemBase::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), getGenericMaterialProperty(), AuxKernelTempl< Real >::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), BatchMaterial< Tuple, Output, Input >::getIndex(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), getMaterial(), FEProblemBase::getMaterial(), getMaterialByName(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), getMaterialProperty(), AuxKernelTempl< Real >::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), getMaterialPropertyOld(), AuxKernelTempl< Real >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), getMaterialPropertyOlder(), AuxKernelTempl< Real >::getMaterialPropertyOlder(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), MooseServer::getObjectParameters(), getOptionalADMaterialProperty(), getOptionalMaterialProperty(), getOptionalMaterialPropertyOld(), getOptionalMaterialPropertyOlder(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ReporterData::getReporterInfo(), FEProblemBase::getSampler(), Transient::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), Terminator::handleMessage(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), FEProblemBase::hasUserObject(), IterationAdaptiveDT::init(), AdvancedOutput::init(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), SolutionScalarAux::initialSetup(), MultiAppProjectionTransfer::initialSetup(), NodalVariableValue::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MeshGenerator::isChildMeshGenerator(), MeshGenerator::isNullMeshName(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), Material(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshGenerator::meshPropertyPrefix(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), PhysicsBase::nonlinearVariableExists(), Registry::objData(), MooseBaseParameterInterface::objectErrorPrefix(), MeshGenerator::Comparator::operator()(), ProgressOutput::output(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PointVariableSamplerBase::PointVariableSamplerBase(), PhysicsBase::prefix(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), GlobalParamsAction::remove(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), GlobalParamsAction::setDoubleIndexParam(), OutputWarehouse::setFileNumbers(), GlobalParamsAction::setParam(), FEProblemBase::setPostprocessorValueByName(), GlobalParamsAction::setScalarParam(), MooseMesh::setSubdomainName(), GlobalParamsAction::setTripleIndexParam(), Split::setup(), TransientMultiApp::setupApp(), GlobalParamsAction::setVectorParam(), FullSolveMultiApp::showStatusMessage(), SideSetExtruderGenerator::SideSetExtruderGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), MaterialBase::subdomainSetup(), TaggingInterface::TaggingInterface(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppDofCopyTransfer::transfer(), TransientMultiApp::TransientMultiApp(), MooseServer::traverseParseTreeAndFillSymbols(), MooseBase::typeAndName(), MooseBaseParameterInterface::uniqueParameterName(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), UserObject::UserObject(), UserObjectInterface::userObjectName(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), and Coupleable::writableVariable().

56 { return _name; }
const std::string & _name
The name of this class, reference to value stored in InputParameters.
Definition: MooseBase.h:75

◆ numBlocks()

unsigned int BlockRestrictable::numBlocks ( ) const
inherited

Return the number of blocks for this object.

Returns
The number of subdomains

Definition at line 199 of file BlockRestrictable.C.

Referenced by ElementCentroidPositions::initialize().

200 {
201  return (unsigned int)_blk_ids.size();
202 }
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)

◆ numBoundaryIDs()

unsigned int BoundaryRestrictable::numBoundaryIDs ( ) const
inherited

Return the number of boundaries for this object.

Returns
The number of boundary ids

Definition at line 192 of file BoundaryRestrictable.C.

Referenced by SidesetInfoVectorPostprocessor::initialize().

193 {
194  return (unsigned int)_bnd_ids.size();
195 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.

◆ objectErrorPrefix()

std::string MooseBaseParameterInterface::objectErrorPrefix ( const std::string &  error_type) const
inherited

A descriptive prefix for errors for an object.

Definition at line 58 of file MooseBaseParameterInterface.C.

Referenced by MooseBaseParameterInterface::paramErrorMsg().

59 {
60  std::stringstream oss;
61  oss << "The following " << error_type << " occurred in the class \"" << _moose_base->name()
62  << "\", of type \"" << _moose_base->type() << "\".\n\n";
63  return oss.str();
64 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ paramError()

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

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 243 of file MooseBaseParameterInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), SetupDebugAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), ADDGKernel::ADDGKernel(), DiffusionCG::addNonlinearVariables(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADNodalKernel::ADNodalKernel(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayVacuumBC::ArrayVacuumBC(), AuxKernelTempl< Real >::AuxKernelTempl(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), PiecewiseTabularBase::buildFromFile(), CartesianGridDivision::CartesianGridDivision(), UserObjectInterface::castUserObject(), checkComponent(), MeshGenerator::checkGetMesh(), PostprocessorInterface::checkParam(), PhysicsBase::checkParamsBothSetOrNotSet(), Checkpoint::Checkpoint(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), PhysicsBase::checkVectorParamsSameLength(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinerGenerator::CombinerGenerator(), CompositionDT::CompositionDT(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementExtremeFunctorValueTempl< is_ad >::ElementExtremeFunctorValueTempl(), ElementExtremeValue::ElementExtremeValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), ReporterPointSource::errorCheck(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), FEProblemSolve::FEProblemSolve(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), ReporterPointSource::fillPoint(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicator::finalize(), FixedPointSolve::FixedPointSolve(), ForcingFunctionAux::ForcingFunctionAux(), FunctionArrayAux::FunctionArrayAux(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FunctorADConverterTempl< T >::FunctorADConverterTempl(), FunctorAux::FunctorAux(), FunctorBinnedValuesDivision::FunctorBinnedValuesDivision(), FunctorElementalGradientAuxTempl< is_ad >::FunctorElementalGradientAuxTempl(), FunctorPositions::FunctorPositions(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), BoundaryDeletionGenerator::generate(), ElementsToTetrahedronsConverter::generate(), ExtraNodesetGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), AddMetaDataGenerator::generate(), BlockToMeshConverterGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), FlipSidesetGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), CutMeshByPlaneGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), CombinerGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedCurveGenerator::generate(), BreakMeshByElementGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), AdvancedExtruderGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), ParsedGenerateSideset::generate(), SideSetsAroundSubdomainGenerator::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), PropertyReadFile::getBlockData(), PropertyReadFile::getData(), Sampler::getGlobalSamples(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), Sampler::getLocalSamples(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), Sampler::getNextLocalRow(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), HFEMDirichletBC::HFEMDirichletBC(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), MultiAppCloneReporterTransfer::initialSetup(), ReferenceResidualProblem::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), HistogramVectorPostprocessor::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), AddMetaDataGenerator::inputChecker(), IntegratedBC::IntegratedBC(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceValueUserObjectAux::InterfaceValueUserObjectAux(), InterpolatedStatefulMaterialTempl< T >::InterpolatedStatefulMaterialTempl(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), MultiApp::keepSolutionDuringRestore(), Kernel::Kernel(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationFunction::LinearCombinationFunction(), LowerDIntegratedBC::LowerDIntegratedBC(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MaterialADConverterTempl< T >::MaterialADConverterTempl(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MoosePreconditioner::MoosePreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppGeometricInterpolationTransfer::MultiAppGeometricInterpolationTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer::MultiAppProjectionTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), PatchMeshGenerator::PatchMeshGenerator(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshGenerator::PolyLineMeshGenerator(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObject::readXda(), ReferenceResidualProblem::ReferenceResidualProblem(), RefineBlockGenerator::RefineBlockGenerator(), RefineSidesetGenerator::RefineSidesetGenerator(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setPartitioner(), TimeSequenceStepperBase::setupSequence(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), SymmetryTransformGenerator::SymmetryTransformGenerator(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObject::UserObject(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYMeshLineCutter::XYMeshLineCutter().

244 {
245  Moose::show_trace = false;
246  std::string msg = paramErrorMsg(param, std::forward<Args>(args)...);
248  Moose::show_trace = true;
249 }
bool show_trace
Set to true (the default) to print the stack trace with error and warning messages - false to omit it...
Definition: Moose.C:642
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:44
void callMooseErrorRaw(std::string &msg, MooseApp *app)
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ parameters()

const InputParameters& MooseBaseParameterInterface::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 63 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), assemble_l2(), Moose::assemble_matrix(), PhysicsBase::assertParamDefined(), AuxKernelTempl< Real >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), UserObjectInterface::castUserObject(), PostprocessorInterface::checkParam(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Executor::Executor(), Exodus::Exodus(), FEProblem::FEProblem(), FEProblemBase::FEProblemBase(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainMeshGenerator::generate(), ParsedGenerateSideset::generate(), MooseBaseParameterInterface::getCheckedPointerParam(), ExecutorInterface::getExecutor(), getMaterial(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), VectorPostprocessorInterface::getVectorPostprocessorName(), GhostingUserObject::GhostingUserObject(), AttribSystem::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), OverlayMeshGenerator::OverlayMeshGenerator(), PatchMeshGenerator::PatchMeshGenerator(), PenetrationAux::PenetrationAux(), PicardSolve::PicardSolve(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), OutputWarehouse::resetFileBase(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SteffensenSolve::SteffensenSolve(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), Transient::Transient(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

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

◆ paramInfo()

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

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 260 of file MooseBaseParameterInterface.h.

Referenced by TransientMultiApp::TransientMultiApp().

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

◆ paramWarning()

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

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 253 of file MooseBaseParameterInterface.h.

Referenced by MultiAppNearestNodeTransfer::execute(), FEProblemSolve::FEProblemSolve(), UniqueExtraIDMeshGenerator::generate(), PlaneIDMeshGenerator::generate(), Terminator::initialSetup(), and MooseMesh::MooseMesh().

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

◆ qRule()

virtual const QBase& Material::qRule ( ) const
inlineoverrideprotectedvirtual

Implements MaterialBase.

Definition at line 227 of file Material.h.

227 { return *_qrule; }
const QBase *const & _qrule
Definition: Material.h:233

◆ registerInvalidSolutionInternal()

InvalidSolutionID SolutionInvalidInterface::registerInvalidSolutionInternal ( const std::string &  message) const
protectedinherited

Definition at line 35 of file SolutionInvalidInterface.C.

36 {
38  _si_moose_object.type(), message);
39 }
InvalidSolutionID registerInvalidity(const std::string &object_type, const std::string &message)
Call to register an invalid calculation.
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.
MooseObject & _si_moose_object
The MooseObject that owns this interface.

◆ registerPropName()

void MaterialBase::registerPropName ( const std::string &  prop_name,
bool  is_get,
const unsigned int  state 
)
protectedinherited

Small helper function to call store{Subdomain,Boundary}MatPropName.

Definition at line 155 of file MaterialBase.C.

Referenced by MaterialBase::declareGenericPropertyByName(), InterfaceMaterial::getGenericMaterialPropertyByName(), getGenericMaterialPropertyByName(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), and MaterialBase::getGenericZeroMaterialPropertyByName().

156 {
157  if (!is_get)
158  {
159  const auto property_id = materialData().getPropertyId(prop_name);
160 
161  _supplied_props.insert(prop_name);
162  _supplied_prop_ids.insert(property_id);
163 
164  // Store the minimum state declared
165  auto find_min_state = _props_to_min_states.find(property_id);
166  if (find_min_state == _props_to_min_states.end())
167  _props_to_min_states.emplace(property_id, state);
168  else
169  find_min_state->second = std::min(find_min_state->second, state);
170 
171  // Store material properties for block ids
172  for (const auto & block_id : blockIDs())
173  _fe_problem.storeSubdomainMatPropName(block_id, prop_name);
174 
175  // Store material properties for the boundary ids
176  for (const auto & boundary_id : boundaryIDs())
177  _fe_problem.storeBoundaryMatPropName(boundary_id, prop_name);
178  }
179 
180  if (state > 0)
181  _has_stateful_property = true;
182 }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
bool _has_stateful_property
Definition: MaterialBase.h:370
unsigned int getPropertyId(const std::string &prop_name) const
Wrapper for MaterialStorage::getPropertyId.
Definition: MaterialData.C:80
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
std::unordered_map< unsigned int, unsigned int > _props_to_min_states
The minimum states requested (0 = current, 1 = old, 2 = older) This is sparse and is used to keep tra...
Definition: MaterialBase.h:359
virtual void storeBoundaryMatPropName(BoundaryID boundary_id, const std::string &name)
Adds the given material property to a storage map based on boundary ids.
Definition: SubProblem.C:555
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342
std::set< std::string > _supplied_props
Set of properties declared.
Definition: MaterialBase.h:333
auto min(const L &left, const R &right)
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
virtual const MaterialData & materialData() const =0
virtual void storeSubdomainMatPropName(SubdomainID block_id, const std::string &name)
Adds the given material property to a storage map based on block ids.
Definition: SubProblem.C:549

◆ requiresGeometricSearch()

bool GeometricSearchInterface::requiresGeometricSearch ( ) const
inlineinherited

Whether any of this interface's methods have been called, e.g.

whether the object that this interface is for requires geometric search data

Definition at line 65 of file GeometricSearchInterface.h.

bool _requires_geometric_search
Whether any of this interface&#39;s methods have been called, e.g.

◆ resetProperties()

void MaterialBase::resetProperties ( )
virtualinherited

Resets the properties at each quadrature point (see resetQpProperties), only called if 'compute = false'.

This method is called internally by MOOSE, you probably don't want to mess with this.

Definition at line 218 of file MaterialBase.C.

219 {
220  for (_qp = 0; _qp < qRule().n_points(); ++_qp)
222 }
virtual const QBase & qRule() const =0
virtual void resetQpProperties()
Resets the properties prior to calculation of traditional materials (only if &#39;compute = false&#39;)...
Definition: MaterialBase.C:225
unsigned int _qp
Definition: MaterialBase.h:318

◆ resetQpProperties()

void MaterialBase::resetQpProperties ( )
protectedvirtualinherited

Resets the properties prior to calculation of traditional materials (only if 'compute = false').

This method must be overridden in your class. This is called just prior to the re-calculation of traditional material properties to ensure that the properties are in a proper state for calculation.

Reimplemented in DerivativeParsedMaterialTempl< is_ad >.

Definition at line 225 of file MaterialBase.C.

Referenced by MaterialBase::resetProperties().

226 {
227  if (!_compute)
228  mooseDoOnce(mooseWarning("You disabled the computation of this (",
229  name(),
230  ") material by MOOSE, but have not overridden the 'resetQpProperties' "
231  "method, this can lead to unintended values being set for material "
232  "property values."));
233 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
const bool _compute
If False MOOSE does not compute this property.
Definition: MaterialBase.h:348

◆ residualSetup()

void SetupInterface::residualSetup ( )
virtualinherited

◆ resolveOptionalProperties()

void Material::resolveOptionalProperties ( )
overridevirtual

resolve all optional properties

Reimplemented from MaterialPropertyInterface.

Definition at line 177 of file Material.C.

178 {
179  for (auto & proxy : _optional_property_proxies)
180  proxy->resolve(*this);
181 }
std::vector< std::unique_ptr< OptionalMaterialPropertyProxyBase< Material > > > _optional_property_proxies
optional material properties
Definition: Material.h:258

◆ restartableName()

std::string Restartable::restartableName ( const std::string &  data_name) const
protectedinherited

Gets the name of a piece of restartable data given a data name, adding the system name and object name prefix.

This should only be used in this interface and in testing.

Definition at line 66 of file Restartable.C.

Referenced by Restartable::declareRecoverableData(), and Restartable::declareRestartableDataHelper().

67 {
68  return _restartable_system_name + "/" + _restartable_name + "/" + data_name;
69 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:243
const std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:230

◆ restricted()

bool BoundaryRestrictable::restricted ( const std::set< BoundaryID > &  ids)
staticinherited

Helper for determining if the object is boundary restricted.

This is needed for the MaterialPropertyInterface.

Definition at line 204 of file BoundaryRestrictable.C.

Referenced by moose::internal::boundaryRestricted(), and BoundaryRestrictable::boundaryRestricted().

205 {
206  return ids.find(Moose::ANY_BOUNDARY_ID) == ids.end();
207 }
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:23

◆ setActiveProperties()

void MaterialBase::setActiveProperties ( const std::unordered_set< unsigned int > &  needed_props)
inherited

Set active properties of this material Note: This function is called by FEProblemBase::setActiveMaterialProperties in an element loop typically when switching subdomains.

Definition at line 185 of file MaterialBase.C.

186 {
187  _active_prop_ids.clear();
188  for (const auto supplied_id : _supplied_prop_ids)
189  if (needed_props.count(supplied_id))
190  _active_prop_ids.insert(supplied_id);
191 }
std::unordered_set< unsigned int > _active_prop_ids
The ids of the current active supplied properties.
Definition: MaterialBase.h:345
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342

◆ setFaceInfo()

void MaterialBase::setFaceInfo ( const FaceInfo fi)
inlineinherited

Definition at line 238 of file MaterialBase.h.

238 { _face_info = &fi; }
const FaceInfo * _face_info
Definition: MaterialBase.h:374

◆ setRandomDataPointer()

void RandomInterface::setRandomDataPointer ( RandomData random_data)
inherited

Definition at line 54 of file RandomInterface.C.

Referenced by FEProblemBase::registerRandomInterface().

55 {
56  _random_data = random_data;
58 }
RandomData * _random_data
MooseRandom * _generator
MooseRandom & getGenerator()
Return the underlying MooseRandom generator object for this data instance.
Definition: RandomData.h:41

◆ setRandomResetFrequency()

void RandomInterface::setRandomResetFrequency ( ExecFlagType  exec_flag)
inherited

This interface should be called from a derived class to enable random number generation in this object.

Definition at line 47 of file RandomInterface.C.

48 {
49  _reset_on = exec_flag;
51 }
void registerRandomInterface(RandomInterface &random_interface, const std::string &name)
ExecFlagType _reset_on
const std::string _ri_name
FEProblemBase & _ri_problem

◆ sort()

template<typename T >
void DependencyResolverInterface::sort ( typename std::vector< T > &  vector)
staticinherited

Given a vector, sort using the getRequested/SuppliedItems sets.

Definition at line 64 of file DependencyResolverInterface.h.

Referenced by TheWarehouse::prepare().

65 {
66  sortDFS(vector);
67 }
static void sortDFS(typename std::vector< T > &vector)
Given a vector, sort using the depth-first search.

◆ sortDFS()

template<typename T >
void DependencyResolverInterface::sortDFS ( typename std::vector< T > &  vector)
staticinherited

Given a vector, sort using the depth-first search.

Class that represents the dependency as a graph

Definition at line 71 of file DependencyResolverInterface.h.

Referenced by DependencyResolverInterface::sort().

72 {
73  if (vector.size() <= 1)
74  return;
75 
80 
81  // Map of suppliers: what is supplied -> by what object
82  std::multimap<std::string, T> suppliers_map;
83  for (auto & v : vector)
84  {
85  // Whether or not this object supplies something, we will always
86  // add it as a node because we want to make sure that it gets returned
87  graph.addNode(v);
88 
89  for (const auto & supplied_item : v->getSuppliedItems())
90  suppliers_map.emplace(supplied_item, v);
91  }
92 
93  // build the dependency graph
94  for (auto & v : vector)
95  for (const auto & requested_item : v->getRequestedItems())
96  {
97  const auto & [begin_it, end_it] = suppliers_map.equal_range(requested_item);
98  for (const auto & [supplier_name, supplier_object] : as_range(begin_it, end_it))
99  {
100  libmesh_ignore(supplier_name);
101 
102  // We allow an object to have a circular dependency within itself; e.g. we choose to
103  // trust a developer knows what they are doing within a single object
104  if (supplier_object != v)
105  graph.addEdge(supplier_object, v);
106  }
107  }
108 
109  const auto & sorted = graph.dfs();
110 
111  // The set here gets unique objects, as it's valid to pass in duplicates
112  mooseAssert(sorted.size() == std::set<T>(vector.begin(), vector.end()).size(), "Size mismatch");
113 
114  vector = sorted;
115 }
void addEdge(const T &a, const T &b)
Add an edge between nodes &#39;a&#39; and &#39;b&#39;.
void libmesh_ignore(const Args &...)
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
void addNode(const T &a)
Add a node &#39;a&#39; to the graph.
const std::vector< T > & dfs()
Do depth-first search from root nodes to obtain order in which graph nodes should be "executed"...
Class that represents the dependecy as a graph.

◆ statefulPropertiesAllowed()

void MaterialPropertyInterface::statefulPropertiesAllowed ( bool  stateful_allowed)
inherited

Derived classes can declare whether or not they work with stateful material properties.

See, for example, DiracKernel. By default, they are allowed.

Definition at line 141 of file MaterialPropertyInterface.C.

Referenced by DiracKernelBase::DiracKernelBase(), and DiracKernelTempl< T >::DiracKernelTempl().

142 {
143  _stateful_allowed = stateful_allowed;
144 }
bool _stateful_allowed
True by default.

◆ subdomainSetup()

void Material::subdomainSetup ( )
overridevirtual

Subdomain setup evaluating material properties when required.

Reimplemented from MaterialBase.

Definition at line 86 of file Material.C.

87 {
89  {
90  auto nqp = _fe_problem.getMaxQps();
91 
93  for (const auto & prop_id : _supplied_prop_ids)
94  props[prop_id].resize(nqp);
95 
96  // consider all properties are active
97  _active_prop_ids.clear();
98  for (const auto & id : _supplied_prop_ids)
99  _active_prop_ids.insert(id);
100 
101  _qp = 0;
103 
104  for (const auto & prop_id : _supplied_prop_ids)
105  for (decltype(nqp) qp = 1; qp < nqp; ++qp)
106  props[prop_id].qpCopy(qp, props[prop_id], 0);
107  }
108 }
FEProblemBase & _fe_problem
Definition: MaterialBase.h:314
virtual void computeQpProperties()
Users must override this method.
Definition: MaterialBase.C:213
virtual const MaterialData & materialData() const override
Definition: Material.h:224
const ConstantTypeEnum _constant_option
Options of the constantness level of the material.
Definition: Material.h:245
void resize(const std::size_t size, const WriteKey)
unsigned int _qp
Definition: MaterialBase.h:318
std::unordered_set< unsigned int > _active_prop_ids
The ids of the current active supplied properties.
Definition: MaterialBase.h:345
const MaterialProperties & props(const unsigned int state=0) const
Definition: MaterialData.h:238
std::set< unsigned int > _supplied_prop_ids
The ids of the supplied properties, i.e.
Definition: MaterialBase.h:342
unsigned int getMaxQps() const

◆ timestepSetup()

void SetupInterface::timestepSetup ( )
virtualinherited

◆ type()

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

Get the type of this class.

Returns
the name of the type of this class

Definition at line 50 of file MooseBase.h.

Referenced by CreateProblemDefaultAction::act(), SetupDebugAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addMeshDivision(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addObject(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addTimeIntegrator(), MooseServer::addValuesToList(), DisplacedProblem::addVectorTag(), SubProblem::addVectorTag(), FEProblemBase::advanceMultiApps(), PhysicsBase::assertParamDefined(), AuxKernelTempl< Real >::AuxKernelTempl(), FEProblemBase::backupMultiApps(), BoundaryPreservedMarker::BoundaryPreservedMarker(), DistributedRectilinearMeshGenerator::buildCube(), MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildPRefinementAndCoarseningMaps(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), PhysicsBase::checkRequiredTasks(), FEProblemBase::computeAuxiliaryKernels(), ADDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDiffusion::computeLowerDQpJacobian(), HFEMDiffusion::computeLowerDQpJacobian(), HFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), FEProblemBase::computeMultiAppsDT(), ADDGKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), DGConvection::computeQpJacobian(), ScalarKernel::computeQpJacobian(), InterfaceDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), HFEMTestJump::computeQpOffDiagJacobian(), HFEMTrialJump::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), HFEMDiffusion::computeQpResidual(), ArrayHFEMDiffusion::computeQpResidual(), ScalarKernel::computeQpResidual(), InterfaceDiffusion::computeQpResidual(), InterfaceReaction::computeQpResidual(), ADDGAdvection::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), ADDGDiffusion::computeQpResidual(), HFEMTrialJump::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), HFEMTestJump::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), BatchMaterial< Tuple, Output, Input >::construct(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), MooseBaseErrorInterface::errorPrefix(), AB2PredictorCorrector::estimateTimeError(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateInternal(), MultiAppTransfer::getAppInfo(), TransfiniteMeshGenerator::getEdge(), ElementGenerator::getElemType(), MooseServer::getInputLookupDefinitionNodes(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), MaterialOutputAction::getParams(), ReporterData::getReporterInfo(), Transient::getTimeIntegratorName(), FEProblemBase::getTransfers(), DisplacedProblem::getVectorTags(), SubProblem::getVectorTags(), CommonOutputAction::hasConsole(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), FunctorPositions::initialize(), FunctorTimes::initialize(), MultiAppConservativeTransfer::initialSetup(), ArrayDGDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), FEProblemBase::logAdd(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), DisplacedProblem::numVectorTags(), SubProblem::numVectorTags(), MooseBaseParameterInterface::objectErrorPrefix(), Console::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), ProjectedStatefulMaterialStorageAction::processProperty(), SolutionInvalidInterface::registerInvalidSolutionInternal(), FEProblemBase::restoreMultiApps(), MeshRepairGenerator::separateSubdomainsByElementType(), FEProblemBase::setCoupling(), MooseBase::typeAndName(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), UserObjectInterface::userObjectType(), and AdvancedOutput::wantOutput().

50 { return _type; }
const std::string & _type
The type of this class.
Definition: MooseBase.h:72

◆ typeAndName()

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

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

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

Definition at line 62 of file MooseBase.h.

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

63  {
64  return type() + std::string(" \"") + name() + std::string("\"");
65  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ uniqueName()

MooseObjectName MooseBaseParameterInterface::uniqueName ( ) const
inlineinherited

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

Definition at line 68 of file MooseBaseParameterInterface.h.

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

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

◆ uniqueParameterName()

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

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

Definition at line 53 of file MooseBaseParameterInterface.h.

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

◆ validateExecutionerType()

void Coupleable::validateExecutionerType ( const std::string &  name,
const std::string &  fn_name 
) const
protectedinherited

Checks to make sure that the current Executioner has set "_is_transient" when old/older values are coupled in.

Parameters
namethe name of the variable
fn_nameThe name of the function that called this method - used in the error message

Definition at line 2017 of file Coupleable.C.

Referenced by Coupleable::checkFuncType(), NeighborCoupleable::coupledArrayNeighborGradientOld(), NeighborCoupleable::coupledArrayNeighborGradientOlder(), NeighborCoupleable::coupledNeighborDofValuesOld(), NeighborCoupleable::coupledNeighborDofValuesOlder(), NeighborCoupleable::coupledNeighborGradientOld(), NeighborCoupleable::coupledNeighborGradientOlder(), NeighborCoupleable::coupledNeighborValueOld(), NeighborCoupleable::coupledNeighborValueOlder(), NeighborCoupleable::coupledVectorNeighborGradientOld(), and NeighborCoupleable::coupledVectorNeighborGradientOlder().

2018 {
2019  if (!_c_fe_problem.isTransient())
2021  ": Calling \"",
2022  fn_name,
2023  "\" on variable \"",
2024  name,
2025  "\" when using a \"Steady\" executioner is not allowed. This value is available "
2026  "only in transient simulations.");
2027 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
const std::string & _c_name
The name of the object this interface is part of.
Definition: Coupleable.h:1313
virtual bool isTransient() const override

◆ validParams()

InputParameters Material::validParams ( )
static

Definition at line 14 of file Material.C.

Referenced by GenericConstant2DArray::validParams(), GenericConstantArray::validParams(), GenericConstantVectorMaterialTempl< is_ad >::validParams(), FunctorMaterial::validParams(), PiecewiseConstantByBlockMaterialTempl< is_ad >::validParams(), VectorFromComponentVariablesMaterialTempl< is_ad >::validParams(), MaterialFunctorConverterTempl< T >::validParams(), GenericFunctionRankTwoTensorTempl< is_ad >::validParams(), GenericConstantRankTwoTensorTempl< is_ad >::validParams(), PiecewiseLinearInterpolationMaterial::validParams(), CoupledValueFunctionMaterialTempl< is_ad >::validParams(), MaterialADConverterTempl< T >::validParams(), ADPiecewiseLinearInterpolationMaterial::validParams(), InterpolatedStatefulMaterialTempl< T >::validParams(), GenericConstantMaterialTempl< is_ad >::validParams(), GenericFunctionMaterialTempl< is_ad >::validParams(), GenericFunctionVectorMaterialTempl< is_ad >::validParams(), and FunctionMaterialBase< is_ad >::validParams().

15 {
16 
19  MooseEnum const_option("NONE=0 ELEMENT=1 SUBDOMAIN=2", "none");
20  params.addParam<MooseEnum>(
21  "constant_on",
22  const_option,
23  "When ELEMENT, MOOSE will only call computeQpProperties() for the 0th "
24  "quadrature point, and then copy that value to the other qps."
25  "When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th "
26  "quadrature point, and then copy that value to the other qps. Evaluations on element qps "
27  "will be skipped");
28  params.addParamNamesToGroup("use_displaced_mesh", "Advanced");
29  return params;
30 }
static InputParameters validParams()
Definition: MaterialBase.C:21
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
static InputParameters validParams()
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:31
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...
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...

◆ writableCoupledValue()

VariableValue & Coupleable::writableCoupledValue ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

Returns a writable reference to a coupled variable for writing to multiple AuxVariables from a single AuxKernel or a UserObject.

Only one object can obtain a writable reference in a simulation.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a VariableValue for the coupled variable
See also
Kernel::value

Definition at line 894 of file Coupleable.C.

895 {
896  mooseDeprecated("Coupleable::writableCoupledValue is deprecated, please use "
897  "Coupleable::writableVariable instead. ");
898 
899  // check if the variable exists
900  auto * const var = getVar(var_name, comp);
901  if (!var)
902  mooseError(
903  "Unable to create a writable reference for '", var_name, "', is it a constant expression?");
904 
905  // is the requested variable an AuxiliaryVariable?
906  if (!_c_fe_problem.getAuxiliarySystem().hasVariable(var->name()))
907  mooseError(
908  "'", var->name(), "' must be an auxiliary variable in Coupleable::writableCoupledValue");
909 
910  // check that the variable type (elemental/nodal) is compatible with the object type
911  const auto * aux = dynamic_cast<const AuxKernel *>(this);
912 
913  if (!aux)
914  mooseError("writableCoupledValue() can only be called from AuxKernels, but '",
915  _obj->name(),
916  "' is not an AuxKernel.");
917 
918  if (!aux->isNodal() && var->isNodal())
919  mooseError("The elemental AuxKernel '",
920  _obj->name(),
921  "' cannot obtain a writable reference to the nodal variable '",
922  var->name(),
923  "'.");
924 
925  // make sure only one object can access a variable
926  checkWritableVar(var);
927 
928  return const_cast<VariableValue &>(coupledValue(var_name, comp));
929 }
void checkWritableVar(MooseWritableVariable *var)
Checks that the passed in variable is only accessed writable by one object in a given subdomain...
Definition: Coupleable.C:932
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:283
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:1318
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable.
Definition: Coupleable.C:478
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:313
AuxiliarySystem & getAuxiliarySystem()
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:800
const MooseObject *const _obj
Definition: Coupleable.h:1707
OutputTools< Real >::VariableValue VariableValue
Definition: MooseTypes.h:302

◆ writableVariable()

MooseWritableVariable & Coupleable::writableVariable ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedinherited

Returns a writable MooseVariable object for a nodal or elemental variable.

Use var.setNodalValue(val[, idx]) in both cases (!) to set the solution DOF values. Only one object can obtain a writable reference in a simulation. Note that the written values will not ba available in the same system loop! E.g. values written using this API by a nodal AuxKernel will not be updated for other nodal AuxKernels during the same iteration over all nodes.

Parameters
var_nameName of coupled variable
compComponent number for vector of coupled variables
Returns
Reference to a MooseWritableVariable for the coupled variable
See also
Kernel::value

Definition at line 859 of file Coupleable.C.

860 {
861  auto * var = getVarHelper<MooseWritableVariable>(var_name, comp);
862 
863  const auto * aux = dynamic_cast<const AuxKernel *>(this);
864  const auto * euo = dynamic_cast<const ElementUserObject *>(this);
865  const auto * nuo = dynamic_cast<const NodalUserObject *>(this);
866  const auto * nfc = dynamic_cast<const NodeFaceConstraint *>(this);
867 
868  if (!aux && !euo && !nuo && !nfc)
869  mooseError("writableVariable() can only be called from AuxKernels, ElementUserObjects, "
870  "NodalUserObjects, or NodeFaceConstraints. '",
871  _obj->name(),
872  "' is none of those.");
873 
874  if (aux && !aux->isNodal() && var->isNodal())
875  mooseError("The elemental AuxKernel '",
876  _obj->name(),
877  "' cannot obtain a writable reference to the nodal variable '",
878  var->name(),
879  "'.");
880  if (euo && var->isNodal())
881  mooseError("The ElementUserObject '",
882  _obj->name(),
883  "' cannot obtain a writable reference to the nodal variable '",
884  var->name(),
885  "'.");
886 
887  // make sure only one object can access a variable
888  checkWritableVar(var);
889 
890  return *var;
891 }
void checkWritableVar(MooseWritableVariable *var)
Checks that the passed in variable is only accessed writable by one object in a given subdomain...
Definition: Coupleable.C:932
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
A user object that runs over all the nodes and does an aggregation step to compute a single value...
A NodeFaceConstraint is used when you need to create constraints between two surfaces in a mesh...
const MooseObject *const _obj
Definition: Coupleable.h:1707

Member Data Documentation

◆ _action_factory

ActionFactory& MooseBaseParameterInterface::_action_factory
protectedinherited

◆ _active_prop_ids

std::unordered_set<unsigned int> MaterialBase::_active_prop_ids
protectedinherited

The ids of the current active supplied properties.

Definition at line 345 of file MaterialBase.h.

Referenced by MaterialBase::isPropertyActive(), MaterialBase::setActiveProperties(), and subdomainSetup().

◆ _ad_default_gradient

MooseArray<ADRealVectorValue> Coupleable::_ad_default_gradient
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1384 of file Coupleable.h.

Referenced by Coupleable::getADDefaultGradient().

◆ _ad_default_second

MooseArray<ADRealTensorValue> Coupleable::_ad_default_second
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1393 of file Coupleable.h.

Referenced by Coupleable::getADDefaultSecond().

◆ _ad_default_value

std::unordered_map<std::string, std::unique_ptr<MooseArray<DualReal> > > Coupleable::_ad_default_value
mutableprotectedinherited

Will hold the default value for optional coupled variables for automatic differentiation.

Definition at line 1361 of file Coupleable.h.

Referenced by Coupleable::getADDefaultValue().

◆ _ad_default_vector_gradient

MooseArray<ADRealTensorValue> Coupleable::_ad_default_vector_gradient
mutableprotectedinherited

This will always be zero because the default values for optionally coupled vector variables is always constant.

Definition at line 1387 of file Coupleable.h.

Referenced by Coupleable::getADDefaultVectorGradient().

◆ _ad_default_vector_value

std::unordered_map<std::string, std::unique_ptr<MooseArray<ADRealVectorValue> > > Coupleable::_ad_default_vector_value
mutableprotectedinherited

Will hold the default value for optional vector coupled variables for automatic differentiation.

Definition at line 1372 of file Coupleable.h.

Referenced by Coupleable::getADDefaultVectorValue().

◆ _ad_grad_zero

const MooseArray<ADRealVectorValue>& Coupleable::_ad_grad_zero
protectedinherited

Definition at line 1402 of file Coupleable.h.

Referenced by Coupleable::adZeroGradient().

◆ _ad_second_zero

const MooseArray<ADRealTensorValue>& Coupleable::_ad_second_zero
protectedinherited

Definition at line 1409 of file Coupleable.h.

Referenced by Coupleable::adZeroSecond().

◆ _ad_zero

const MooseArray<DualReal>& Coupleable::_ad_zero
protectedinherited

Definition at line 1398 of file Coupleable.h.

Referenced by Coupleable::adZeroValue().

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 69 of file MooseBase.h.

◆ _assembly

Assembly& MaterialBase::_assembly
protectedinherited

Definition at line 316 of file MaterialBase.h.

◆ _blk_material_data

const MaterialData* BlockRestrictable::_blk_material_data
protectedinherited

Pointer to the MaterialData class for this object.

Definition at line 207 of file BlockRestrictable.h.

Referenced by BlockRestrictable::hasBlockMaterialProperty(), and BlockRestrictable::initializeBlockRestrictable().

◆ _bnd

bool Material::_bnd
protected

Definition at line 229 of file Material.h.

Referenced by checkMaterialProperty(), computeConstantOption(), and isBoundaryMaterial().

◆ _c_allow_element_to_nodal_coupling

const bool Coupleable::_c_allow_element_to_nodal_coupling
protectedinherited

Definition at line 1351 of file Coupleable.h.

Referenced by Coupleable::checkVar().

◆ _c_fe_problem

FEProblemBase& Coupleable::_c_fe_problem
protectedinherited

◆ _c_is_implicit

bool Coupleable::_c_is_implicit
protectedinherited

True if implicit value is required.

Definition at line 1348 of file Coupleable.h.

Referenced by Coupleable::adCoupledDofValues(), Coupleable::adCoupledGradient(), Coupleable::adCoupledGradientDot(), Coupleable::adCoupledLowerValue(), NeighborCoupleable::adCoupledNeighborGradient(), NeighborCoupleable::adCoupledNeighborValue(), NeighborCoupleable::adCoupledNeighborValueDot(), Coupleable::adCoupledNodalValue(), Coupleable::adCoupledSecond(), Coupleable::adCoupledValue(), Coupleable::adCoupledVectorGradient(), NeighborCoupleable::adCoupledVectorNeighborValue(), Coupleable::adCoupledVectorValue(), Coupleable::checkFuncType(), Coupleable::coupledArrayDofValues(), Coupleable::coupledArrayGradient(), Coupleable::coupledArrayGradientOld(), NeighborCoupleable::coupledArrayNeighborGradient(), NeighborCoupleable::coupledArrayNeighborGradientOld(), NeighborCoupleable::coupledArrayNeighborGradientOlder(), NeighborCoupleable::coupledArrayNeighborValue(), Coupleable::coupledArrayValue(), Coupleable::coupledArrayValueOld(), Coupleable::coupledCurl(), Coupleable::coupledCurlOld(), Coupleable::coupledDofValues(), Coupleable::coupledDofValuesOld(), Coupleable::coupledGradient(), Coupleable::coupledGradientOld(), NeighborCoupleable::coupledNeighborDofValues(), NeighborCoupleable::coupledNeighborDofValuesOld(), NeighborCoupleable::coupledNeighborDofValuesOlder(), NeighborCoupleable::coupledNeighborGradient(), NeighborCoupleable::coupledNeighborGradientOld(), NeighborCoupleable::coupledNeighborGradientOlder(), NeighborCoupleable::coupledNeighborSecond(), NeighborCoupleable::coupledNeighborValue(), NeighborCoupleable::coupledNeighborValueOld(), NeighborCoupleable::coupledNeighborValueOlder(), Coupleable::coupledNodalValue(), Coupleable::coupledNodalValueOld(), Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledValue(), Coupleable::coupledValueLower(), Coupleable::coupledValueOld(), Coupleable::coupledVectorGradient(), Coupleable::coupledVectorGradientOld(), NeighborCoupleable::coupledVectorNeighborGradient(), NeighborCoupleable::coupledVectorNeighborGradientOld(), NeighborCoupleable::coupledVectorNeighborGradientOlder(), Coupleable::coupledVectorValue(), and Coupleable::coupledVectorValueOld().

◆ _c_name

const std::string& Coupleable::_c_name
protectedinherited

◆ _c_nodal

bool Coupleable::_c_nodal
protectedinherited

◆ _c_parameters

const InputParameters& Coupleable::_c_parameters
protectedinherited

◆ _c_sys

const SystemBase* const Coupleable::_c_sys
protectedinherited

Pointer to the system object if the moose object this is an interface for has one.

Definition at line 1321 of file Coupleable.h.

Referenced by Coupleable::coupled().

◆ _c_tid

THREAD_ID Coupleable::_c_tid
protectedinherited

Thread ID of the thread using this object.

Definition at line 1354 of file Coupleable.h.

Referenced by Coupleable::checkWritableVar(), Coupleable::Coupleable(), and Coupleable::getWritableCoupledVariables().

◆ _c_type

const std::string& Coupleable::_c_type
protectedinherited

The type of the object this interface is part of.

Definition at line 1315 of file Coupleable.h.

◆ _compute

const bool MaterialBase::_compute
protectedinherited

If False MOOSE does not compute this property.

Definition at line 348 of file MaterialBase.h.

Referenced by MaterialBase::resetQpProperties().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), MeshOnlyAction::act(), SetupDebugAction::act(), MaterialOutputAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), PerfGraph::addToExecutionList(), SimplePredictor::apply(), SystemBase::applyScalingFactors(), MultiApp::backup(), FEProblemBase::backupMultiApps(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), MeshDiagnosticsGenerator::checkElementOverlap(), MeshDiagnosticsGenerator::checkElementTypes(), MeshDiagnosticsGenerator::checkElementVolumes(), FEProblemBase::checkExceptionAndStopSolve(), MeshDiagnosticsGenerator::checkLocalJacobians(), MeshDiagnosticsGenerator::checkNonConformalMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonPlanarSides(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualProblem::checkRelativeConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), FixedPointSolve::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), NonlinearSystemBase::computeScaling(), Problem::console(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MessageFromInput::execute(), Steady::execute(), Eigenvalue::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), CoarsenBlockGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), InversePowerMethod::init(), NonlinearEigen::init(), FEProblemBase::initialAdaptMesh(), EigenExecutionerBase::inversePowerIteration(), FEProblemBase::joinAndFinalize(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::logAdd(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseBaseErrorInterface::mooseDeprecated(), MooseBaseErrorInterface::mooseInfo(), MooseBaseErrorInterface::mooseWarning(), MooseBaseErrorInterface::mooseWarningNonPrefixed(), ReferenceResidualProblem::nonlinearConvergenceSetup(), ReporterDebugOutput::output(), PerfGraphOutput::output(), MaterialPropertyDebugOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), PseudoTimestep::outputPseudoTimestep(), Console::outputReporters(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), SolutionInvalidity::printDebug(), EigenExecutionerBase::printEigenvalue(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::printFixedPointConvergenceHistory(), PicardSolve::printFixedPointConvergenceHistory(), FixedPointSolve::printFixedPointConvergenceReason(), PerfGraphLivePrint::printLiveMessage(), MaterialPropertyDebugOutput::printMaterialMap(), PerfGraphLivePrint::printStats(), AutomaticMortarGeneration::projectPrimaryNodesSinglePair(), AutomaticMortarGeneration::projectSecondaryNodesSinglePair(), CoarsenBlockGenerator::recursiveCoarsen(), SolutionTimeAdaptiveDT::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), Checkpoint::shouldOutput(), SubProblem::showFunctorRequestors(), SubProblem::showFunctors(), FullSolveMultiApp::showStatusMessage(), FEProblemSolve::solve(), FixedPointSolve::solve(), NonlinearSystem::solve(), EigenProblem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), LStableDirk4::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), FixedPointSolve::solveStep(), PerfGraphLivePrint::start(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Transient::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _constant_option

const ConstantTypeEnum Material::_constant_option
protected

Options of the constantness level of the material.

Definition at line 245 of file Material.h.

Referenced by computeProperties(), and subdomainSetup().

◆ _coord

const MooseArray<Real>& MaterialBase::_coord
protectedinherited

Definition at line 320 of file MaterialBase.h.

◆ _coord_sys

const Moose::CoordinateSystemType& MaterialBase::_coord_sys
protectedinherited

Coordinate system.

Definition at line 327 of file MaterialBase.h.

◆ _coupleable_neighbor

bool Coupleable::_coupleable_neighbor
protectedinherited

Whether or not this object is a "neighbor" object: ie all of it's coupled values should be neighbor values.

Definition at line 1614 of file Coupleable.h.

Referenced by Coupleable::adCoupledDofValues(), Coupleable::adCoupledDot(), Coupleable::adCoupledDotDot(), Coupleable::adCoupledGradient(), Coupleable::adCoupledGradientDot(), Coupleable::adCoupledNodalValue(), Coupleable::adCoupledSecond(), Coupleable::adCoupledValue(), Coupleable::adCoupledVectorDot(), Coupleable::adCoupledVectorGradient(), Coupleable::adCoupledVectorValue(), Coupleable::coupledArrayDofValues(), Coupleable::coupledArrayDot(), Coupleable::coupledArrayDotDot(), Coupleable::coupledArrayDotDotOld(), Coupleable::coupledArrayDotDu(), Coupleable::coupledArrayDotOld(), Coupleable::coupledArrayGradient(), Coupleable::coupledArrayGradientDot(), Coupleable::coupledArrayGradientOld(), Coupleable::coupledArrayGradientOlder(), Coupleable::coupledArrayValue(), Coupleable::coupledArrayValueOld(), Coupleable::coupledArrayValueOlder(), Coupleable::coupledCurl(), Coupleable::coupledCurlOld(), Coupleable::coupledCurlOlder(), Coupleable::coupledDofValues(), Coupleable::coupledDofValuesOld(), Coupleable::coupledDofValuesOlder(), Coupleable::coupledDot(), Coupleable::coupledDotDot(), Coupleable::coupledDotDotDu(), Coupleable::coupledDotDotOld(), Coupleable::coupledDotDu(), Coupleable::coupledDotOld(), Coupleable::coupledGradient(), Coupleable::coupledGradientDot(), Coupleable::coupledGradientDotDot(), Coupleable::coupledGradientOld(), Coupleable::coupledGradientOlder(), Coupleable::coupledGradientPreviousNL(), Coupleable::coupledNodalDot(), Coupleable::coupledNodalDotDot(), Coupleable::coupledNodalDotDotOld(), Coupleable::coupledNodalDotOld(), Coupleable::coupledNodalValue(), Coupleable::coupledNodalValueOld(), Coupleable::coupledNodalValueOlder(), Coupleable::coupledNodalValuePreviousNL(), Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledSecondOlder(), Coupleable::coupledSecondPreviousNL(), Coupleable::coupledValue(), Coupleable::coupledValueLower(), Coupleable::coupledValueOld(), Coupleable::coupledValueOlder(), Coupleable::coupledValuePreviousNL(), Coupleable::coupledVectorDot(), Coupleable::coupledVectorDotDot(), Coupleable::coupledVectorDotDotDu(), Coupleable::coupledVectorDotDotOld(), Coupleable::coupledVectorDotDu(), Coupleable::coupledVectorDotOld(), Coupleable::coupledVectorGradient(), Coupleable::coupledVectorGradientOld(), Coupleable::coupledVectorGradientOlder(), Coupleable::coupledVectorValue(), Coupleable::coupledVectorValueOld(), and Coupleable::coupledVectorValueOlder().

◆ _coupled_array_moose_vars

std::vector<ArrayMooseVariable *> Coupleable::_coupled_array_moose_vars
protectedinherited

Vector of array coupled variables.

Definition at line 1336 of file Coupleable.h.

Referenced by Coupleable::Coupleable(), Coupleable::getCoupledArrayMooseVars(), and Coupleable::getVarHelper().

◆ _coupled_moose_vars

std::vector<MooseVariableFieldBase *> Coupleable::_coupled_moose_vars
protectedinherited

◆ _coupled_standard_fv_moose_vars

std::vector<MooseVariableFV<Real> *> Coupleable::_coupled_standard_fv_moose_vars
protectedinherited

Vector of standard finite volume coupled variables.

Definition at line 1339 of file Coupleable.h.

Referenced by Coupleable::Coupleable(), ElementValueSampler::execute(), and Coupleable::getVarHelper().

◆ _coupled_standard_moose_vars

std::vector<MooseVariable *> Coupleable::_coupled_standard_moose_vars
protectedinherited

◆ _coupled_vars

std::unordered_map<std::string, std::vector<MooseVariableFieldBase *> > Coupleable::_coupled_vars
protectedinherited

◆ _coupled_vector_moose_vars

std::vector<VectorMooseVariable *> Coupleable::_coupled_vector_moose_vars
protectedinherited

Vector of vector coupled variables.

Definition at line 1333 of file Coupleable.h.

Referenced by Coupleable::Coupleable(), Coupleable::getCoupledVectorMooseVars(), and Coupleable::getVarHelper().

◆ _current_elem

const Elem* const& Material::_current_elem
protected

Definition at line 237 of file Material.h.

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 78 of file SetupInterface.h.

Referenced by PseudoTimestep::execute().

◆ _current_side

const unsigned int& Material::_current_side
protected

current side of the current element

Definition at line 242 of file Material.h.

◆ _current_subdomain_id

const SubdomainID& Material::_current_subdomain_id
protected

Definition at line 239 of file Material.h.

◆ _default_array_curl

ArrayVariableCurl Coupleable::_default_array_curl
protectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1439 of file Coupleable.h.

◆ _default_array_gradient

ArrayVariableGradient Coupleable::_default_array_gradient
protectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1436 of file Coupleable.h.

Referenced by Coupleable::coupledArrayGradient(), Coupleable::coupledArrayGradientDot(), Coupleable::coupledArrayGradientOld(), and Coupleable::coupledArrayGradientOlder().

◆ _default_array_value

std::unordered_map<std::string, std::unique_ptr<ArrayVariableValue> > Coupleable::_default_array_value
mutableprotectedinherited

Will hold the default value for optional array coupled variables.

Definition at line 1368 of file Coupleable.h.

Referenced by Coupleable::getDefaultArrayValue().

◆ _default_array_value_zero

ArrayVariableValue Coupleable::_default_array_value_zero
protectedinherited

This will always be zero because the default values for optionally coupled variables is always constant and this is used for time derivative info.

Definition at line 1433 of file Coupleable.h.

Referenced by Coupleable::coupledArrayDot(), Coupleable::coupledArrayDotDot(), Coupleable::coupledArrayDotDotOld(), and Coupleable::coupledArrayDotOld().

◆ _default_gradient

VariableGradient Coupleable::_default_gradient
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1381 of file Coupleable.h.

Referenced by Coupleable::coupledGradient(), Coupleable::coupledGradientDot(), Coupleable::coupledGradientDotDot(), Coupleable::coupledGradientOld(), Coupleable::coupledGradientOlder(), and Coupleable::coupledGradientPreviousNL().

◆ _default_properties

std::vector<std::unique_ptr<PropertyValue> > MaterialPropertyInterface::_default_properties
protectedinherited

Storage vector for default properties.

Definition at line 546 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::defaultGenericMaterialProperty().

◆ _default_second

VariableSecond Coupleable::_default_second
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1390 of file Coupleable.h.

Referenced by Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledSecondOlder(), and Coupleable::coupledSecondPreviousNL().

◆ _default_value

std::unordered_map<std::string, std::vector<std::unique_ptr<VariableValue> > > Coupleable::_default_value
mutableprotectedinherited

Will hold the default value for optional coupled variables.

Definition at line 1358 of file Coupleable.h.

Referenced by Coupleable::getDefaultValue().

◆ _default_value_zero

VariableValue Coupleable::_default_value_zero
mutableprotectedinherited

◆ _default_vector_curl

VectorVariableCurl Coupleable::_default_vector_curl
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1427 of file Coupleable.h.

Referenced by Coupleable::coupledCurl(), Coupleable::coupledCurlOld(), and Coupleable::coupledCurlOlder().

◆ _default_vector_gradient

VectorVariableGradient Coupleable::_default_vector_gradient
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant.

Definition at line 1424 of file Coupleable.h.

Referenced by Coupleable::coupledVectorGradient(), Coupleable::coupledVectorGradientOld(), and Coupleable::coupledVectorGradientOlder().

◆ _default_vector_value

std::unordered_map<std::string, std::unique_ptr<VectorVariableValue> > Coupleable::_default_vector_value
mutableprotectedinherited

Will hold the default value for optional vector coupled variables.

Definition at line 1365 of file Coupleable.h.

Referenced by Coupleable::getDefaultVectorValue().

◆ _default_vector_value_zero

VectorVariableValue Coupleable::_default_vector_value_zero
mutableprotectedinherited

This will always be zero because the default values for optionally coupled variables is always constant and this is used for time derivative info.

Definition at line 1421 of file Coupleable.h.

Referenced by Coupleable::coupledVectorDot(), Coupleable::coupledVectorDotDot(), Coupleable::coupledVectorDotDotOld(), and Coupleable::coupledVectorDotOld().

◆ _displacements

std::vector<unsigned int> MaterialBase::_displacements
protectedinherited

Definition at line 367 of file MaterialBase.h.

◆ _dt

Real& TransientInterface::_dt
protectedinherited

◆ _dt_old

Real& TransientInterface::_dt_old
protectedinherited

Size of the old time step.

Definition at line 70 of file TransientInterface.h.

Referenced by VariableTimeIntegrationAux::getIntegralValue().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.

Definition at line 53 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

◆ _face_info

const FaceInfo* MaterialBase::_face_info = nullptr
protectedinherited

Definition at line 374 of file MaterialBase.h.

Referenced by MaterialBase::setFaceInfo().

◆ _factory

Factory& MooseBaseParameterInterface::_factory
protectedinherited

◆ _fe_problem

FEProblemBase& MaterialBase::_fe_problem
protectedinherited

◆ _geometric_search_data

GeometricSearchData& GeometricSearchInterface::_geometric_search_data
protectedinherited

◆ _get_material_property_called

bool MaterialPropertyInterface::_get_material_property_called
protectedinherited

Initialized to false.

Gets set to true when getMaterialProperty() is called. Clients of this class can inquire whether getMaterialProperty() has been called by calling getMaterialPropertyCalled().

Definition at line 543 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::getGenericMaterialPropertyByName(), and MaterialPropertyInterface::getMaterialPropertyCalled().

◆ _get_suffix

const MaterialPropertyName MaterialPropertyInterface::_get_suffix
protectedinherited

◆ _ghostable

bool Material::_ghostable
private

Whether this material can be computed in a ghosted context.

If properties are constant or depend only on finite volume variables, then this material can be computed in a ghosted context. If properties depend on finite element variables, then this material cannot be computed in a ghosted context

Definition at line 254 of file Material.h.

Referenced by ghostable(), and Material().

◆ _grad_phi_zero

const VariablePhiGradient& Coupleable::_grad_phi_zero
protectedinherited

Zero gradient of trial function.

Definition at line 1405 of file Coupleable.h.

◆ _grad_zero

const VariableGradient& Coupleable::_grad_zero
protectedinherited

Zero gradient of a variable.

Definition at line 1401 of file Coupleable.h.

◆ _has_stateful_property

bool MaterialBase::_has_stateful_property
protectedinherited

◆ _interpolated_old

const std::string MaterialPropertyInterface::_interpolated_old = "_interpolated_old"
staticprotectedinherited

name suffixes for interpolated old and older properties

Definition at line 557 of file MaterialPropertyInterface.h.

Referenced by getGenericMaterialPropertyByName(), and MaterialPropertyInterface::getGenericMaterialPropertyByName().

◆ _interpolated_older

const std::string MaterialPropertyInterface::_interpolated_older = "_interpolated_older"
staticprotectedinherited

◆ _is_implicit

bool TransientInterface::_is_implicit
protectedinherited

If the object is using implicit or explicit form.

This does NOT mean time scheme, but which values are going to be used in the object - either from current time or old time. Note that even explicit schemes have implicit form (it is the time derivative "kernel")

Definition at line 58 of file TransientInterface.h.

Referenced by EigenKernel::computeJacobian(), EigenKernel::computeOffDiagJacobian(), Kernel::computeResidualAndJacobian(), NodalBC::computeResidualAndJacobian(), IntegratedBC::computeResidualAndJacobian(), TransientInterface::determineState(), EigenKernel::EigenKernel(), EigenKernel::enabled(), and TransientInterface::isImplicit().

◆ _is_transient

bool TransientInterface::_is_transient
protectedinherited

Definition at line 73 of file TransientInterface.h.

Referenced by InterfaceTimeKernel::InterfaceTimeKernel().

◆ _JxW

const MooseArray<Real>& Material::_JxW
protected

Definition at line 235 of file Material.h.

◆ _material_data

MaterialData& MaterialPropertyInterface::_material_data
protectedinherited

◆ _material_data_type

const Moose::MaterialDataType MaterialPropertyInterface::_material_data_type
protectedinherited

◆ _material_property_dependencies

std::unordered_set<unsigned int> MaterialPropertyInterface::_material_property_dependencies
protectedinherited

The set of material properties (as given by their IDs) that this object depends on.

Definition at line 549 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::getBlockMaterialProperty(), MaterialPropertyInterface::getGenericMaterialPropertyByName(), and MaterialPropertyInterface::getMatPropDependencies().

◆ _mci_feproblem

FEProblemBase& MeshChangedInterface::_mci_feproblem
protectedinherited

Reference to FEProblemBase instance.

Definition at line 38 of file MeshChangedInterface.h.

Referenced by MeshChangedInterface::MeshChangedInterface().

◆ _mesh

MooseMesh& MaterialBase::_mesh
protectedinherited

◆ _mi_feproblem

FEProblemBase& MaterialPropertyInterface::_mi_feproblem
protectedinherited

◆ _mi_moose_object_name

const MooseObjectName MaterialPropertyInterface::_mi_moose_object_name
protectedinherited

The "complete" name of the object that this interface belongs for material property output.

Definition at line 466 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::getBlockMaterialProperty(), and MaterialPropertyInterface::getGenericMaterialPropertyByName().

◆ _mi_name

const std::string MaterialPropertyInterface::_mi_name
protectedinherited

The name of the object that this interface belongs to.

Definition at line 463 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

◆ _mi_params

const InputParameters& MaterialPropertyInterface::_mi_params
protectedinherited

◆ _mi_subproblem

SubProblem& MaterialPropertyInterface::_mi_subproblem
protectedinherited

Reference to the subproblem.

Definition at line 472 of file MaterialPropertyInterface.h.

◆ _mi_tid

const THREAD_ID MaterialPropertyInterface::_mi_tid
protectedinherited

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class, reference to value stored in InputParameters.

Definition at line 75 of file MooseBase.h.

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

◆ _neighbor

bool Material::_neighbor
protected

Definition at line 230 of file Material.h.

Referenced by getElementID(), and getElementIDByName().

◆ _new_to_deprecated_coupled_vars

const std::unordered_map<std::string, std::string>& Coupleable::_new_to_deprecated_coupled_vars
protectedinherited

map from new to deprecated variable names

Definition at line 1342 of file Coupleable.h.

Referenced by Coupleable::getVarHelper().

◆ _normals

const MooseArray<Point>& MaterialBase::_normals
protectedinherited

normals at quadrature points (valid only in boundary materials)

Definition at line 322 of file MaterialBase.h.

◆ _optional_property_proxies

std::vector<std::unique_ptr<OptionalMaterialPropertyProxyBase<Material> > > Material::_optional_property_proxies
private

optional material properties

Definition at line 258 of file Material.h.

Referenced by getGenericOptionalMaterialProperty(), and resolveOptionalProperties().

◆ _overrides_init_stateful_props

bool MaterialBase::_overrides_init_stateful_props = true
protectedinherited

◆ _pars

const InputParameters& MooseBaseParameterInterface::_pars
protectedinherited

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

Definition at line 168 of file MooseBaseParameterInterface.h.

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

◆ _phi_zero

const VariablePhiValue& Coupleable::_phi_zero
protectedinherited

Definition at line 1397 of file Coupleable.h.

◆ _point_zero

const Point& ScalarCoupleable::_point_zero
protectedinherited

◆ _props_to_min_states

std::unordered_map<unsigned int, unsigned int> MaterialBase::_props_to_min_states
protectedinherited

The minimum states requested (0 = current, 1 = old, 2 = older) This is sparse and is used to keep track of whether or not stateful properties are requested without state 0 being requested.

Definition at line 359 of file MaterialBase.h.

Referenced by MaterialBase::checkStatefulSanity(), and MaterialBase::registerPropName().

◆ _q_point

const MooseArray<Point>& Material::_q_point
protected

Definition at line 232 of file Material.h.

◆ _qp

unsigned int MaterialBase::_qp
protectedinherited

◆ _qrule

const QBase* const& Material::_qrule
protected

Definition at line 233 of file Material.h.

Referenced by computeProperties(), and qRule().

◆ _real_zero

const Real& ScalarCoupleable::_real_zero
protectedinherited

Scalar zero.

Definition at line 238 of file ScalarCoupleable.h.

◆ _requested_props

std::set<std::string> MaterialBase::_requested_props
protectedinherited

◆ _requires_geometric_search

bool GeometricSearchInterface::_requires_geometric_search
protectedinherited

Whether any of this interface's methods have been called, e.g.

whether the object that this interface is for requires geometric search data

Definition at line 72 of file GeometricSearchInterface.h.

Referenced by GeometricSearchInterface::getNearestNodeLocator(), GeometricSearchInterface::getPenetrationLocator(), GeometricSearchInterface::getQuadratureNearestNodeLocator(), GeometricSearchInterface::getQuadraturePenetrationLocator(), and GeometricSearchInterface::requiresGeometricSearch().

◆ _restartable_app

MooseApp& Restartable::_restartable_app
protectedinherited

Reference to the application.

Definition at line 227 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp(), and Restartable::registerRestartableNameWithFilterOnApp().

◆ _restartable_read_only

const bool Restartable::_restartable_read_only
protectedinherited

Flag for toggling read only status (see ReporterData)

Definition at line 236 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp().

◆ _restartable_system_name

const std::string Restartable::_restartable_system_name
protectedinherited

The system name this object is in.

Definition at line 230 of file Restartable.h.

Referenced by Restartable::restartableName().

◆ _restartable_tid

const THREAD_ID Restartable::_restartable_tid
protectedinherited

The thread ID for this object.

Definition at line 233 of file Restartable.h.

Referenced by Restartable::declareRestartableDataHelper().

◆ _sc_fe_problem

FEProblemBase& ScalarCoupleable::_sc_fe_problem
protectedinherited

◆ _sc_tid

const THREAD_ID ScalarCoupleable::_sc_tid
protectedinherited

Thread ID of the thread using this object.

Definition at line 235 of file ScalarCoupleable.h.

Referenced by ScalarCoupleable::ScalarCoupleable().

◆ _scalar_zero

const VariableValue& ScalarCoupleable::_scalar_zero
protectedinherited

Zero value of a scalar variable.

Definition at line 241 of file ScalarCoupleable.h.

◆ _second_phi_zero

const VariablePhiSecond& Coupleable::_second_phi_zero
protectedinherited

Zero second derivative of a test function.

Definition at line 1411 of file Coupleable.h.

◆ _second_zero

const VariableSecond& Coupleable::_second_zero
protectedinherited

Zero second derivative of a variable.

Definition at line 1408 of file Coupleable.h.

◆ _stateful_allowed

bool MaterialPropertyInterface::_stateful_allowed
protectedinherited

True by default.

If false, this class throws an error if any of the stateful material properties interfaces are used.

Definition at line 536 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::getPossiblyConstantGenericMaterialPropertyByName(), and MaterialPropertyInterface::statefulPropertiesAllowed().

◆ _subproblem

SubProblem& MaterialBase::_subproblem
protectedinherited

Definition at line 312 of file MaterialBase.h.

Referenced by FunctorMaterial::addFunctorPropertyByBlocks().

◆ _supplied_prop_ids

std::set<unsigned int> MaterialBase::_supplied_prop_ids
protectedinherited

The ids of the supplied properties, i.e.

the indices where they are stored in the _material_data->props(). Note: these ids ARE NOT IN THE SAME ORDER AS THE _supplied_props set, which is ordered alphabetically by name. The intention of this container is to allow rapid copying of MaterialProperty values in MaterialBase::computeProperties() without looking up the ids from the name strings each time.

Definition at line 342 of file MaterialBase.h.

Referenced by computeProperties(), MaterialBase::getSuppliedPropIDs(), MaterialBase::initStatefulProperties(), MaterialBase::registerPropName(), MaterialBase::setActiveProperties(), and subdomainSetup().

◆ _supplied_props

std::set<std::string> MaterialBase::_supplied_props
protectedinherited

Set of properties declared.

Definition at line 333 of file MaterialBase.h.

Referenced by MaterialBase::getSuppliedItems(), and MaterialBase::registerPropName().

◆ _t

Real& TransientInterface::_t
protectedinherited

Time.

Definition at line 61 of file TransientInterface.h.

Referenced by FVFunctionDirichletBC::boundaryValue(), AnalyticalIndicator::computeQpIntegral(), FunctionElementIntegral::computeQpIntegral(), ElementL2Error::computeQpIntegral(), ElementHCurlSemiError::computeQpIntegral(), ElementHDivSemiError::computeQpIntegral(), ElementL1Error::computeQpIntegral(), FunctionElementIntegralUserObject::computeQpIntegral(), FunctionSideIntegral::computeQpIntegral(), ElementH1SemiError::computeQpIntegral(), ElementVectorL2Error::computeQpIntegral(), ElementW1pError::computeQpIntegral(), FunctionDiffusion::computeQpJacobian(), VectorFunctionReaction::computeQpJacobian(), ArrayBodyForce::computeQpResidual(), FunctionDiffusion::computeQpResidual(), ConvectiveFluxBC::computeQpResidual(), ADFunctionNeumannBC::computeQpResidual(), ADVectorFunctionNeumannBC::computeQpResidual(), FunctionDiracSource::computeQpResidual(), FVFunctionNeumannBC::computeQpResidual(), FunctionGradientNeumannBC::computeQpResidual(), FunctionNeumannBC::computeQpResidual(), VectorFunctionReaction::computeQpResidual(), VectorCurlPenaltyDirichletBC::computeQpResidual(), VectorDivPenaltyDirichletBC::computeQpResidual(), VectorFunctionDirichletBC::computeQpResidual(), VectorPenaltyDirichletBC::computeQpResidual(), FVOrthogonalBoundaryDiffusion::computeQpResidual(), FVBodyForce::computeQpResidual(), VectorBodyForce::computeQpResidual(), ADConservativeAdvectionBC::computeQpResidual(), UserForcingFunctionNodalKernel::computeQpResidual(), SinDirichletBC::computeQpResidual(), ADFunctionPenaltyDirichletBC::computeQpResidual(), SinNeumannBC::computeQpResidual(), FunctionPenaltyDirichletBC::computeQpResidual(), DGFunctionDiffusionDirichletBC::computeQpResidual(), ADVectorFunctionDirichletBC::computeQpValue(), ADFunctionDirichletBC::computeQpValue(), FunctionDirichletBC::computeQpValue(), FunctionArrayAux::computeValue(), ForcingFunctionAux::computeValue(), ParsedAux::computeValue(), ParsedVectorAux::computeValue(), ArrayParsedAux::computeValue(), FunctionScalarAux::computeValue(), VectorFunctionAux::computeValue(), FunctionAux::computeValue(), SolutionScalarAux::computeValue(), ElementL2ErrorFunctionAux::computeValue(), SolutionAux::computeValue(), ElementH1ErrorFunctionAux::computeValue(), ConditionalFunctionEnableControl::conditionMet(), TimePeriod::conditionMet(), LineFunctionSampler::execute(), NodalL2Error::execute(), IterationInfo::execute(), BoolFunctionControl::execute(), PIDTransientControl::execute(), RealFunctionControl::execute(), LeastSquaresFitHistory::execute(), TimeExtremeValue::execute(), UserForcingFunction::f(), ParsedPostprocessor::finalize(), FunctionValuePostprocessor::getValue(), ScalarL2Error::getValue(), ActivateElementsByPath::isElementActivated(), and SolutionUserObject::timestepSetup().

◆ _t_step

int& TransientInterface::_t_step
protectedinherited

◆ _ti_feproblem

FEProblemBase& TransientInterface::_ti_feproblem
protectedinherited

◆ _ti_params

const InputParameters& TransientInterface::_ti_params
protectedinherited

Definition at line 48 of file TransientInterface.h.

◆ _tid

THREAD_ID MaterialBase::_tid
protectedinherited

◆ _type

const std::string& MooseBase::_type
protectedinherited

◆ _use_interpolated_state

const bool MaterialPropertyInterface::_use_interpolated_state
protectedinherited

◆ _vector_curl_zero

const VectorVariableCurl& Coupleable::_vector_curl_zero
protectedinherited

Zero value of the curl of a vector variable.

Definition at line 1415 of file Coupleable.h.

◆ _vector_zero

const VectorVariableValue& Coupleable::_vector_zero
protectedinherited

Zero value of a vector variable.

Definition at line 1413 of file Coupleable.h.

◆ _zero

const VariableValue& Coupleable::_zero
protectedinherited

Zero value of a variable.

Definition at line 1396 of file Coupleable.h.

◆ default_property_id

constexpr PropertyValue::id_type MaterialPropertyInterface::default_property_id
staticinherited
Initial value:

The material property ID for a default (parsed from input) property.

Definition at line 75 of file MaterialPropertyInterface.h.

Referenced by MaterialPropertyInterface::defaultGenericMaterialProperty().

◆ zero_property_id

constexpr PropertyValue::id_type MaterialPropertyInterface::zero_property_id = PropertyValue::invalid_property_id - 2
staticinherited

The material property ID for a zero property.

Definition at line 78 of file MaterialPropertyInterface.h.

Referenced by MaterialBase::getGenericZeroMaterialProperty(), and MaterialPropertyInterface::getGenericZeroMaterialProperty().


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