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

Computes the magnitude of a vector whose components are given by up to three coupled variables. More...

#include <VectorMagnitudeAux.h>

Inheritance diagram for VectorMagnitudeAux:
[legend]

Public Types

enum  TEST_TYPE { ALL, ANY }
 A flag changing the behavior of hasBoundary. More...
 

Public Member Functions

 VectorMagnitudeAux (const InputParameters &parameters)
 
virtual void compute ()
 Computes the value and stores it in the solution vector. More...
 
MooseVariablevariable ()
 Get a reference to a variable this kernel is action on. More...
 
bool isNodal ()
 Nodal or elemental kernel? More...
 
bool isNodal () const
 
const std::set< std::string > & getDependObjects () const
 
void coupledCallback (const std::string &var_name, bool is_old) override
 
virtual const std::set< std::string > & getRequestedItems () override
 Return a set containing the names of items requested by the object. More...
 
virtual const std::set< std::string > & getSuppliedItems () override
 Return a set containing the names of items owned by the object. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialProperty (const std::string &name)
 Override functions from MaterialPropertyInterface for error checking. More...
 
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 >
const T & getUserObject (const std::string &name)
 
template<typename T >
const T & getUserObjectByName (const UserObjectName &name)
 
template<class T >
const T & getUserObjectByName (const std::string &name)
 Get an user object with a given name. More...
 
const UserObjectgetUserObjectBase (const std::string &name)
 
virtual const PostprocessorValuegetPostprocessorValue (const std::string &name)
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name)
 
virtual const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &name, const std::string &vector_name) override
 Retrieve the value of a VectorPostprocessor. More...
 
virtual const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &, const std::string &vector_name) override
 Retrieve the value of the VectorPostprocessor. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp ()
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled ()
 Return the enabled status of the object. More...
 
template<typename... Args>
void mooseError (Args &&...args) const
 
template<typename... Args>
void mooseWarning (Args &&...args) const
 
template<typename... Args>
void mooseDeprecated (Args &&...args) const
 
template<typename... Args>
void mooseInfo (Args &&...args) const
 
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. 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 (const 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 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 boundary. More...
 
void checkVariable (const MooseVariable &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 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 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 subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
virtual const std::vector< ExecFlagType > & execFlags () const
 Get the execution flag for the object. More...
 
ExecFlagType execBitFlags () const
 Build and return the execution flags as a bitfield. More...
 
const std::map< std::string, std::vector< MooseVariable * > > & getCoupledVars ()
 Get the list of coupled variables. More...
 
const std::vector< MooseVariable * > & getCoupledMooseVars () const
 Get the list of coupled variables. More...
 
const std::vector< MooseVariableScalar * > & getCoupledMooseScalarVars ()
 Get the list of coupled scalar variables. More...
 
MooseVariablemooseVariable ()
 Get the variable that this object is using. More...
 
const std::set< MooseVariable * > & getMooseVariableDependencies () const
 Retrieve the set of MooseVariables that this object depends on. More...
 
FunctiongetFunction (const std::string &name)
 Get a function with a given name. More...
 
FunctiongetFunctionByName (const FunctionName &name)
 Get a function with a given name. More...
 
const UserObjectgetUserObjectBaseByName (const std::string &name)
 Get an user object with a given name. More...
 
bool isImplicit ()
 
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 >
const MaterialProperty< T > & getZeroMaterialProperty (const std::string &prop_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...
 
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 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...
 
const std::set< unsigned int > & getMatPropDependencies () const
 Retrieve the set of material properties that this object depends on. More...
 
template<>
const MaterialProperty< Real > * defaultMaterialProperty (const std::string &name)
 
bool hasPostprocessor (const std::string &name) const
 Determine if the Postprocessor exists. More...
 
bool hasPostprocessorByName (const PostprocessorName &name)
 Determine if the Postprocessor exists. 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 (unsigned int id)
 Get the seed for the passed in elem/node id. More...
 
unsigned int getMasterSeed () const
 
ExecFlagType getResetOnTime () const
 
void setRandomDataPointer (RandomData *random_data)
 
virtual void meshChanged ()
 Called on this object when the mesh changes. More...
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name)
 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 > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
template<typename T >
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
MaterialgetMaterial (const std::string &name)
 Return a Material reference - usable for computing directly. More...
 
MaterialgetMaterialByName (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)
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &name)
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &name)
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name)
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name)
 
const PostprocessorValuegetDefaultPostprocessorValue (const std::string &name)
 Return the default postprocessor value. More...
 

Static Public Member Functions

static bool restricted (const std::set< BoundaryID > &ids)
 Helper for determining if the object is boundary restricted. More...
 
static MultiMooseEnum getExecuteOptions ()
 Returns the available options for the 'execute_on' input parameters. 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 cyclicDependencyError (CyclicDependencyException< T > &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...
 

Protected Member Functions

virtual Real computeValue () override
 
virtual const VariableValuecoupledDot (const std::string &var_name, unsigned int comp=0) override
 Time derivative of a coupled variable. More...
 
virtual const VariableValuecoupledDotDu (const std::string &var_name, unsigned int comp=0) override
 Time derivative of a coupled variable with respect to the coefficients. More...
 
virtual void precalculateValue ()
 This callback is used for AuxKernels that need to perform a per-element calculation. 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...
 
virtual bool isCoupled (const std::string &var_name, unsigned int i=0)
 Returns true if a variables has been coupled as name. More...
 
unsigned int coupledComponents (const std::string &var_name)
 Number of coupled components. More...
 
virtual unsigned int coupled (const std::string &var_name, unsigned int comp=0)
 Returns the index for a coupled variable by name. More...
 
virtual const VariableValuecoupledValue (const std::string &var_name, unsigned int comp=0)
 Returns value of a coupled variable. More...
 
virtual VariableValuewritableCoupledValue (const std::string &var_name, unsigned int comp=0)
 Returns a writable reference to a coupled variable. More...
 
virtual const VariableValuecoupledValueOld (const std::string &var_name, unsigned int comp=0)
 Returns an old value from previous time step of a coupled variable. More...
 
virtual const VariableValuecoupledValueOlder (const std::string &var_name, unsigned int comp=0)
 Returns an old value from two time steps previous of a coupled variable. More...
 
virtual const VariableValuecoupledValuePreviousNL (const std::string &var_name, unsigned int comp=0)
 Returns value of previous Newton iterate of a coupled variable. More...
 
virtual const VariableGradientcoupledGradient (const std::string &var_name, unsigned int comp=0)
 Returns gradient of a coupled variable. More...
 
virtual const VariableGradientcoupledGradientOld (const std::string &var_name, unsigned int comp=0)
 Returns an old gradient from previous time step of a coupled variable. More...
 
virtual const VariableGradientcoupledGradientOlder (const std::string &var_name, unsigned int comp=0)
 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)
 Returns gradient of a coupled variable for previous Newton iterate. More...
 
virtual const VariableSecondcoupledSecond (const std::string &var_name, unsigned int comp=0)
 Returns second derivative of a coupled variable. More...
 
virtual const VariableSecondcoupledSecondOld (const std::string &var_name, unsigned int comp=0)
 Returns an old second derivative from previous time step of a coupled variable. More...
 
virtual const VariableSecondcoupledSecondOlder (const std::string &var_name, unsigned int comp=0)
 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)
 Returns second derivative of a coupled variable for the previous Newton iterate. More...
 
virtual const VariableValuecoupledNodalValue (const std::string &var_name, unsigned int comp=0)
 Returns nodal values of a coupled variable. More...
 
virtual const VariableValuecoupledNodalValueOld (const std::string &var_name, unsigned int comp=0)
 Returns an old nodal value from previous time step of a coupled variable. More...
 
virtual const VariableValuecoupledNodalValueOlder (const std::string &var_name, unsigned int comp=0)
 Returns an old nodal value from two time steps previous of a coupled variable. More...
 
virtual const VariableValuecoupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0)
 Returns nodal values of a coupled variable for previous Newton iterate. More...
 
virtual const VariableValuecoupledNodalDot (const std::string &var_name, unsigned int comp=0)
 Nodal values of time derivative of a coupled variable. More...
 
virtual const DenseVector< Number > & coupledSolutionDoFs (const std::string &var_name, unsigned int comp=0)
 Returns DoFs in the current solution vector of a coupled variable for the local element. More...
 
virtual const DenseVector< Number > & coupledSolutionDoFsOld (const std::string &var_name, unsigned int comp=0)
 Returns DoFs in the old solution vector of a coupled variable for the local element. More...
 
virtual const DenseVector< Number > & coupledSolutionDoFsOlder (const std::string &var_name, unsigned int comp=0)
 Returns DoFs in the older solution vector of a coupled variable for the local element. More...
 
MooseVariablegetVar (const std::string &var_name, unsigned int comp)
 Extract pointer to a coupled variable. More...
 
void validateExecutionerType (const std::string &name) const
 Checks to make sure that the current Executioner has set "_it_transient" when old/older values are coupled in. More...
 
VariableValuegetDefaultValue (const std::string &var_name)
 Helper method to return (and insert if necessary) the default value for an uncoupled variable. More...
 
virtual bool isCoupledScalar (const std::string &var_name, unsigned int i=0)
 Returns true if a variables has been coupled_as name. More...
 
virtual unsigned int coupledScalarComponents (const std::string &var_name)
 Return the number of components to the coupled scalar variable. More...
 
virtual unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0)
 Returns the index for a scalar coupled variable by name. More...
 
virtual Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0)
 Returns the order for a scalar coupled variable by name. More...
 
virtual VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0)
 Returns value of a scalar coupled variable. More...
 
virtual VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0)
 Returns the old (previous time step) value of a scalar coupled variable. More...
 
virtual VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0)
 Returns the older (two time steps previous) value of a scalar coupled variable. More...
 
virtual VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0)
 Returns the time derivative of a scalar coupled variable. More...
 
virtual VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0)
 Time derivative of a scalar coupled variable with respect to the coefficients. More...
 
MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp)
 Extract pointer to a scalar coupled variable. More...
 
virtual const VariableValuevalue ()
 The value of the variable this object is operating on. More...
 
virtual const VariableValuevalueOld ()
 The old value of the variable this object is operating on. More...
 
virtual const VariableValuevalueOlder ()
 The older value of the variable this object is operating on. More...
 
virtual const VariableValuedot ()
 The time derivative of the variable this object is operating on. More...
 
virtual const VariableValuedotDu ()
 The derivative of the time derivative of the variable this object is operating on with respect to this variable's coefficients. More...
 
virtual const VariableGradientgradient ()
 The gradient of the variable this object is operating on. More...
 
virtual const VariableGradientgradientOld ()
 The old gradient of the variable this object is operating on. More...
 
virtual const VariableGradientgradientOlder ()
 The older gradient of the variable this object is operating on. More...
 
virtual const VariableSecondsecond ()
 The second derivative of the variable this object is operating on. More...
 
virtual const VariableSecondsecondOld ()
 The old second derivative of the variable this object is operating on. More...
 
virtual const VariableSecondsecondOlder ()
 The older second derivative of the variable this object is operating on. More...
 
virtual const VariableTestSecondsecondTest ()
 The second derivative of the test function. More...
 
virtual const VariableTestSecondsecondTestFace ()
 The second derivative of the test function on the current face. More...
 
virtual const VariablePhiSecondsecondPhi ()
 The second derivative of the trial function. More...
 
virtual const VariablePhiSecondsecondPhiFace ()
 The second derivative of the trial function on the current face. More...
 
void addMooseVariableDependency (MooseVariable *var)
 Call this function to add the passed in MooseVariable as a variable that this object depends on. More...
 
void addMooseVariableDependency (std::vector< MooseVariable * > vars)
 
void checkMaterialProperty (const std::string &name)
 A helper method for checking material properties This method was required to avoid a compiler problem with the template getMaterialProperty method. More...
 
void markMatPropRequested (const std::string &)
 A proxy method for _mi_feproblem.markMatPropRequested(name) More...
 
std::string deducePropertyName (const std::string &name)
 Small helper to look up a material property name through the input parameter keys. More...
 
template<typename T >
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 Helper function to parse default material property values. More...
 
PenetrationLocatorgetPenetrationLocator (const BoundaryName &master, const BoundaryName &slave, Order order)
 Retrieve the PentrationLocator associated with the two sides. More...
 
PenetrationLocatorgetQuadraturePenetrationLocator (const BoundaryName &master, const BoundaryName &slave, Order order)
 Retrieve the Quadrature PentrationLocator associated with the two sides. More...
 
PenetrationLocatorgetMortarPenetrationLocator (const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type, Order order)
 Retrieve the mortar PentrationLocator associated with the two sides. More...
 
NearestNodeLocatorgetNearestNodeLocator (const BoundaryName &master, const BoundaryName &slave)
 Retrieve the PentrationLocator associated with the two sides. More...
 
NearestNodeLocatorgetQuadratureNearestNodeLocator (const BoundaryName &master, const BoundaryName &slave)
 Retrieve a Quadrature NearestNodeLocator associated with the two sides. More...
 
NearestNodeLocatorgetMortarNearestNodeLocator (const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type)
 Retrieve a mortar NearestNodeLocator associated with the two sides. More...
 
template<typename T >
T & declareRestartableData (std::string data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &name, const std::string &vector_name)
 Retrieve the old value of a VectorPostprocessor. More...
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name)
 Retrieve the old value of a VectorPostprocessor. More...
 
bool hasVectorPostprocessor (const std::string &name) const
 Determine if the VectorPostprocessor exists. More...
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 Determine if the VectorPostprocessor exists. More...
 

Protected Attributes

const VariableValue_x
 
const VariableValue_y
 
const VariableValue_z
 
SubProblem_subproblem
 Subproblem this kernel is part of. More...
 
SystemBase_sys
 System this kernel is part of. More...
 
SystemBase_nl_sys
 
AuxiliarySystem_aux_sys
 
THREAD_ID _tid
 Thread ID. More...
 
Assembly_assembly
 Assembly class. More...
 
MooseVariable_var
 Variable this kernel is acting on. More...
 
bool _nodal
 true if the kernel is nodal, false if it is elemental More...
 
bool _bnd
 true if the kernel is boundary kernel, false if it is interior kernels More...
 
MooseMesh_mesh
 Mesh this kernel is active on. More...
 
const MooseArray< Point > & _q_point
 Dimension of the problem being solved. More...
 
QBase *& _qrule
 Quadrature rule being used. More...
 
const MooseArray< Real > & _JxW
 Transformed Jacobian weights. More...
 
const MooseArray< Real > & _coord
 
const VariableValue_u
 Holds the solution at current quadrature points. More...
 
const VariableValue_u_old
 Holds the previous solution at the current quadrature point. More...
 
const VariableValue_u_older
 Holds the t-2 solution at the current quadrature point. More...
 
const VariableTestValue_test
 holds the the test functions More...
 
const Elem *& _current_elem
 Current element (valid only for elemental kernels) More...
 
unsigned int & _current_side
 current side of the current element More...
 
const Real & _current_elem_volume
 Volume of the current element. More...
 
const Real & _current_side_volume
 Volume of the current side. More...
 
const Node *& _current_node
 Current node (valid only for nodal kernels) More...
 
NumericVector< Number > & _solution
 reference to the solution vector of auxiliary system More...
 
unsigned int _qp
 Quadrature point index. More...
 
std::set< std::string > _depend_vars
 Depend AuxKernels. More...
 
std::set< std::string > _supplied_vars
 
std::set< std::string > _depend_uo
 Depend UserObjects. More...
 
unsigned int _n_local_dofs
 number of local dofs for elemental variables More...
 
DenseVector< Number > _local_re
 for holding local load More...
 
DenseVector< Number > _local_sol
 for holding local solution More...
 
DenseMatrix< Number > _local_ke
 for holding local mass matrix More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
std::shared_ptr< MaterialData_blk_material_data
 Pointer to the MaterialData class for this object. More...
 
std::vector< ExecFlagType_exec_flags
 execution flag (when is the object executed/evaluated) More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 
const InputParameters_c_parameters
 
FEProblemBase_c_fe_problem
 
std::map< std::string, std::vector< MooseVariable * > > _coupled_vars
 Coupled vars whose values we provide. More...
 
std::vector< MooseVariable * > _coupled_moose_vars
 Vector of coupled variables. 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 InputParameters_coupleable_params
 Local InputParameters. More...
 
const InputParameters_coupleable_params
 Local InputParameters. More...
 
std::map< std::string, VariableValue * > _default_value
 Will hold the default value for optional coupled variables. More...
 
std::map< std::string, VariableValue * > _default_value
 Will hold the default value for optional coupled scalar variables. 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...
 
VariableSecond _default_second
 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_sc_parameters
 
FEProblemBase_sc_fe_problem
 
std::map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
 Coupled vars whose values we provide. More...
 
std::vector< MooseVariableScalar * > _coupled_moose_scalar_vars
 Vector of coupled variables. More...
 
bool _sc_is_implicit
 True if implicit value is required. More...
 
MooseVariable_variable
 The variable this object is acting on. More...
 
Assembly_mvi_assembly
 
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
 
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...
 
Moose::MaterialDataType _material_data_type
 The type of data. More...
 
std::shared_ptr< MaterialData_material_data
 Pointer to the material data class that stores properties. More...
 
FEProblemBase_mi_feproblem
 Reference to the FEProblemBase class. More...
 
const THREAD_ID _mi_tid
 Current threaded it. More...
 
bool _stateful_allowed
 True by default. More...
 
bool _get_material_property_called
 Initialized to false. More...
 
std::vector< std::unique_ptr< MaterialProperty< Real > > > _default_real_properties
 Storage vector for MaterialProperty<Real> default objects. More...
 
std::set< unsigned int > _material_property_dependencies
 The set of material properties (as given by their IDs) that this object depends on. More...
 
GeometricSearchData_geometric_search_data
 
FEProblemBase_zi_feproblem
 
THREAD_ID _zi_tid
 
const Real & _real_zero
 
const VariableValue_zero
 
const VariableGradient_grad_zero
 
const VariableSecond_second_zero
 
const VariablePhiSecond_second_phi_zero
 
FEProblemBase_mci_feproblem
 Reference to FEProblemBase instance. More...
 

Detailed Description

Computes the magnitude of a vector whose components are given by up to three coupled variables.

Definition at line 28 of file VectorMagnitudeAux.h.

Member Enumeration Documentation

A flag changing the behavior of hasBoundary.

Enumerator
ALL 
ANY 

Definition at line 40 of file BoundaryRestrictable.h.

Constructor & Destructor Documentation

VectorMagnitudeAux::VectorMagnitudeAux ( const InputParameters parameters)

Definition at line 33 of file VectorMagnitudeAux.C.

34  : AuxKernel(parameters),
35  _x(coupledValue("x")),
36  _y(_mesh.dimension() >= 2 ? coupledValue("y") : _zero),
37  _z(_mesh.dimension() >= 3 ? coupledValue("z") : _zero)
38 {
39 }
virtual unsigned int dimension() const
Returns MeshBase::mesh_dimsension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh m...
Definition: MooseMesh.C:1945
const VariableValue & _y
MooseMesh & _mesh
Mesh this kernel is active on.
Definition: AuxKernel.h:154
const VariableValue & _z
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0)
Returns value of a coupled variable.
Definition: Coupleable.C:167
const VariableValue & _zero
Definition: ZeroInterface.h:44
AuxKernel(const InputParameters &parameters)
Definition: AuxKernel.C:63
const VariableValue & _x

Member Function Documentation

void MooseVariableDependencyInterface::addMooseVariableDependency ( MooseVariable var)
inlineprotectedinherited

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

Definition at line 42 of file MooseVariableDependencyInterface.h.

Referenced by AuxNodalScalarKernel::AuxNodalScalarKernel(), CoupleableMooseVariableDependencyIntermediateInterface::CoupleableMooseVariableDependencyIntermediateInterface(), DGKernel::DGKernel(), ElementIndicator::ElementIndicator(), ElementIntegralVariablePostprocessor::ElementIntegralVariablePostprocessor(), ElementIntegralVariableUserObject::ElementIntegralVariableUserObject(), ElementUserObject::ElementUserObject(), ElementVariablePostprocessor::ElementVariablePostprocessor(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), InternalSideIndicator::InternalSideIndicator(), InternalSideUserObject::InternalSideUserObject(), KernelBase::KernelBase(), Marker::Marker(), Material::Material(), NeighborCoupleableMooseVariableDependencyIntermediateInterface::NeighborCoupleableMooseVariableDependencyIntermediateInterface(), NodalBC::NodalBC(), NodalKernel::NodalKernel(), NodalScalarKernel::NodalScalarKernel(), NodalUserObject::NodalUserObject(), QuadraturePointMarker::QuadraturePointMarker(), SideIntegralVariablePostprocessor::SideIntegralVariablePostprocessor(), SideIntegralVariableUserObject::SideIntegralVariableUserObject(), and SideUserObject::SideUserObject().

42 { _moose_variable_dependencies.insert(var); }
std::set< MooseVariable * > _moose_variable_dependencies
void MooseVariableDependencyInterface::addMooseVariableDependency ( std::vector< MooseVariable * >  vars)
inlineprotectedinherited

Definition at line 43 of file MooseVariableDependencyInterface.h.

44  {
45  _moose_variable_dependencies.insert(vars.begin(), vars.end());
46  }
std::set< MooseVariable * > _moose_variable_dependencies
const std::set< SubdomainID > & BlockRestrictable::blockIDs ( ) const
virtualinherited

Return the block subdomain ids for this object.

Returns
a set of SudomainIDs that are valid for this object

Definition at line 168 of file BlockRestrictable.C.

Referenced by BlockRestrictable::getBlockCoordSystem(), Material::getZeroMaterialProperty(), BlockRestrictable::hasBlockMaterialPropertyHelper(), Material::registerPropName(), and BlockRestrictable::~BlockRestrictable().

169 {
170  return _blk_ids;
171 }
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
bool BlockRestrictable::blockRestricted ( ) const
virtualinherited

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

See also
MooseObject

Definition at line 156 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), BlockRestrictable::getBlockCoordSystem(), BlockRestrictable::hasBlockMaterialPropertyHelper(), and BlockRestrictable::~BlockRestrictable().

157 {
158  return _blk_ids.find(Moose::ANY_BLOCK_ID) == _blk_ids.end();
159 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
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 162 of file BlockRestrictable.C.

Referenced by BlockRestrictable::~BlockRestrictable().

163 {
164  return _blocks;
165 }
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.
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 153 of file BoundaryRestrictable.C.

Referenced by NonlinearSystemBase::addBoundaryCondition(), NonlinearSystemBase::addInterfaceKernel(), AutoPositionsMultiApp::fillPositions(), Material::getZeroMaterialProperty(), BoundaryRestrictable::hasBoundaryMaterialPropertyHelper(), and Material::registerPropName().

154 {
155  return _bnd_ids;
156 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
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 159 of file BoundaryRestrictable.C.

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

160 {
161  return _boundary_names;
162 }
std::vector< BoundaryName > _boundary_names
Vector the the boundary names.
bool BoundaryRestrictable::boundaryRestricted ( ) const
virtualinherited

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

See also
MooseObject

Definition at line 171 of file BoundaryRestrictable.C.

Referenced by DerivativeMaterialInterface< T >::haveMaterialProperty().

172 {
174 }
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.
void MaterialPropertyInterface::checkMaterialProperty ( const std::string &  name)
protectedinherited

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

Definition at line 138 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyByName().

139 {
140  // If the material property is boundary restrictable, add to the list of materials to check
142  for (const auto & bnd_id : _mi_boundary_ids)
144 
145  // The default is to assume block restrictions
146  else
147  for (const auto & blk_ids : _mi_block_ids)
149 }
virtual void storeDelayedCheckMatProp(const std::string &requestor, SubdomainID block_id, const std::string &name)
Adds to a map based on block ids of material properties to validate.
Definition: SubProblem.C:253
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
const std::set< SubdomainID > & _mi_block_ids
Storage for the block ids created by BlockRestrictable.
const bool _mi_boundary_restricted
BoundaryRestricted flag.
const std::set< BoundaryID > & _mi_boundary_ids
Storage for the boundary ids created by BoundaryRestrictable.
const std::string _mi_name
The name of the object that this interface belongs to.
void BlockRestrictable::checkVariable ( const MooseVariable variable) const
inherited

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.

Definition at line 308 of file BlockRestrictable.C.

Referenced by BlockRestrictable::~BlockRestrictable().

309 {
310  if (!isBlockSubset(variable.activeSubdomains()))
311  {
312  std::string var_ids = Moose::stringify(variable.activeSubdomains(), ", ");
313  std::string obj_ids = Moose::stringify(blockRestricted() ? _blk_ids : meshBlockIDs(), ", ");
314  mooseError("The 'block' parameter of the object '",
315  _blk_name,
316  "' must be a subset of the 'block' parameter of the variable '",
317  variable.name(),
318  "':\n Object '",
319  _blk_name,
320  "': ",
321  obj_ids,
322  "\n Variable '",
323  variable.name(),
324  "': ",
325  var_ids);
326  }
327 }
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
const std::string & name() const
Get the variable name.
const std::set< SubdomainID > & activeSubdomains() const
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:66
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
const std::string & _blk_name
Name of the object.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a boundary.
void AuxKernel::compute ( )
virtualinherited

Computes the value and stores it in the solution vector.

Reimplemented in ElementH1ErrorFunctionAux, and ElementLpNormAux.

Definition at line 198 of file AuxKernel.C.

199 {
201 
202  if (isNodal()) /* nodal variables */
203  {
204  if (_var.isNodalDefined())
205  {
206  _qp = 0;
207  Real value = computeValue();
208  // update variable data, which is referenced by other kernels, so the value is up-to-date
209  _var.setNodalValue(value);
210  }
211  }
212  else /* elemental variables */
213  {
215 
216  if (_n_local_dofs == 1) /* p0 */
217  {
218  Real value = 0;
219  for (_qp = 0; _qp < _qrule->n_points(); _qp++)
220  value += _JxW[_qp] * _coord[_qp] * computeValue();
222  // update the variable data refernced by other kernels.
223  // Note that this will update the values at the quadrature points too
224  // (because this is an Elemental variable)
225  _var.setNodalValue(value);
226  }
227  else /* high-order */
228  {
229  _local_re.resize(_n_local_dofs);
230  _local_re.zero();
232  _local_ke.zero();
233 
234  // assemble the local mass matrix and the load
235  for (unsigned int i = 0; i < _test.size(); i++)
236  for (_qp = 0; _qp < _qrule->n_points(); _qp++)
237  {
238  Real t = _JxW[_qp] * _coord[_qp] * _test[i][_qp];
239  _local_re(i) += t * computeValue();
240  for (unsigned int j = 0; j < _test.size(); j++)
241  _local_ke(i, j) += t * _test[j][_qp];
242  }
243 
244  // mass matrix is always SPD
245  _local_sol.resize(_n_local_dofs);
246  _local_ke.cholesky_solve(_local_re, _local_sol);
247 
249  }
250  }
251 }
virtual Real computeValue()=0
DenseMatrix< Number > _local_ke
for holding local mass matrix
Definition: AuxKernel.h:209
const MooseArray< Real > & _coord
Definition: AuxKernel.h:164
DenseVector< Number > _local_re
for holding local load
Definition: AuxKernel.h:205
virtual void precalculateValue()
This callback is used for AuxKernels that need to perform a per-element calculation.
Definition: AuxKernel.h:135
unsigned int numberOfDofs()
QBase *& _qrule
Quadrature rule being used.
Definition: AuxKernel.h:161
unsigned int _n_local_dofs
number of local dofs for elemental variables
Definition: AuxKernel.h:202
const Real & _current_elem_volume
Volume of the current element.
Definition: AuxKernel.h:181
DenseVector< Number > _local_sol
for holding local solution
Definition: AuxKernel.h:207
bool _bnd
true if the kernel is boundary kernel, false if it is interior kernels
Definition: AuxKernel.h:152
void setNodalValue(Number value, unsigned int idx=0)
Set the nodal value for this variable to keep everything up to date.
bool isNodal()
Nodal or elemental kernel?
Definition: AuxKernel.h:89
unsigned int _qp
Quadrature point index.
Definition: AuxKernel.h:192
const Real & _current_side_volume
Volume of the current side.
Definition: AuxKernel.h:183
const MooseArray< Real > & _JxW
Transformed Jacobian weights.
Definition: AuxKernel.h:163
const VariableTestValue & _test
holds the the test functions
Definition: AuxKernel.h:173
unsigned int size() const
The number of elements that can currently be stored in the array.
Definition: MooseArray.h:250
virtual const VariableValue & value()
The value of the variable this object is operating on.
MooseVariable & _var
Variable this kernel is acting on.
Definition: AuxKernel.h:148
bool isNodalDefined()
Real VectorMagnitudeAux::computeValue ( )
overrideprotectedvirtual

Implements AuxKernel.

Definition at line 42 of file VectorMagnitudeAux.C.

43 {
44  return std::sqrt((_x[_qp] * _x[_qp]) + (_y[_qp] * _y[_qp]) + (_z[_qp] * _z[_qp]));
45 }
const VariableValue & _y
const VariableValue & _z
unsigned int _qp
Quadrature point index.
Definition: AuxKernel.h:192
const VariableValue & _x
unsigned int Coupleable::coupled ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 136 of file Coupleable.C.

Referenced by NodalEqualValueConstraint::NodalEqualValueConstraint().

137 {
138  if (!isCoupled(var_name))
139  return _optional_var_index[var_name];
140 
141  MooseVariable * var = getVar(var_name, comp);
142  switch (var->kind())
143  {
145  return var->number();
147  return std::numeric_limits<unsigned int>::max() - var->number();
148  }
149  mooseError("Unknown variable kind. Corrupted binary?");
150 }
Class for stuff related to variables.
Definition: MooseVariable.h:43
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
unsigned int number() const
Get variable number coming from libMesh.
std::map< std::string, unsigned int > _optional_var_index
Unique indices for optionally coupled vars that weren&#39;t provided.
Definition: Coupleable.h:378
void AuxKernel::coupledCallback ( const std::string &  var_name,
bool  is_old 
)
overridevirtualinherited

Reimplemented from Coupleable.

Definition at line 187 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

188 {
189  if (is_old)
190  {
191  std::vector<VariableName> var_names = getParam<std::vector<VariableName>>(var_name);
192  for (const auto & name : var_names)
193  _depend_vars.erase(name);
194  }
195 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::set< std::string > _depend_vars
Depend AuxKernels.
Definition: AuxKernel.h:195
unsigned int Coupleable::coupledComponents ( const std::string &  var_name)
protectedinherited

Number of coupled components.

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

Definition at line 111 of file Coupleable.C.

Referenced by NodalEqualValueConstraint::NodalEqualValueConstraint(), SphericalAverage::SphericalAverage(), and VolumeHistogram::VolumeHistogram().

112 {
113  return _coupled_vars[var_name].size();
114 }
std::map< std::string, std::vector< MooseVariable * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:321
const VariableValue & AuxKernel::coupledDot ( const std::string &  var_name,
unsigned int  comp = 0 
)
overrideprotectedvirtualinherited

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
See also
Kernel::dot

Reimplemented from Coupleable.

Definition at line 254 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

255 {
256  MooseVariable * var = getVar(var_name, comp);
257  if (var->kind() == Moose::VAR_AUXILIARY)
258  mooseError(
259  name(),
260  ": Unable to couple time derivative of an auxiliary variable into the auxiliary system.");
261 
262  return Coupleable::coupledDot(var_name, comp);
263 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
Class for stuff related to variables.
Definition: MooseVariable.h:43
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
virtual const VariableValue & coupledDot(const std::string &var_name, unsigned int comp=0)
Time derivative of a coupled variable.
Definition: Coupleable.C:296
const VariableValue & AuxKernel::coupledDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
)
overrideprotectedvirtualinherited

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
See also
Kernel:dotDu

Reimplemented from Coupleable.

Definition at line 266 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

267 {
268  MooseVariable * var = getVar(var_name, comp);
269  if (var->kind() == Moose::VAR_AUXILIARY)
270  mooseError(
271  name(),
272  ": Unable to couple time derivative of an auxiliary variable into the auxiliary system.");
273 
274  return Coupleable::coupledDotDu(var_name, comp);
275 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
Class for stuff related to variables.
Definition: MooseVariable.h:43
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
virtual const VariableValue & coupledDotDu(const std::string &var_name, unsigned int comp=0)
Time derivative of a coupled variable with respect to the coefficients.
Definition: Coupleable.C:320
const VariableGradient & Coupleable::coupledGradient ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 344 of file Coupleable.C.

345 {
346  if (!isCoupled(var_name)) // Return default 0
347  return _default_gradient;
348 
349  coupledCallback(var_name, false);
350  if (_c_nodal)
351  mooseError("Nodal variables do not have gradients");
352 
353  MooseVariable * var = getVar(var_name, comp);
354 
356  return (_c_is_implicit) ? var->gradSln() : var->gradSlnOld();
357  else
358  return (_c_is_implicit) ? var->gradSlnNeighbor() : var->gradSlnOldNeighbor();
359 }
const VariableGradient & gradSlnNeighbor()
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
const VariableGradient & gradSlnOld()
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
const VariableGradient & gradSlnOldNeighbor()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:342
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:363
const VariableGradient & gradSln()
const VariableGradient & Coupleable::coupledGradientOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 362 of file Coupleable.C.

363 {
364  if (!isCoupled(var_name)) // Return default 0
365  return _default_gradient;
366 
367  coupledCallback(var_name, true);
368  if (_c_nodal)
369  mooseError("Nodal variables do not have gradients");
370 
371  validateExecutionerType(var_name);
372  MooseVariable * var = getVar(var_name, comp);
373 
375  return (_c_is_implicit) ? var->gradSlnOld() : var->gradSlnOlder();
376  else
377  return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor();
378 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
const VariableGradient & gradSlnOld()
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
const VariableGradient & gradSlnOldNeighbor()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:342
const VariableGradient & gradSlnOlderNeighbor()
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:363
const VariableGradient & gradSlnOlder()
const VariableGradient & Coupleable::coupledGradientOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 381 of file Coupleable.C.

382 {
383  if (!isCoupled(var_name)) // Return default 0
384  return _default_gradient;
385 
386  coupledCallback(var_name, true);
387  if (_c_nodal)
388  mooseError("Nodal variables do not have gradients");
389 
390  validateExecutionerType(var_name);
391  MooseVariable * var = getVar(var_name, comp);
392 
393  if (_c_is_implicit)
394  {
396  return var->gradSlnOlder();
397  else
398  return var->gradSlnOlderNeighbor();
399  }
400  else
401  mooseError("Older values not available for explicit schemes");
402 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:342
const VariableGradient & gradSlnOlderNeighbor()
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:363
const VariableGradient & gradSlnOlder()
const VariableGradient & Coupleable::coupledGradientPreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 405 of file Coupleable.C.

406 {
407  if (!isCoupled(var_name)) // Return default 0
408  return _default_gradient;
409 
411  coupledCallback(var_name, true);
412  if (_c_nodal)
413  mooseError("Nodal variables do not have gradients");
414 
415  MooseVariable * var = getVar(var_name, comp);
416 
418  return var->gradSlnPreviousNL();
419  else
420  return var->gradSlnPreviousNLNeighbor();
421 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const VariableGradient & gradSlnPreviousNLNeighbor()
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:318
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableGradient _default_gradient
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:342
const VariableGradient & gradSlnPreviousNL()
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:363
const VariableValue & Coupleable::coupledNodalDot ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 568 of file Coupleable.C.

569 {
570  if (!isCoupled(var_name)) // Return default 0
571  return _default_value_zero;
572 
573  coupledCallback(var_name, false);
574  MooseVariable * var = getVar(var_name, comp);
575 
577  return var->nodalValueDot();
578  else
579  return var->nodalValueDotNeighbor();
580 }
Class for stuff related to variables.
Definition: MooseVariable.h:43
VariableValue _default_value_zero
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:339
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const VariableValue & nodalValueDotNeighbor()
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const VariableValue & nodalValueDot()
const VariableValue & Coupleable::coupledNodalValue ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 501 of file Coupleable.C.

502 {
503  if (!isCoupled(var_name))
504  return *getDefaultValue(var_name);
505 
506  coupledCallback(var_name, false);
507  MooseVariable * var = getVar(var_name, comp);
508 
510  return (_c_is_implicit) ? var->nodalValue() : var->nodalValueOld();
511  else
512  return (_c_is_implicit) ? var->nodalValueNeighbor() : var->nodalValueOldNeighbor();
513 }
const VariableValue & nodalValue()
Class for stuff related to variables.
Definition: MooseVariable.h:43
const VariableValue & nodalValueNeighbor()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & nodalValueOldNeighbor()
const VariableValue & nodalValueOld()
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:363
const VariableValue & Coupleable::coupledNodalValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 516 of file Coupleable.C.

517 {
518  if (!isCoupled(var_name))
519  return *getDefaultValue(var_name);
520 
521  validateExecutionerType(var_name);
522  coupledCallback(var_name, true);
523  MooseVariable * var = getVar(var_name, comp);
524 
526  return (_c_is_implicit) ? var->nodalValueOld() : var->nodalValueOlder();
527  else
529 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
Class for stuff related to variables.
Definition: MooseVariable.h:43
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & nodalValueOldNeighbor()
const VariableValue & nodalValueOld()
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:363
const VariableValue & nodalValueOlderNeighbor()
const VariableValue & nodalValueOlder()
const VariableValue & Coupleable::coupledNodalValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 532 of file Coupleable.C.

533 {
534  if (!isCoupled(var_name))
535  return *getDefaultValue(var_name);
536 
537  validateExecutionerType(var_name);
538  coupledCallback(var_name, true);
539  MooseVariable * var = getVar(var_name, comp);
540  if (_c_is_implicit)
541  {
543  return var->nodalValueOlder();
544  else
545  return var->nodalValueOlderNeighbor();
546  }
547  else
548  mooseError("Older values not available for explicit schemes");
549 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const VariableValue & nodalValueOlderNeighbor()
const VariableValue & nodalValueOlder()
const VariableValue & Coupleable::coupledNodalValuePreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 552 of file Coupleable.C.

553 {
554  if (!isCoupled(var_name))
555  return *getDefaultValue(var_name);
556 
558  coupledCallback(var_name, true);
559  MooseVariable * var = getVar(var_name, comp);
560 
562  return var->nodalValuePreviousNL();
563  else
564  return var->nodalValuePreviousNLNeighbor();
565 }
Class for stuff related to variables.
Definition: MooseVariable.h:43
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
const VariableValue & nodalValuePreviousNL()
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:318
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const VariableValue & nodalValuePreviousNLNeighbor()
unsigned int ScalarCoupleable::coupledScalar ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 99 of file ScalarCoupleable.C.

Referenced by ParsedODEKernel::ParsedODEKernel().

100 {
101  return getScalarVar(var_name, comp)->number();
102 }
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
unsigned int number() const
Get variable number coming from libMesh.
unsigned int ScalarCoupleable::coupledScalarComponents ( const std::string &  var_name)
protectedvirtualinherited

Return the number of components to the coupled scalar variable.

Parameters
var_nameThe of the coupled variable

Definition at line 189 of file ScalarCoupleable.C.

190 {
191  return _coupled_scalar_vars[var_name].size();
192 }
std::map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
VariableValue & ScalarCoupleable::coupledScalarDot ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 161 of file ScalarCoupleable.C.

162 {
163  MooseVariableScalar * var = getScalarVar(var_name, comp);
164  return var->uDot();
165 }
VariableValue & uDot()
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
Class for scalar variables (they are different).
VariableValue & ScalarCoupleable::coupledScalarDotDu ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 168 of file ScalarCoupleable.C.

169 {
170  MooseVariableScalar * var = getScalarVar(var_name, comp);
171  return var->duDotDu();
172 }
VariableValue & duDotDu()
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
Class for scalar variables (they are different).
Order ScalarCoupleable::coupledScalarOrder ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 105 of file ScalarCoupleable.C.

106 {
107  if (!isCoupledScalar(var_name, comp))
109 
110  return getScalarVar(var_name, comp)->order();
111 }
virtual bool isCoupledScalar(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled_as name.
FEProblemBase & _sc_fe_problem
Order getMaxScalarOrder() const
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
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...
VariableValue & ScalarCoupleable::coupledScalarValue ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 128 of file ScalarCoupleable.C.

Referenced by ParsedODEKernel::ParsedODEKernel().

129 {
130  if (!isCoupledScalar(var_name, comp))
131  return *getDefaultValue(var_name);
132 
133  MooseVariableScalar * var = getScalarVar(var_name, comp);
134  return (_sc_is_implicit) ? var->sln() : var->slnOld();
135 }
VariableValue & sln()
virtual bool isCoupledScalar(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled_as name.
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
bool _sc_is_implicit
True if implicit value is required.
Class for scalar variables (they are different).
VariableValue & slnOld()
VariableValue & ScalarCoupleable::coupledScalarValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 138 of file ScalarCoupleable.C.

139 {
140  if (!isCoupledScalar(var_name, comp))
141  return *getDefaultValue(var_name);
142 
143  MooseVariableScalar * var = getScalarVar(var_name, comp);
144  return (_sc_is_implicit) ? var->slnOld() : var->slnOlder();
145 }
virtual bool isCoupledScalar(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled_as name.
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
bool _sc_is_implicit
True if implicit value is required.
Class for scalar variables (they are different).
VariableValue & slnOlder()
VariableValue & slnOld()
VariableValue & ScalarCoupleable::coupledScalarValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

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 148 of file ScalarCoupleable.C.

149 {
150  if (!isCoupledScalar(var_name, comp))
151  return *getDefaultValue(var_name);
152 
153  MooseVariableScalar * var = getScalarVar(var_name, comp);
154  if (_sc_is_implicit)
155  return var->slnOlder();
156  else
157  mooseError("Older values not available for explicit schemes");
158 }
virtual bool isCoupledScalar(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled_as name.
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
MooseVariableScalar * getScalarVar(const std::string &var_name, unsigned int comp)
Extract pointer to a scalar coupled variable.
bool _sc_is_implicit
True if implicit value is required.
Class for scalar variables (they are different).
VariableValue & slnOlder()
const VariableSecond & Coupleable::coupledSecond ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

Returns second derivative 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 424 of file Coupleable.C.

425 {
426  if (!isCoupled(var_name)) // Return default 0
427  return _default_second;
428 
429  coupledCallback(var_name, false);
430  if (_c_nodal)
431  mooseError("Nodal variables do not have second derivatives");
432 
433  MooseVariable * var = getVar(var_name, comp);
434 
436  return (_c_is_implicit) ? var->secondSln() : var->secondSlnOlder();
437  else
438  return (_c_is_implicit) ? var->secondSlnNeighbor() : var->secondSlnOlderNeighbor();
439 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
const VariableSecond & secondSln()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const VariableSecond & secondSlnOlder()
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:345
const VariableSecond & secondSlnOlderNeighbor()
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:363
const VariableSecond & secondSlnNeighbor()
const VariableSecond & Coupleable::coupledSecondOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
protectedvirtualinherited

Returns an old second derivative 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 442 of file Coupleable.C.

443 {
444  if (!isCoupled(var_name)) // Return default 0
445  return _default_second;
446 
447  coupledCallback(var_name, true);
448  if (_c_nodal)
449  mooseError("Nodal variables do not have second derivatives");
450 
451  validateExecutionerType(var_name);
452  MooseVariable * var = getVar(var_name, comp);
454  return (_c_is_implicit) ? var->secondSlnOld() : var->secondSlnOlder();
455  else
457 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
const VariableSecond & secondSlnOldNeighbor()
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const VariableSecond & secondSlnOld()
const VariableSecond & secondSlnOlder()
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:345
const VariableSecond & secondSlnOlderNeighbor()
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:363
const VariableSecond & Coupleable::coupledSecondOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 460 of file Coupleable.C.

461 {
462  if (!isCoupled(var_name)) // Return default 0
463  return _default_second;
464 
465  coupledCallback(var_name, true);
466  if (_c_nodal)
467  mooseError("Nodal variables do not have second derivatives");
468 
469  validateExecutionerType(var_name);
470  MooseVariable * var = getVar(var_name, comp);
471  if (_c_is_implicit)
472  {
474  return var->secondSlnOlder();
475  else
476  return var->secondSlnOlderNeighbor();
477  }
478  else
479  mooseError("Older values not available for explicit schemes");
480 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const VariableSecond & secondSlnOlder()
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:345
const VariableSecond & secondSlnOlderNeighbor()
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:363
const VariableSecond & Coupleable::coupledSecondPreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 483 of file Coupleable.C.

484 {
485  if (!isCoupled(var_name)) // Return default 0
486  return _default_second;
487 
489  coupledCallback(var_name, true);
490  if (_c_nodal)
491  mooseError("Nodal variables do not have second derivatives");
492 
493  MooseVariable * var = getVar(var_name, comp);
495  return var->secondSlnPreviousNL();
496  else
497  return var->secondSlnPreviousNLNeighbor();
498 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
const VariableSecond & secondSlnPreviousNL()
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:318
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
VariableSecond _default_second
This will always be zero because the default values for optionally coupled variables is always consta...
Definition: Coupleable.h:345
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:363
const VariableSecond & secondSlnPreviousNLNeighbor()
const DenseVector< Number > & Coupleable::coupledSolutionDoFs ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 DenseVector for the DoFs of the coupled variable

Definition at line 583 of file Coupleable.C.

584 {
585  // default coupling is not available for elemental solutions
586  if (!isCoupled(var_name))
587  mooseError("invalid variable name for coupledSolutionDoFs");
588 
589  if (_c_nodal)
590  mooseError("nodal objects should not call coupledSolutionDoFs");
591 
592  coupledCallback(var_name, false);
593  MooseVariable * var = getVar(var_name, comp);
594 
596  return (_c_is_implicit) ? var->solutionDoFs() : var->solutionDoFsOld();
597  else
599 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
const DenseVector< Number > & solutionDoFsOld()
Class for stuff related to variables.
Definition: MooseVariable.h:43
const DenseVector< Number > & solutionDoFsNeighbor()
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
const DenseVector< Number > & solutionDoFs()
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const DenseVector< Number > & solutionDoFsOldNeighbor()
const DenseVector< Number > & Coupleable::coupledSolutionDoFsOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 DenseVector for the old DoFs of the coupled variable

Definition at line 602 of file Coupleable.C.

603 {
604  // default coupling is not available for elemental solutions
605  if (!isCoupled(var_name))
606  mooseError("invalid variable name for coupledSolutionDoFsOld");
607 
608  if (_c_nodal)
609  mooseError("nodal objects should not call coupledSolutionDoFsOld");
610 
611  validateExecutionerType(var_name);
612  coupledCallback(var_name, true);
613  MooseVariable * var = getVar(var_name, comp);
614 
616  return (_c_is_implicit) ? var->solutionDoFsOld() : var->solutionDoFsOlder();
617  else
619 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
const DenseVector< Number > & solutionDoFsOld()
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
const DenseVector< Number > & solutionDoFsOlder()
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const DenseVector< Number > & solutionDoFsOlderNeighbor()
const DenseVector< Number > & solutionDoFsOldNeighbor()
const DenseVector< Number > & Coupleable::coupledSolutionDoFsOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 DenseVector for the older DoFs of the coupled variable

Definition at line 622 of file Coupleable.C.

623 {
624  // default coupling is not available for elemental solutions
625  if (!isCoupled(var_name))
626  mooseError("invalid variable name for coupledSolutionDoFsOlder");
627 
628  if (_c_nodal)
629  mooseError("nodal objects should not call coupledSolutionDoFsOlder");
630 
631  validateExecutionerType(var_name);
632  coupledCallback(var_name, true);
633  MooseVariable * var = getVar(var_name, comp);
634  if (_c_is_implicit)
635  {
637  return var->solutionDoFsOlder();
638  else
639  return var->solutionDoFsOlderNeighbor();
640  }
641  else
642  mooseError("Older values not available for explicit schemes");
643 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
const DenseVector< Number > & solutionDoFsOlder()
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
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:363
const DenseVector< Number > & solutionDoFsOlderNeighbor()
const VariableValue & Coupleable::coupledValue ( const std::string &  var_name,
unsigned int  comp = 0 
)
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::value

Definition at line 167 of file Coupleable.C.

Referenced by NodalEqualValueConstraint::NodalEqualValueConstraint(), ParsedAux::ParsedAux(), SphericalAverage::SphericalAverage(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), and Coupleable::writableCoupledValue().

168 {
169  if (!isCoupled(var_name))
170  return *getDefaultValue(var_name);
171 
172  coupledCallback(var_name, false);
173  MooseVariable * var = getVar(var_name, comp);
174 
176  {
177  if (_c_nodal)
178  return (_c_is_implicit) ? var->nodalSln() : var->nodalSlnOld();
179  else
180  return (_c_is_implicit) ? var->sln() : var->slnOld();
181  }
182  else
183  {
184  if (_c_nodal)
185  return (_c_is_implicit) ? var->nodalSlnNeighbor() : var->nodalSlnOldNeighbor();
186  else
187  return (_c_is_implicit) ? var->slnNeighbor() : var->slnOldNeighbor();
188  }
189 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
const VariableValue & nodalSlnNeighbor()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
const VariableValue & nodalSlnOldNeighbor()
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & slnOld()
const VariableValue & nodalSlnOld()
const VariableValue & slnOldNeighbor()
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:363
const VariableValue & nodalSln()
const VariableValue & sln()
const VariableValue & slnNeighbor()
const VariableValue & Coupleable::coupledValueOld ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 198 of file Coupleable.C.

Referenced by VariableTimeIntegrationAux::VariableTimeIntegrationAux().

199 {
200  if (!isCoupled(var_name))
201  return *getDefaultValue(var_name);
202 
203  validateExecutionerType(var_name);
204  coupledCallback(var_name, true);
205  MooseVariable * var = getVar(var_name, comp);
206 
208  {
209  if (_c_nodal)
210  return (_c_is_implicit) ? var->nodalSlnOld() : var->nodalSlnOlder();
211  else
212  return (_c_is_implicit) ? var->slnOld() : var->slnOlder();
213  }
214  else
215  {
216  if (_c_nodal)
217  return (_c_is_implicit) ? var->nodalSlnOldNeighbor() : var->nodalSlnOlderNeighbor();
218  else
219  return (_c_is_implicit) ? var->slnOldNeighbor() : var->slnOlderNeighbor();
220  }
221 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
const VariableValue & slnOlder()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
const VariableValue & nodalSlnOldNeighbor()
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & slnOld()
const VariableValue & nodalSlnOlderNeighbor()
const VariableValue & nodalSlnOld()
const VariableValue & slnOlderNeighbor()
const VariableValue & nodalSlnOlder()
const VariableValue & slnOldNeighbor()
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:363
const VariableValue & Coupleable::coupledValueOlder ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 224 of file Coupleable.C.

Referenced by VariableTimeIntegrationAux::VariableTimeIntegrationAux().

225 {
226  if (!isCoupled(var_name))
227  return *getDefaultValue(var_name);
228 
229  validateExecutionerType(var_name);
230  coupledCallback(var_name, true);
231  MooseVariable * var = getVar(var_name, comp);
232 
234  {
235  if (_c_nodal)
236  {
237  if (_c_is_implicit)
238  return var->nodalSlnOlder();
239  else
240  mooseError("Older values not available for explicit schemes");
241  }
242  else
243  {
244  if (_c_is_implicit)
245  return var->slnOlder();
246  else
247  mooseError("Older values not available for explicit schemes");
248  }
249  }
250  else
251  {
252  if (_c_nodal)
253  {
254  if (_c_is_implicit)
255  return var->nodalSlnOlderNeighbor();
256  else
257  mooseError("Older values not available for explicit schemes");
258  }
259  else
260  {
261  if (_c_is_implicit)
262  return var->slnOlderNeighbor();
263  else
264  mooseError("Older values not available for explicit schemes");
265  }
266  }
267 }
void validateExecutionerType(const std::string &name) const
Checks to make sure that the current Executioner has set "_it_transient" when old/older values are co...
Definition: Coupleable.C:646
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
const VariableValue & slnOlder()
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
bool _c_is_implicit
True if implicit value is required.
Definition: Coupleable.h:330
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & nodalSlnOlderNeighbor()
const VariableValue & slnOlderNeighbor()
const VariableValue & nodalSlnOlder()
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:363
const VariableValue & Coupleable::coupledValuePreviousNL ( const std::string &  var_name,
unsigned int  comp = 0 
)
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 270 of file Coupleable.C.

271 {
272  if (!isCoupled(var_name))
273  return *getDefaultValue(var_name);
274 
276  coupledCallback(var_name, true);
277  MooseVariable * var = getVar(var_name, comp);
278 
280  {
281  if (_c_nodal)
282  return var->nodalSlnPreviousNL();
283  else
284  return var->slnPreviousNL();
285  }
286  else
287  {
288  if (_c_nodal)
289  return var->nodalSlnPreviousNLNeighbor();
290  else
291  return var->slnPreviousNLNeighbor();
292  }
293 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
Class for stuff related to variables.
Definition: MooseVariable.h:43
const VariableValue & nodalSlnPreviousNL()
const VariableValue & slnPreviousNLNeighbor()
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
Extract pointer to a coupled variable.
Definition: Coupleable.C:117
VariableValue * getDefaultValue(const std::string &var_name)
Helper method to return (and insert if necessary) the default value for an uncoupled variable...
Definition: Coupleable.C:153
FEProblemBase & _c_fe_problem
Definition: Coupleable.h:318
virtual bool isCoupled(const std::string &var_name, unsigned int i=0)
Returns true if a variables has been coupled as name.
Definition: Coupleable.C:91
virtual void coupledCallback(const std::string &var_name, bool is_old)
Definition: Coupleable.C:86
const VariableValue & nodalSlnPreviousNLNeighbor()
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:363
const VariableValue & slnPreviousNL()
template<typename T >
void DependencyResolverInterface::cyclicDependencyError ( CyclicDependencyException< T > &  e,
const std::string &  header 
)
staticinherited

A helper method for cyclic errors.

Definition at line 100 of file DependencyResolverInterface.h.

Referenced by DependencyResolverInterface::DependencyResolverInterface().

102 {
103  std::ostringstream oss;
104 
105  oss << header << ":\n";
106  const typename std::multimap<T, T> & depends = e.getCyclicDependencies();
107  for (typename std::multimap<T, T>::const_iterator it = depends.begin(); it != depends.end(); ++it)
108  oss << (static_cast<T>(it->first))->name() << " -> " << (static_cast<T>(it->second))->name()
109  << "\n";
110  mooseError(oss.str());
111 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
const std::multimap< T, T > & getCyclicDependencies() const
template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name)
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)

Definition at line 224 of file Restartable.h.

225 {
226  return declareRestartableDataWithContext<T>(data_name, NULL);
227 }
template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name,
const T &  init_value 
)
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)
init_valueThe initial value of the data

Definition at line 231 of file Restartable.h.

232 {
233  return declareRestartableDataWithContext<T>(data_name, init_value, NULL);
234 }
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
void *  context 
)
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)
contextContext pointer that will be passed to the load and store functions

Definition at line 238 of file Restartable.h.

239 {
241  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
242 
243  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
244  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
245 
247 
248  return data_ptr->get();
249 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
const T &  init_value,
void *  context 
)
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)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 253 of file Restartable.h.

256 {
258  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
259 
260  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
261  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
262 
263  data_ptr->set() = init_value;
264 
266 
267  return data_ptr->get();
268 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
std::string MaterialPropertyInterface::deducePropertyName ( const std::string &  name)
protectedinherited
template<typename T >
const MaterialProperty< T > * MaterialPropertyInterface::defaultMaterialProperty ( const std::string &  name)
protectedinherited

Helper function to parse default material property values.

This is implemented as a specialization for supported types and returns NULL in all other cases.

Definition at line 345 of file MaterialPropertyInterface.h.

346 {
347  return NULL;
348 }
const MaterialProperty< Real > * MaterialPropertyInterface::defaultMaterialProperty ( const std::string &  name)
inherited

Definition at line 87 of file MaterialPropertyInterface.C.

88 {
89  std::istringstream ss(name);
90  Real real_value;
91 
92  // check if the string parsed cleanly into a Real number
93  if (ss >> real_value && ss.eof())
94  {
95  _default_real_properties.emplace_back(libmesh_make_unique<MaterialProperty<Real>>());
96  auto & default_property = _default_real_properties.back();
97 
98  // resize to accomodate maximum number obf qpoints
99  auto nqp = _mi_feproblem.getMaxQps();
100  default_property->resize(nqp);
101 
102  // set values for all qpoints to the given default
103  for (decltype(nqp) qp = 0; qp < nqp; ++qp)
104  (*default_property)[qp] = real_value;
105 
106  // return the raw pointer inside the shared pointer
107  return default_property.get();
108  }
109 
110  return nullptr;
111 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
std::vector< std::unique_ptr< MaterialProperty< Real > > > _default_real_properties
Storage vector for MaterialProperty<Real> default objects.
unsigned int getMaxQps() const
const VariableValue & MooseVariableInterface::dot ( )
protectedvirtualinherited

The time derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 83 of file MooseVariableInterface.C.

84 {
85  if (_nodal)
86  return _variable->nodalSlnDot();
87  else
88  return _variable->uDot();
89 }
bool _nodal
Whether or not this object is acting only at nodes.
const VariableValue & nodalSlnDot()
const VariableValue & uDot()
MooseVariable * _variable
The variable this object is acting on.
const VariableValue & MooseVariableInterface::dotDu ( )
protectedvirtualinherited

The derivative of the time derivative of the variable this object is operating on with respect to this variable's coefficients.

This is useful for creating Jacobian entries for residual statements that use _u_dot

Returns
The reference to be stored off and used later.

Definition at line 92 of file MooseVariableInterface.C.

93 {
94  if (_nodal)
95  return _variable->nodalSlnDuDotDu();
96  else
97  return _variable->duDotDu();
98 }
bool _nodal
Whether or not this object is acting only at nodes.
const VariableValue & duDotDu()
const VariableValue & nodalSlnDuDotDu()
MooseVariable * _variable
The variable this object is acting on.
virtual bool MooseObject::enabled ( )
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 77 of file MooseObject.h.

Referenced by EigenKernel::enabled().

77 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:117
ExecFlagType SetupInterface::execBitFlags ( ) const
inherited

Build and return the execution flags as a bitfield.

Definition at line 100 of file SetupInterface.C.

Referenced by EigenExecutionerBase::init().

101 {
102  unsigned int exec_bit_field = EXEC_NONE;
103  for (unsigned int i = 0; i < _exec_flags.size(); ++i)
104  exec_bit_field |= _exec_flags[i];
105 
106  return static_cast<ExecFlagType>(exec_bit_field);
107 }
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
ExecFlagType
Execution flags - when is the object executed/evaluated.
Definition: MooseTypes.h:90
const std::vector< ExecFlagType > & SetupInterface::execFlags ( ) const
virtualinherited

Get the execution flag for the object.

Reimplemented in MultiAppTransfer.

Definition at line 94 of file SetupInterface.C.

Referenced by ExecuteMooseObjectWarehouse< T >::addObjectMask(), and MultiAppTransfer::execFlags().

95 {
96  return _exec_flags;
97 }
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
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 286 of file BlockRestrictable.C.

287 {
288  if (!_blk_mesh)
289  mooseError("No mesh available in BlockRestrictable::checkCoordSystem()");
290  if (!_blk_feproblem)
291  mooseError("No problem available in BlockRestrictable::checkCoordSystem()");
292 
293  const auto & subdomains = blockRestricted() ? blockIDs() : meshBlockIDs();
294 
295  if (subdomains.empty())
296  mooseError("No subdomains found in the problem.");
297 
298  // make sure all subdomains are using the same coordinate system
299  auto coord_system = _blk_feproblem->getCoordSystem(*subdomains.begin());
300  for (auto subdomain : subdomains)
301  if (_blk_feproblem->getCoordSystem(subdomain) != coord_system)
302  mooseError("This object requires all subdomains to have the same coordinate system.");
303 
304  return coord_system;
305 }
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) override
MooseMesh * _blk_mesh
Pointer to Mesh.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a boundary.
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 411 of file MaterialPropertyInterface.h.

412 {
413  if (_mi_block_ids.empty())
414  mooseError("getBlockMaterialProperty must be called by a block restrictable object");
415 
416  if (!hasMaterialPropertyByName<T>(name))
417  return std::pair<const MaterialProperty<T> *, std::set<SubdomainID>>(NULL,
418  std::set<SubdomainID>());
419 
420  _material_property_dependencies.insert(_material_data->getPropertyId(name));
421 
422  return std::pair<const MaterialProperty<T> *, std::set<SubdomainID>>(
423  &_material_data->getProperty<T>(name), _mi_feproblem.getMaterialPropertyBlocks(name));
424 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
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:182
std::set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
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:114
Concrete definition of a parameter value for a specified type.
const std::vector< MooseVariableScalar * > & ScalarCoupleable::getCoupledMooseScalarVars ( )
inherited

Get the list of coupled scalar variables.

Returns
The list of coupled variables

Definition at line 72 of file ScalarCoupleable.C.

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

73 {
75 }
std::vector< MooseVariableScalar * > _coupled_moose_scalar_vars
Vector of coupled variables.
const std::vector<MooseVariable *>& Coupleable::getCoupledMooseVars ( ) const
inlineinherited
const std::map<std::string, std::vector<MooseVariable *> >& Coupleable::getCoupledVars ( )
inlineinherited

Get the list of coupled variables.

Returns
The list of coupled variables

Definition at line 54 of file Coupleable.h.

Referenced by AuxKernel::AuxKernel(), and InitialCondition::InitialCondition().

55  {
56  return _coupled_vars;
57  }
std::map< std::string, std::vector< MooseVariable * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:321
const PostprocessorValue & PostprocessorInterface::getDefaultPostprocessorValue ( const std::string &  name)
inherited

Return the default postprocessor value.

Parameters
nameThe name of the postprocessor parameter
Returns
A const reference to the default value

Definition at line 92 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

93 {
95 }
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
VariableValue * ScalarCoupleable::getDefaultValue ( const std::string &  var_name)
protectedinherited

Helper method to return (and insert if necessary) the default value 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 114 of file ScalarCoupleable.C.

Referenced by ScalarCoupleable::coupledScalarValue(), ScalarCoupleable::coupledScalarValueOld(), and ScalarCoupleable::coupledScalarValueOlder().

115 {
116  std::map<std::string, VariableValue *>::iterator default_value_it = _default_value.find(var_name);
117  if (default_value_it == _default_value.end())
118  {
121  default_value_it = _default_value.insert(std::make_pair(var_name, value)).first;
122  }
123 
124  return default_value_it->second;
125 }
MooseArray< Real > VariableValue
FEProblemBase & _sc_fe_problem
Order getMaxScalarOrder() const
const InputParameters & _coupleable_params
Local InputParameters.
std::map< std::string, VariableValue * > _default_value
Will hold the default value for optional coupled scalar variables.
Real defaultCoupledValue(const std::string &coupling_name) const
Get the default value for an optionally coupled variable.
const std::set<std::string>& AuxKernel::getDependObjects ( ) const
inlineinherited

Definition at line 91 of file AuxKernel.h.

91 { return _depend_uo; }
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
MultiMooseEnum SetupInterface::getExecuteOptions ( )
staticinherited

Returns the available options for the 'execute_on' input parameters.

Returns
A MooseEnum with the available 'execute_on' options, the default is 'residual'

Definition at line 110 of file SetupInterface.C.

Referenced by AddNodalNormalsAction::act(), AdvancedOutput::addValidParams(), AdvancedOutput::initExecutionTypes(), OutputOnWarehouse::OutputOnWarehouse(), validParams< CommonOutputAction >(), validParams< Output >(), and validParams< SetupInterface >().

111 {
112  return MultiMooseEnum("none=0x00 initial=0x01 linear=0x02 nonlinear=0x04 timestep_end=0x08 "
113  "timestep_begin=0x10 final=0x20 custom=0x100",
114  "linear");
115 }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Function & FunctionInterface::getFunction ( const std::string &  name)
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 35 of file FunctionInterface.C.

36 {
37  return _fni_feproblem.getFunction(_fni_params.get<FunctionName>(name), _fni_tid);
38 }
virtual Function & getFunction(const std::string &name, THREAD_ID tid=0)
FEProblemBase & _fni_feproblem
Reference to FEProblemBase instance.
const InputParameters & _fni_params
Parameters of the object with this interface.
THREAD_ID _fni_tid
Thread ID.
Function & FunctionInterface::getFunctionByName ( const FunctionName &  name)
inherited

Get a function with a given name.

Parameters
nameThe name of the function to retrieve
Returns
The function with name 'name'

Definition at line 41 of file FunctionInterface.C.

Referenced by CompositeFunction::CompositeFunction(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GenericFunctionMaterial::GenericFunctionMaterial(), LinearCombinationFunction::LinearCombinationFunction(), and LineFunctionSampler::LineFunctionSampler().

42 {
43  return _fni_feproblem.getFunction(name, _fni_tid);
44 }
virtual Function & getFunction(const std::string &name, THREAD_ID tid=0)
FEProblemBase & _fni_feproblem
Reference to FEProblemBase instance.
THREAD_ID _fni_tid
Thread ID.
unsigned int RandomInterface::getMasterSeed ( ) const
inlineinherited

Definition at line 74 of file RandomInterface.h.

74 { return _master_seed; }
unsigned int _master_seed
Material & MaterialPropertyInterface::getMaterial ( const std::string &  name)
inherited

Return a Material reference - usable for computing directly.

Parameters
nameThe name of the input parameter or explicit material name.
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.

Definition at line 164 of file MaterialPropertyInterface.C.

165 {
166  return getMaterialByName(_mi_params.get<MaterialName>(name));
167 }
Material & getMaterialByName(const std::string &name, bool no_warn=false)
const InputParameters & _mi_params
Parameters of the object with this interface.
Material & MaterialPropertyInterface::getMaterialByName ( const std::string &  name,
bool  no_warn = false 
)
inherited

Definition at line 170 of file MaterialPropertyInterface.C.

Referenced by MaterialPropertyInterface::getMaterial(), and MaterialVectorPostprocessor::MaterialVectorPostprocessor().

171 {
172  std::shared_ptr<Material> discrete =
174 
175  // Check block compatibility
176  if (!discrete->hasBlocks(_mi_block_ids))
177  {
178  std::ostringstream oss;
179  oss << "The Material object '" << discrete->name()
180  << "' is defined on blocks that are incompatible with the retrieving object '" << _mi_name
181  << "':\n";
182  oss << " " << discrete->name();
183  for (const auto & sbd_id : discrete->blockIDs())
184  oss << " " << sbd_id;
185  oss << "\n";
186  oss << " " << _mi_name;
187  for (const auto & block_id : _mi_block_ids)
188  oss << " " << block_id;
189  oss << "\n";
190  mooseError(oss.str());
191  }
192 
193  // Check boundary compatibility
194  if (!discrete->hasBoundary(_mi_boundary_ids))
195  {
196  std::ostringstream oss;
197  oss << "The Material object '" << discrete->name()
198  << "' is defined on boundaries that are incompatible with the retrieving object '"
199  << _mi_name << "':\n";
200  oss << " " << discrete->name();
201  for (const auto & bnd_id : discrete->boundaryIDs())
202  oss << " " << bnd_id;
203  oss << "\n";
204  oss << " " << _mi_name;
205  for (const auto & bnd_id : _mi_boundary_ids)
206  oss << " " << bnd_id;
207  oss << "\n";
208  mooseError(oss.str());
209  }
210 
211  return *discrete;
212 }
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.
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
Moose::MaterialDataType _material_data_type
The type of data.
std::shared_ptr< Material > getMaterial(std::string name, Moose::MaterialDataType type, THREAD_ID tid=0, bool no_warn=false)
Return a pointer to a Material object.
const std::set< BoundaryID > & _mi_boundary_ids
Storage for the boundary ids created by BoundaryRestrictable.
const std::string _mi_name
The name of the object that this interface belongs to.
template<typename T >
const MaterialProperty< T > & AuxKernel::getMaterialProperty ( const std::string &  name)
inherited

Override functions from MaterialPropertyInterface for error checking.

Definition at line 214 of file AuxKernel.h.

Referenced by AuxKernel::getDependObjects().

215 {
216  if (isNodal())
217  mooseError("Nodal AuxKernel '",
218  AuxKernel::name(),
219  "' attempted to reference material property '",
220  name,
221  "'\nConsider using an elemental auxiliary variable for '",
222  _var.name(),
223  "'.");
224 
225  return MaterialPropertyInterface::getMaterialProperty<T>(name);
226 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const std::string & name() const
Get the variable name.
bool isNodal()
Nodal or elemental kernel?
Definition: AuxKernel.h:89
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
MooseVariable & _var
Variable this kernel is acting on.
Definition: AuxKernel.h:148
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 120 of file MaterialPropertyInterface.C.

121 {
123 }
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:130
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 114 of file MaterialPropertyInterface.C.

115 {
117 }
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:114
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 126 of file MaterialPropertyInterface.C.

127 {
129 }
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:171
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 132 of file MaterialPropertyInterface.C.

133 {
135 }
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:187
template<typename T >
const MaterialProperty< T > & MaterialPropertyInterface::getMaterialPropertyByName ( const MaterialPropertyName &  name)
inherited

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
Returns
Reference to the material property with the name 'name'

Definition at line 357 of file MaterialPropertyInterface.h.

358 {
360  checkMaterialProperty(name);
361 
362  // mark property as requested
363  markMatPropRequested(name);
364 
365  // Update the boolean flag.
367 
368  _material_property_dependencies.insert(_material_data->getPropertyId(name));
369 
370  return _material_data->getProperty<T>(name);
371 }
std::set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
void markMatPropRequested(const std::string &)
A proxy method for _mi_feproblem.markMatPropRequested(name)
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
void checkMaterialProperty(const std::string &name)
A helper method for checking material properties This method was required to avoid a compiler problem...
bool _get_material_property_called
Initialized to false.
void checkExecutionStage()
Check and throw an error if the execution has progressed past the construction stage.
bool MaterialPropertyInterface::getMaterialPropertyCalled ( ) const
inlineinherited

Returns true if getMaterialProperty() has been called, false otherwise.

Definition at line 173 of file MaterialPropertyInterface.h.

bool _get_material_property_called
Initialized to false.
template<typename T >
const MaterialProperty< T > & AuxKernel::getMaterialPropertyOld ( const std::string &  name)
inherited

Definition at line 230 of file AuxKernel.h.

Referenced by AuxKernel::getDependObjects().

231 {
232  if (isNodal())
233  mooseError("Nodal AuxKernel '",
234  AuxKernel::name(),
235  "' attempted to reference material property '",
236  name,
237  "'\nConsider using an elemental auxiliary variable for '",
238  _var.name(),
239  "'.");
240 
241  return MaterialPropertyInterface::getMaterialPropertyOld<T>(name);
242 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const std::string & name() const
Get the variable name.
bool isNodal()
Nodal or elemental kernel?
Definition: AuxKernel.h:89
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
MooseVariable & _var
Variable this kernel is acting on.
Definition: AuxKernel.h:148
template<typename T >
const MaterialProperty< T > & MaterialPropertyInterface::getMaterialPropertyOldByName ( const MaterialPropertyName &  name)
inherited

Definition at line 375 of file MaterialPropertyInterface.h.

376 {
377  if (!_stateful_allowed)
378  mooseError("Stateful material properties not allowed for this object."
379  " Old property for \"",
380  name,
381  "\" was requested.");
382 
383  // mark property as requested
384  markMatPropRequested(name);
385 
386  _material_property_dependencies.insert(_material_data->getPropertyId(name));
387 
388  return _material_data->getPropertyOld<T>(name);
389 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
void markMatPropRequested(const std::string &)
A proxy method for _mi_feproblem.markMatPropRequested(name)
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
bool _stateful_allowed
True by default.
template<typename T >
const MaterialProperty< T > & AuxKernel::getMaterialPropertyOlder ( const std::string &  name)
inherited

Definition at line 246 of file AuxKernel.h.

Referenced by AuxKernel::getDependObjects().

247 {
248  if (isNodal())
249  mooseError("Nodal AuxKernel '",
250  AuxKernel::name(),
251  "' attempted to reference material property '",
252  name,
253  "'\nConsider using an elemental auxiliary variable for '",
254  _var.name(),
255  "'.");
256 
257  return MaterialPropertyInterface::getMaterialPropertyOlder<T>(name);
258 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const std::string & name() const
Get the variable name.
bool isNodal()
Nodal or elemental kernel?
Definition: AuxKernel.h:89
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
MooseVariable & _var
Variable this kernel is acting on.
Definition: AuxKernel.h:148
template<typename T >
const MaterialProperty< T > & MaterialPropertyInterface::getMaterialPropertyOlderByName ( const MaterialPropertyName &  name)
inherited

Definition at line 393 of file MaterialPropertyInterface.h.

394 {
395  if (!_stateful_allowed)
396  mooseError("Stateful material properties not allowed for this object."
397  " Older property for \"",
398  name,
399  "\" was requested.");
400 
401  // mark property as requested
402  markMatPropRequested(name);
403 
404  _material_property_dependencies.insert(_material_data->getPropertyId(name));
405 
406  return _material_data->getPropertyOlder<T>(name);
407 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
void markMatPropRequested(const std::string &)
A proxy method for _mi_feproblem.markMatPropRequested(name)
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
bool _stateful_allowed
True by default.
const std::set<unsigned int>& MaterialPropertyInterface::getMatPropDependencies ( ) const
inlineinherited

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

Definition at line 181 of file MaterialPropertyInterface.h.

Referenced by LineMaterialSamplerBase< T >::execute().

182  {
184  }
std::set< unsigned int > _material_property_dependencies
The set of material properties (as given by their IDs) that this object depends on.
MooseApp& MooseObject::getMooseApp ( )
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 72 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

72 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
const std::set<MooseVariable *>& MooseVariableDependencyInterface::getMooseVariableDependencies ( ) const
inlineinherited

Retrieve the set of MooseVariables that this object depends on.

Returns
The MooseVariables that MUST be reinited before evaluating this object

Definition at line 32 of file MooseVariableDependencyInterface.h.

33  {
35  }
std::set< MooseVariable * > _moose_variable_dependencies
NearestNodeLocator & GeometricSearchInterface::getMortarNearestNodeLocator ( const BoundaryName &  master,
const BoundaryName &  slave,
Moose::ConstraintType  side_type 
)
inherited

Retrieve a mortar NearestNodeLocator associated with the two sides.

A mortar version means that it's going to find the nearest nodes to each quadrature point on this boundary

Definition at line 71 of file GeometricSearchInterface.C.

74 {
75  return _geometric_search_data.getMortarNearestNodeLocator(master, slave, side_type);
76 }
GeometricSearchData & _geometric_search_data
NearestNodeLocator & getMortarNearestNodeLocator(const BoundaryName &domain, const BoundaryName &slave, Moose::ConstraintType side_type)
PenetrationLocator & GeometricSearchInterface::getMortarPenetrationLocator ( const BoundaryName &  master,
const BoundaryName &  slave,
Moose::ConstraintType  side_type,
Order  order 
)
inherited

Retrieve the mortar PentrationLocator associated with the two sides.

A mortar version means that it's going to find the penetration each quadrature point on this boundary

Definition at line 48 of file GeometricSearchInterface.C.

52 {
53  return _geometric_search_data.getMortarPenetrationLocator(master, slave, side_type, order);
54 }
GeometricSearchData & _geometric_search_data
PenetrationLocator & getMortarPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type, Order order=FIRST)
NearestNodeLocator & GeometricSearchInterface::getNearestNodeLocator ( const BoundaryName &  master,
const BoundaryName &  slave 
)
inherited

Retrieve the PentrationLocator associated with the two sides.

Definition at line 57 of file GeometricSearchInterface.C.

59 {
60  return _geometric_search_data.getNearestNodeLocator(master, slave);
61 }
GeometricSearchData & _geometric_search_data
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
template<typename T >
const T & MooseObject::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 122 of file MooseObject.h.

Referenced by FEProblemBase::addMaterial(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), EigenKernel::EigenKernel(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), RenameBlock::modify(), MooseObject::parameters(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

123 {
124  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
125 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
PenetrationLocator & GeometricSearchInterface::getPenetrationLocator ( const BoundaryName &  master,
const BoundaryName &  slave,
Order  order 
)
inherited

Retrieve the PentrationLocator associated with the two sides.

Definition at line 32 of file GeometricSearchInterface.C.

35 {
36  return _geometric_search_data.getPenetrationLocator(master, slave, order);
37 }
GeometricSearchData & _geometric_search_data
PenetrationLocator & getPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
const PostprocessorValue & AuxKernel::getPostprocessorValue ( const std::string &  name)
virtualinherited

Definition at line 158 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

159 {
160  _depend_uo.insert(_pars.get<PostprocessorName>(name));
162 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const PostprocessorValue & getPostprocessorValue(const std::string &name)
Retrieve the value of a Postprocessor or one of it&#39;s old or older values.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const PostprocessorValue & AuxKernel::getPostprocessorValueByName ( const PostprocessorName &  name)
virtualinherited

Definition at line 165 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

166 {
167  _depend_uo.insert(name);
169 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const PostprocessorValue & getPostprocessorValueByName(const PostprocessorName &name)
Retrieve the value of the Postprocessor.
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOld ( const std::string &  name)
inherited

Definition at line 40 of file PostprocessorInterface.C.

41 {
42  // Return the default if the Postprocessor does not exist and a default does, otherwise
43  // continue as usual
46  else
47  return _pi_feproblem.getPostprocessorValueOld(_ppi_params.get<PostprocessorName>(name));
48 }
PostprocessorValue & getPostprocessorValueOld(const std::string &name)
Get the reference to the old value of a post-processor.
bool hasPostprocessor(const std::string &name) const
Determine if the Postprocessor exists.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
bool hasDefaultPostprocessorValue(const std::string &name) const
Returns true if a default PostprocessorValue is defined.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOldByName ( const PostprocessorName &  name)
inherited

Definition at line 68 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

69 {
71 }
PostprocessorValue & getPostprocessorValueOld(const std::string &name)
Get the reference to the old value of a post-processor.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlder ( const std::string &  name)
inherited

Definition at line 51 of file PostprocessorInterface.C.

52 {
53  // Return the default if the Postprocessor does not exist and a default does, otherwise
54  // continue as usual
57  else
58  return _pi_feproblem.getPostprocessorValueOlder(_ppi_params.get<PostprocessorName>(name));
59 }
bool hasPostprocessor(const std::string &name) const
Determine if the Postprocessor exists.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValueOlder(const std::string &name)
Get the reference to the older value of a post-processor.
bool hasDefaultPostprocessorValue(const std::string &name) const
Returns true if a default PostprocessorValue is defined.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlderByName ( const PostprocessorName &  name)
inherited

Definition at line 74 of file PostprocessorInterface.C.

75 {
77 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValueOlder(const std::string &name)
Get the reference to the older value of a post-processor.
NearestNodeLocator & GeometricSearchInterface::getQuadratureNearestNodeLocator ( const BoundaryName &  master,
const BoundaryName &  slave 
)
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 64 of file GeometricSearchInterface.C.

66 {
68 }
GeometricSearchData & _geometric_search_data
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
PenetrationLocator & GeometricSearchInterface::getQuadraturePenetrationLocator ( const BoundaryName &  master,
const BoundaryName &  slave,
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 40 of file GeometricSearchInterface.C.

43 {
44  return _geometric_search_data.getQuadraturePenetrationLocator(master, slave, order);
45 }
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
GeometricSearchData & _geometric_search_data
unsigned long RandomInterface::getRandomLong ( ) const
inherited

Returns the next random number (long) from the generator tied to this object (elem/node).

Definition at line 74 of file RandomInterface.C.

75 {
76  mooseAssert(_generator, "Random Generator is NULL, did you call setRandomResetFrequency()?");
77 
78  dof_id_type id;
79  if (_is_nodal)
80  id = _curr_node->id();
81  else
82  id = _curr_element->id();
83 
84  return _generator->randl(static_cast<unsigned int>(id));
85 }
static uint32_t randl()
This method returns the next random number (long format) from the generator.
Definition: MooseRandom.h:76
const Node *& _curr_node
const Elem *& _curr_element
MooseRandom * _generator
Real RandomInterface::getRandomReal ( ) const
inherited

Returns the next random number (Real) from the generator tied to this object (elem/node).

Definition at line 88 of file RandomInterface.C.

89 {
90  mooseAssert(_generator, "Random Generator is NULL, did you call setRandomResetFrequency()?");
91 
92  dof_id_type id;
93  if (_is_nodal)
94  id = _curr_node->id();
95  else
96  id = _curr_element->id();
97 
98  return _generator->rand(static_cast<unsigned int>(id));
99 }
static double rand()
This method returns the next random number (double format) from the generator.
Definition: MooseRandom.h:55
const Node *& _curr_node
const Elem *& _curr_element
MooseRandom * _generator
const std::set< std::string > & AuxKernel::getRequestedItems ( )
overridevirtualinherited

Return a set containing the names of items requested by the object.

Implements DependencyResolverInterface.

Definition at line 139 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

140 {
141  return _depend_vars;
142 }
std::set< std::string > _depend_vars
Depend AuxKernels.
Definition: AuxKernel.h:195
ExecFlagType RandomInterface::getResetOnTime ( ) const
inlineinherited

Definition at line 76 of file RandomInterface.h.

76 { return _reset_on; }
ExecFlagType _reset_on
MooseVariableScalar * ScalarCoupleable::getScalarVar ( const std::string &  var_name,
unsigned int  comp 
)
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 175 of file ScalarCoupleable.C.

Referenced by ScalarCoupleable::coupledScalar(), ScalarCoupleable::coupledScalarDot(), ScalarCoupleable::coupledScalarDotDu(), ScalarCoupleable::coupledScalarOrder(), ScalarCoupleable::coupledScalarValue(), ScalarCoupleable::coupledScalarValueOld(), ScalarCoupleable::coupledScalarValueOlder(), and ParsedODEKernel::ParsedODEKernel().

176 {
177  if (_coupled_scalar_vars.find(var_name) != _coupled_scalar_vars.end())
178  {
179  if (comp < _coupled_scalar_vars[var_name].size())
180  return _coupled_scalar_vars[var_name][comp];
181  else
182  mooseError("Trying to get a non-existent component of variable '" + var_name + "'");
183  }
184  else
185  mooseError("Trying to get a non-existent variable '" + var_name + "'");
186 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
unsigned int RandomInterface::getSeed ( unsigned int  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 66 of file RandomInterface.C.

67 {
68  mooseAssert(_random_data, "RandomData object is NULL!");
69 
70  return _random_data->getSeed(id);
71 }
RandomData * _random_data
unsigned int getSeed(dof_id_type id)
Get the seed for the passed in elem/node id.
Definition: RandomData.C:34
const std::set< std::string > & AuxKernel::getSuppliedItems ( )
overridevirtualinherited

Return a set containing the names of items owned by the object.

Implements DependencyResolverInterface.

Definition at line 145 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

146 {
147  return _supplied_vars;
148 }
std::set< std::string > _supplied_vars
Definition: AuxKernel.h:196
template<typename T >
const T & AuxKernel::getUserObject ( const std::string &  name)
inherited

Definition at line 262 of file AuxKernel.h.

Referenced by AuxKernel::getDependObjects().

263 {
264  _depend_uo.insert(_pars.get<UserObjectName>(name));
265  return UserObjectInterface::getUserObject<T>(name);
266 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const UserObject & AuxKernel::getUserObjectBase ( const std::string &  name)
inherited

Definition at line 151 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

152 {
153  _depend_uo.insert(_pars.get<UserObjectName>(name));
155 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
const UserObject & getUserObjectBase(const std::string &name)
Get an user object with a given parameter name.
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const UserObject & UserObjectInterface::getUserObjectBaseByName ( const std::string &  name)
inherited

Get an user object with a given name.

Parameters
nameThe name of the user object to retrieve
Returns
The user object with the name

Definition at line 34 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObjectByName().

35 {
36  return _uoi_feproblem.getUserObjectBase(name);
37 }
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
const UserObject & getUserObjectBase(const std::string &name)
Get the user object by its name.
template<class T >
const T & UserObjectInterface::getUserObjectByName ( const std::string &  name)
inherited

Get an user object with a given name.

Parameters
nameThe name of the user object to retrieve
Returns
The user object with the name

Definition at line 93 of file UserObjectInterface.h.

94 {
95  unsigned int tid = isDiscreteUserObject(getUserObjectBaseByName(name)) ? _uoi_tid : 0;
96  return _uoi_feproblem.getUserObject<T>(name, tid);
97 }
bool isDiscreteUserObject(const UserObject &uo) const
Check if the user object is a DiscreteElementUserObject.
const UserObject & getUserObjectBaseByName(const std::string &name)
Get an user object with a given name.
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
THREAD_ID _uoi_tid
Thread ID.
const T & getUserObject(const std::string &name, unsigned int tid=0)
Get the user object by its name.
template<typename T >
const T & AuxKernel::getUserObjectByName ( const UserObjectName &  name)
inherited

Definition at line 270 of file AuxKernel.h.

Referenced by AuxKernel::getDependObjects().

271 {
272  _depend_uo.insert(name);
273  return UserObjectInterface::getUserObjectByName<T>(name);
274 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
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 117 of file Coupleable.C.

Referenced by ShapeUserObject< T >::coupled(), Coupleable::coupled(), AuxKernel::coupledDot(), Coupleable::coupledDot(), AuxKernel::coupledDotDu(), Coupleable::coupledDotDu(), Coupleable::coupledGradient(), Coupleable::coupledGradientOld(), Coupleable::coupledGradientOlder(), Coupleable::coupledGradientPreviousNL(), NeighborCoupleable::coupledNeighborGradient(), NeighborCoupleable::coupledNeighborGradientOld(), NeighborCoupleable::coupledNeighborGradientOlder(), NeighborCoupleable::coupledNeighborSecond(), NeighborCoupleable::coupledNeighborSolutionDoFs(), NeighborCoupleable::coupledNeighborSolutionDoFsOld(), NeighborCoupleable::coupledNeighborSolutionDoFsOlder(), NeighborCoupleable::coupledNeighborValue(), NeighborCoupleable::coupledNeighborValueOld(), NeighborCoupleable::coupledNeighborValueOlder(), Coupleable::coupledNodalDot(), Coupleable::coupledNodalValue(), Coupleable::coupledNodalValueOld(), Coupleable::coupledNodalValueOlder(), Coupleable::coupledNodalValuePreviousNL(), Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledSecondOlder(), Coupleable::coupledSecondPreviousNL(), Coupleable::coupledSolutionDoFs(), Coupleable::coupledSolutionDoFsOld(), Coupleable::coupledSolutionDoFsOlder(), Coupleable::coupledValue(), Coupleable::coupledValueOld(), Coupleable::coupledValueOlder(), Coupleable::coupledValuePreviousNL(), ParsedAux::ParsedAux(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), and SphericalAverage::SphericalAverage().

118 {
119  if (_coupled_vars.find(var_name) != _coupled_vars.end())
120  {
121  if (comp < _coupled_vars[var_name].size())
122  {
123  // Error check - don't couple elemental to nodal
124  if (!(_coupled_vars[var_name][comp])->isNodal() && _c_nodal)
125  mooseError("You cannot couple an elemental variable to a nodal variable");
126  return _coupled_vars[var_name][comp];
127  }
128  else
129  mooseError("Trying to get a non-existent component of variable '" + var_name + "'");
130  }
131  else
132  mooseError("Trying to get a non-existent variable '" + var_name + "'");
133 }
bool _c_nodal
True if we provide coupling to nodal values.
Definition: Coupleable.h:327
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::map< std::string, std::vector< MooseVariable * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:321
const VectorPostprocessorValue & AuxKernel::getVectorPostprocessorValue ( const std::string &  name,
const std::string &  vector_name 
)
overridevirtualinherited

Retrieve the value of a VectorPostprocessor.

Parameters
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

Reimplemented from VectorPostprocessorInterface.

Definition at line 172 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

173 {
174  _depend_uo.insert(_pars.get<VectorPostprocessorName>(name));
176 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
virtual const VectorPostprocessorValue & getVectorPostprocessorValue(const std::string &name, const std::string &vector_name)
Retrieve the value of a VectorPostprocessor.
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const VectorPostprocessorValue & AuxKernel::getVectorPostprocessorValueByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
)
overridevirtualinherited

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

Reimplemented from VectorPostprocessorInterface.

Definition at line 179 of file AuxKernel.C.

Referenced by AuxKernel::getDependObjects().

181 {
182  _depend_uo.insert(name);
184 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
virtual const VectorPostprocessorValue & getVectorPostprocessorValueByName(const VectorPostprocessorName &name, const std::string &vector_name)
Retrieve the value of the VectorPostprocessor.
std::set< std::string > _depend_uo
Depend UserObjects.
Definition: AuxKernel.h:199
const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOld ( const std::string &  name,
const std::string &  vector_name 
)
inherited

Retrieve the old value of a VectorPostprocessor.

Parameters
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 44 of file VectorPostprocessorInterface.C.

46 {
48  _vpi_params.get<VectorPostprocessorName>(name), vector_name);
49 }
FEProblemBase & _vpi_feproblem
Reference the the FEProblemBase class.
const InputParameters & _vpi_params
VectorPostprocessorInterface Parameters.
VectorPostprocessorValue & getVectorPostprocessorValueOld(const std::string &name, const std::string &vector_name)
Get the reference to the old value of a post-processor.
const VectorPostprocessorValue & VectorPostprocessorInterface::getVectorPostprocessorValueOldByName ( const VectorPostprocessorName &  name,
const std::string &  vector_name 
)
inherited

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 52 of file VectorPostprocessorInterface.C.

54 {
55  return _vpi_feproblem.getVectorPostprocessorValueOld(name, vector_name);
56 }
FEProblemBase & _vpi_feproblem
Reference the the FEProblemBase class.
VectorPostprocessorValue & getVectorPostprocessorValueOld(const std::string &name, const std::string &vector_name)
Get the reference to the old value of a post-processor.
template<typename T >
const MaterialProperty< T > & MaterialPropertyInterface::getZeroMaterialProperty ( const std::string &  prop_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 444 of file MaterialPropertyInterface.h.

445 {
446  // static zero property storage
447  static MaterialProperty<T> zero;
448 
449  // resize to accomodate maximum number of qpoints
450  // (in multiapp scenarios getMaxQps can return different values in each app; we need the max)
451  unsigned int nqp = _mi_feproblem.getMaxQps();
452  if (nqp > zero.size())
453  zero.resize(nqp);
454 
455  // set values for all qpoints to zero
456  for (unsigned int qp = 0; qp < nqp; ++qp)
457  mooseSetToZero<T>(zero[qp]);
458 
459  return zero;
460 }
FEProblemBase & _mi_feproblem
Reference to the FEProblemBase class.
virtual void resize(int n)
Resizes the property to the size n.
unsigned int getMaxQps() const
Concrete definition of a parameter value for a specified type.
unsigned int size() const
const VariableGradient & MooseVariableInterface::gradient ( )
protectedvirtualinherited

The gradient of the variable this object is operating on.

This is computed by default and should already be available as _grad_u

Returns
The reference to be stored off and used later.

Definition at line 101 of file MooseVariableInterface.C.

102 {
103  if (_nodal)
104  mooseError("Nodal variables do not have gradients");
105 
106  return _variable->gradSln();
107 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariable * _variable
The variable this object is acting on.
const VariableGradient & gradSln()
const VariableGradient & MooseVariableInterface::gradientOld ( )
protectedvirtualinherited

The old gradient of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 110 of file MooseVariableInterface.C.

111 {
112  if (_nodal)
113  mooseError("Nodal variables do not have gradients");
114 
115  return _variable->gradSlnOld();
116 }
const VariableGradient & gradSlnOld()
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariable * _variable
The variable this object is acting on.
const VariableGradient & MooseVariableInterface::gradientOlder ( )
protectedvirtualinherited

The older gradient of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 119 of file MooseVariableInterface.C.

120 {
121  if (_nodal)
122  mooseError("Nodal variables do not have gradients");
123 
124  return _variable->gradSlnOlder();
125 }
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
bool _nodal
Whether or not this object is acting only at nodes.
const VariableGradient & gradSlnOlder()
MooseVariable * _variable
The variable this object is acting on.
template<typename T >
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 254 of file BlockRestrictable.h.

Referenced by BlockRestrictable::~BlockRestrictable().

255 {
256  mooseAssert(_blk_material_data != NULL, "MaterialData pointer is not defined");
257  return hasBlockMaterialPropertyHelper(prop_name) &&
258  _blk_material_data->haveProperty<T>(prop_name);
259 }
std::shared_ptr< 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.
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 250 of file BlockRestrictable.C.

Referenced by BlockRestrictable::hasBlockMaterialProperty().

251 {
252 
253  // Reference to MaterialWarehouse for testing and retrieving block ids
255 
256  // Complete set of ids that this object is active
257  const std::set<SubdomainID> & ids = blockRestricted() ? blockIDs() : meshBlockIDs();
258 
259  // Loop over each id for this object
260  for (const auto & id : ids)
261  {
262  // Storage of material properties that have been DECLARED on this id
263  std::set<std::string> declared_props;
264 
265  // If block materials exist, populated the set of properties that were declared
266  if (warehouse.hasActiveBlockObjects(id))
267  {
268  const std::vector<std::shared_ptr<Material>> & mats = warehouse.getActiveBlockObjects(id);
269  for (const auto & mat : mats)
270  {
271  const std::set<std::string> & mat_props = mat->getSuppliedItems();
272  declared_props.insert(mat_props.begin(), mat_props.end());
273  }
274  }
275 
276  // If the supplied property is not in the list of properties on the current id, return false
277  if (declared_props.find(prop_name) == declared_props.end())
278  return false;
279  }
280 
281  // If you get here the supplied property is defined on all blocks
282  return true;
283 }
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
Material objects are special in that they have additional objects created automatically (see FEProble...
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
const MaterialWarehouse & getMaterialWarehouse()
bool hasActiveBlockObjects(THREAD_ID tid=0) const
virtual bool blockRestricted() const
Returns true if this object has been restricted to a boundary.
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 180 of file BlockRestrictable.C.

Referenced by LineMaterialSamplerBase< T >::execute(), BlockRestrictable::hasBlocks(), and BlockRestrictable::~BlockRestrictable().

181 {
182  // Create a vector and utilize the getSubdomainIDs function, which
183  // handles the ANY_BLOCK_ID (getSubdomainID does not)
184  std::vector<SubdomainName> names(1);
185  names[0] = name;
186  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
187 }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this 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:1012
MooseMesh * _blk_mesh
Pointer to Mesh.
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 190 of file BlockRestrictable.C.

191 {
192  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
193 }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this 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:1012
MooseMesh * _blk_mesh
Pointer to Mesh.
bool BlockRestrictable::hasBlocks ( const 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 196 of file BlockRestrictable.C.

197 {
198  if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
199  return true;
200  else
201  return _blk_ids.find(id) != _blk_ids.end();
202 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
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 the all of the given ids are found within the ids for this object

Definition at line 205 of file BlockRestrictable.C.

206 {
207  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
208  return hasBlocks(ids_set);
209 }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.
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 the all of the given ids are found within the ids for this object
See also
isSubset

Definition at line 212 of file BlockRestrictable.C.

213 {
214  if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
215  return true;
216  else
217  return std::includes(_blk_ids.begin(), _blk_ids.end(), ids.begin(), ids.end());
218 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
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 183 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::hasBoundary(), and BoundaryRestrictable::hasBoundaryMaterialPropertyHelper().

184 {
185  // Create a vector and utilize the getBoundaryIDs function, which
186  // handles the ANY_BOUNDARY_ID (getBoundaryID does not)
187  return hasBoundary(_bnd_mesh->getBoundaryIDs({name}));
188 }
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:1951
MooseMesh * _bnd_mesh
Point to mesh.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
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 191 of file BoundaryRestrictable.C.

192 {
193  return hasBoundary(_bnd_mesh->getBoundaryIDs(names));
194 }
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:1951
MooseMesh * _bnd_mesh
Point to mesh.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
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 197 of file BoundaryRestrictable.C.

198 {
199  if (_bnd_ids.empty() || _bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
200  return true;
201  else
202  return _bnd_ids.find(id) != _bnd_ids.end();
203 }
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
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 206 of file BoundaryRestrictable.C.

207 {
208  std::set<BoundaryID> ids_set(ids.begin(), ids.end());
209  return hasBoundary(ids_set, type);
210 }
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
MatType type
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 213 of file BoundaryRestrictable.C.

214 {
215  // An empty input is assumed to be ANY_BOUNDARY_ID
216  if (ids.empty() || ids.find(Moose::ANY_BOUNDARY_ID) != ids.end())
217  return true;
218 
219  // All supplied IDs must match those of the object
220  else if (type == ALL)
221  {
222  if (_bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
223  return true;
224  else
225  return std::includes(_bnd_ids.begin(), _bnd_ids.end(), ids.begin(), ids.end());
226  }
227  // Any of the supplied IDs must match those of the object
228  else
229  {
230  // Loop through the supplied ids
231  for (const auto & id : ids)
232  {
233  // Test the current supplied id
234  bool test = hasBoundary(id);
235 
236  // If the id exists in the stored ids, then return true, otherwise
237  if (test)
238  return true;
239  }
240  return false;
241  }
242 }
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.
MatType type
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
template<typename T >
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 228 of file BoundaryRestrictable.h.

229 {
230  // If you get here the supplied property is defined on all boundaries, but is still subject
231  // existence in the MateialData class
232  return hasBoundaryMaterialPropertyHelper(prop_name) &&
233  _bnd_material_data->haveProperty<T>(prop_name);
234 }
bool hasBoundaryMaterialPropertyHelper(const std::string &prop_name) const
A helper method to avoid circular #include problems.
std::shared_ptr< MaterialData > _bnd_material_data
Pointer to MaterialData for boundary (.
bool BoundaryRestrictable::hasBoundaryMaterialPropertyHelper ( const std::string &  prop_name) const
protectedinherited

A helper method to avoid circular #include problems.

See also
hasBoundaryMaterialProperty

Definition at line 274 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::hasBoundaryMaterialProperty().

275 {
276  // Reference to MaterialWarehouse for testing and retrieving boundary ids
278 
279  // Complete set of BoundaryIDs that this object is defined
280  const std::set<BoundaryID> & ids =
282 
283  // Loop over each BoundaryID for this object
284  for (const auto & id : ids)
285  {
286  // Storage of material properties that have been DECLARED on this BoundaryID
287  std::set<std::string> declared_props;
288 
289  // If boundary materials exist, populated the set of properties that were declared
290  if (warehouse.hasActiveBoundaryObjects(id))
291  {
292  const std::vector<std::shared_ptr<Material>> & mats = warehouse.getActiveBoundaryObjects(id);
293  for (const auto & mat : mats)
294  {
295  const std::set<std::string> & mat_props = mat->getSuppliedItems();
296  declared_props.insert(mat_props.begin(), mat_props.end());
297  }
298  }
299 
300  // If the supplied property is not in the list of properties on the current id, return false
301  if (declared_props.find(prop_name) == declared_props.end())
302  return false;
303  }
304 
305  // If you get here the supplied property is defined on all boundaries
306  return true;
307 }
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const
Material objects are special in that they have additional objects created automatically (see FEProble...
const std::set< BoundaryID > & meshBoundaryIDs() const
Returns the set of all boundary ids for the entire mesh.
bool hasActiveBoundaryObjects(THREAD_ID tid=0) const
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
const MaterialWarehouse & getMaterialWarehouse()
FEProblemBase * _bnd_feproblem
Pointer to FEProblemBase.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
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 428 of file MaterialPropertyInterface.h.

429 {
430  // Check if the supplied parameter is a valid input parameter key
431  std::string prop_name = deducePropertyName(name);
432  return _material_data->haveProperty<T>(prop_name);
433 }
std::string deducePropertyName(const std::string &name)
Small helper to look up a material property name through the input parameter keys.
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
template<typename T >
bool MaterialPropertyInterface::hasMaterialPropertyByName ( const std::string &  name)
inherited

Definition at line 437 of file MaterialPropertyInterface.h.

438 {
439  return _material_data->haveProperty<T>(name);
440 }
std::shared_ptr< MaterialData > _material_data
Pointer to the material data class that stores properties.
bool PostprocessorInterface::hasPostprocessor ( const std::string &  name) const
inherited

Determine if the Postprocessor exists.

Parameters
nameThe name of the Postprocessor parameter
Returns
True if the Postprocessor exists
See also
hasPostprocessorByName getPostprocessorValue

Definition at line 80 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel(), PostprocessorInterface::getPostprocessorValue(), PostprocessorInterface::getPostprocessorValueOld(), PostprocessorInterface::getPostprocessorValueOlder(), and TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction().

81 {
82  return _pi_feproblem.hasPostprocessor(_ppi_params.get<PostprocessorName>(name));
83 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
bool hasPostprocessor(const std::string &name)
Check existence of the postprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
bool PostprocessorInterface::hasPostprocessorByName ( const PostprocessorName &  name)
inherited

Determine if the Postprocessor exists.

Parameters
nameThe name of the Postprocessor
Returns
True if the Postprocessor exists
See also
hasPostprocessor getPostprocessorValueByName

Definition at line 86 of file PostprocessorInterface.C.

Referenced by VectorOfPostprocessors::VectorOfPostprocessors().

87 {
88  return _pi_feproblem.hasPostprocessor(name);
89 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
bool hasPostprocessor(const std::string &name)
Check existence of the postprocessor.
bool VectorPostprocessorInterface::hasVectorPostprocessor ( const std::string &  name) const
inherited

Determine if the VectorPostprocessor exists.

Parameters
nameThe name of the VectorPostprocessor parameter
Returns
True if the VectorPostprocessor exists
See also
hasVectorPostprocessorByName getVectorPostprocessorValue

Definition at line 59 of file VectorPostprocessorInterface.C.

60 {
61  return _vpi_feproblem.hasVectorPostprocessor(_vpi_params.get<VectorPostprocessorName>(name));
62 }
FEProblemBase & _vpi_feproblem
Reference the the FEProblemBase class.
bool hasVectorPostprocessor(const std::string &name)
Check existence of the VectorPostprocessor.
const InputParameters & _vpi_params
VectorPostprocessorInterface Parameters.
bool VectorPostprocessorInterface::hasVectorPostprocessorByName ( const VectorPostprocessorName &  name) const
inherited

Determine if the VectorPostprocessor exists.

Parameters
nameThe name of the VectorPostprocessor
Returns
True if the VectorPostprocessor exists
See also
hasVectorPostprocessor getVectorPostprocessorValueByName

Definition at line 65 of file VectorPostprocessorInterface.C.

67 {
69 }
FEProblemBase & _vpi_feproblem
Reference the the FEProblemBase class.
bool hasVectorPostprocessor(const std::string &name)
Check existence of the VectorPostprocessor.
void BlockRestrictable::initializeBlockRestrictable ( const MooseObject moose_object)
protectedinherited

An initialization routine needed for dual constructors.

Definition at line 78 of file BlockRestrictable.C.

Referenced by BlockRestrictable::BlockRestrictable().

79 {
80  // If the mesh pointer is not defined, but FEProblemBase is, get it from there
81  if (_blk_feproblem != NULL && _blk_mesh == NULL)
83 
84  // Check that the mesh pointer was defined, it is required for this class to operate
85  if (_blk_mesh == NULL)
86  mooseError("The input parameters must contain a pointer to FEProblem via '_fe_problem' or a "
87  "pointer to the MooseMesh via '_mesh'");
88 
89  // Populate the MaterialData pointer
90  if (_blk_feproblem != NULL)
92 
93  // The 'block' input is defined
94  if (moose_object->isParamValid("block"))
95  {
96  // Extract the blocks from the input
97  _blocks = moose_object->getParam<std::vector<SubdomainName>>("block");
98 
99  // Get the IDs from the supplied names
100  std::vector<SubdomainID> vec_ids = _blk_mesh->getSubdomainIDs(_blocks);
101 
102  // Store the IDs, handling ANY_BLOCK_ID if supplied
103  if (std::find(_blocks.begin(), _blocks.end(), "ANY_BLOCK_ID") != _blocks.end())
105  else
106  _blk_ids.insert(vec_ids.begin(), vec_ids.end());
107  }
108 
109  // When 'blocks' is not set and there is a "variable", use the blocks from the variable
110  else if (moose_object->isParamValid("variable"))
111  {
112  std::string variable_name = moose_object->parameters().getMooseType("variable");
113  if (!variable_name.empty())
115  }
116 
117  // Produce error if the object is not allowed to be both block and boundary restricted
118  if (!_blk_dual_restrictable && !_boundary_ids.empty() && !_boundary_ids.empty())
119  if (!_boundary_ids.empty() && _boundary_ids.find(Moose::ANY_BOUNDARY_ID) == _boundary_ids.end())
120  mooseError("Attempted to restrict the object '",
121  _blk_name,
122  "' to a block, but the object is already restricted by boundary");
123 
124  // If no blocks were defined above, specify that it is valid on all blocks
125  if (_blk_ids.empty() && !moose_object->isParamValid("boundary"))
126  {
128  _blocks = {"ANY_BLOCK_ID"};
129  }
130 
131  // If this object is block restricted, check that defined blocks exist on the mesh
132  if (_blk_ids.find(Moose::ANY_BLOCK_ID) == _blk_ids.end())
133  {
134  const std::set<SubdomainID> & valid_ids = _blk_mesh->meshSubdomains();
135  std::vector<SubdomainID> diff;
136 
137  std::set_difference(_blk_ids.begin(),
138  _blk_ids.end(),
139  valid_ids.begin(),
140  valid_ids.end(),
141  std::back_inserter(diff));
142 
143  if (!diff.empty())
144  {
145  std::ostringstream msg;
146  msg << "The object '" << _blk_name
147  << "' contains the following block ids that do not exist on the mesh:";
148  for (const auto & id : diff)
149  msg << " " << id;
150  mooseError(msg.str());
151  }
152  }
153 }
const bool _blk_dual_restrictable
Flag for allowing dual restriction.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2104
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
const std::set< SubdomainID > & activeSubdomains() const
std::shared_ptr< MaterialData > _blk_material_data
Pointer to the MaterialData class for this 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.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:67
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:122
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class...
std::shared_ptr< MaterialData > getMaterialData(Moose::MaterialDataType type, THREAD_ID tid=0)
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
virtual MooseMesh & mesh() override
const std::set< BoundaryID > & _boundary_ids
Reference to the boundary_ids, defaults to an empty set if not provided.
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:1012
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
virtual MooseVariable & getVariable(THREAD_ID tid, const std::string &var_name) override
Returns the variable reference for requested variable which may be in any system. ...
const std::string & _blk_name
Name of the object.
MooseMesh * _blk_mesh
Pointer to Mesh.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
void SetupInterface::initialSetup ( )
virtualinherited
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 221 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), BlockRestrictable::isBlockSubset(), and BlockRestrictable::~BlockRestrictable().

222 {
223  // An empty input is assumed to be ANY_BLOCK_ID
224  if (ids.empty() || ids.find(Moose::ANY_BLOCK_ID) != ids.end())
225  return true;
226 
227  if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
228  return std::includes(ids.begin(),
229  ids.end(),
230  _blk_mesh->meshSubdomains().begin(),
231  _blk_mesh->meshSubdomains().end());
232  else
233  return std::includes(ids.begin(), ids.end(), _blk_ids.begin(), _blk_ids.end());
234 }
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:2104
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error reporting)
MooseMesh * _blk_mesh
Pointer to Mesh.
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 237 of file BlockRestrictable.C.

238 {
239  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
240  return isBlockSubset(ids_set);
241 }
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
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 245 of file BoundaryRestrictable.C.

Referenced by BoundaryRestrictable::isBoundarySubset().

246 {
247  // An empty input is assumed to be ANY_BOUNDARY_ID
248  if (ids.empty() || ids.find(Moose::ANY_BOUNDARY_ID) != ids.end())
249  return true;
250 
251  if (_bnd_ids.find(Moose::ANY_BOUNDARY_ID) != _bnd_ids.end())
252  return std::includes(ids.begin(),
253  ids.end(),
254  _bnd_mesh->meshBoundaryIds().begin(),
255  _bnd_mesh->meshBoundaryIds().end());
256  else
257  return std::includes(ids.begin(), ids.end(), _bnd_ids.begin(), _bnd_ids.end());
258 }
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:2110
MooseMesh * _bnd_mesh
Point to mesh.
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
bool BoundaryRestrictable::isBoundarySubset ( const std::vector< BoundaryID > &  ids) const
inherited

Definition at line 261 of file BoundaryRestrictable.C.

262 {
263  std::set<BoundaryID> ids_set(ids.begin(), ids.end());
264  return isBoundarySubset(ids_set);
265 }
bool isBoundarySubset(const std::set< BoundaryID > &ids) const
Test if the class boundary ids are a subset of the supplied objects.
bool Coupleable::isCoupled ( const std::string &  var_name,
unsigned int  i = 0 
)
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 91 of file Coupleable.C.

Referenced by Coupleable::coupled(), Coupleable::coupledDot(), Coupleable::coupledDotDu(), Coupleable::coupledGradient(), Coupleable::coupledGradientOld(), Coupleable::coupledGradientOlder(), Coupleable::coupledGradientPreviousNL(), Coupleable::coupledNodalDot(), Coupleable::coupledNodalValue(), Coupleable::coupledNodalValueOld(), Coupleable::coupledNodalValueOlder(), Coupleable::coupledNodalValuePreviousNL(), Coupleable::coupledSecond(), Coupleable::coupledSecondOld(), Coupleable::coupledSecondOlder(), Coupleable::coupledSecondPreviousNL(), Coupleable::coupledSolutionDoFs(), Coupleable::coupledSolutionDoFsOld(), Coupleable::coupledSolutionDoFsOlder(), Coupleable::coupledValue(), Coupleable::coupledValueOld(), Coupleable::coupledValueOlder(), and Coupleable::coupledValuePreviousNL().

92 {
93  std::map<std::string, std::vector<MooseVariable *>>::iterator it = _coupled_vars.find(var_name);
94  if (it != _coupled_vars.end())
95  return (i < it->second.size());
96  else
97  {
98  // Make sure the user originally requested this value in the InputParameter syntax
99  if (!_coupleable_params.hasCoupledValue(var_name))
100  mooseError("The coupled variable \"",
101  var_name,
102  "\" was never added to this objects's "
103  "InputParameters, please double-check your "
104  "spelling");
105 
106  return false;
107  }
108 }
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:182
std::map< std::string, std::vector< MooseVariable * > > _coupled_vars
Coupled vars whose values we provide.
Definition: Coupleable.h:321
const InputParameters & _coupleable_params
Local InputParameters.
Definition: Coupleable.h:333
bool ScalarCoupleable::isCoupledScalar ( const std::string &  var_name,
unsigned int  i = 0 
)
protectedvirtualinherited

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 78 of file ScalarCoupleable.C.

Referenced by ScalarCoupleable::coupledScalarOrder(), ScalarCoupleable::coupledScalarValue(), ScalarCoupleable::coupledScalarValueOld(), and ScalarCoupleable::coupledScalarValueOlder().

79 {
80  std::map<std::string, std::vector<MooseVariableScalar *>>::iterator it =
81  _coupled_scalar_vars.find(var_name);
82  if (it != _coupled_scalar_vars.end())
83  return (i < it->second.size());
84  else
85  {
86  // Make sure the user originally requested this value in the InputParameter syntax
87  if (!_coupleable_params.hasCoupledValue(var_name))
88  mooseError("The coupled scalar variable \"",
89  var_name,
90  "\" was never added to this objects's "
91  "InputParameters, please double-check "
92  "your spelling");
93 
94  return false;
95  }
96 }
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:182
const InputParameters & _coupleable_params
Local InputParameters.
std::map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
Coupled vars whose values we provide.
bool TransientInterface::isImplicit ( )
inlineinherited

Definition at line 41 of file TransientInterface.h.

41 { return _is_implicit; }
bool _is_implicit
If the object is using implicit or explicit form.
bool RandomInterface::isNodal ( ) const
inlineinherited

Definition at line 75 of file RandomInterface.h.

75 { return _is_nodal; }
bool AuxKernel::isNodal ( )
inlineinherited
bool MooseObject::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 67 of file MooseObject.h.

Referenced by BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), GeneratedMesh::buildMesh(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), MultiAppNearestNodeTransfer::getLocalNodes(), MultiAppNearestNodeTransfer::getNearestNode(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), AssignElementSubdomainID::modify(), RenameBlock::modify(), ParsedSubdomainMeshModifier::modify(), SubdomainBoundingBox::modify(), EigenExecutionerBase::normalizeSolution(), Output::Output(), Exodus::outputSetup(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), Piecewise::setData(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

67 { return _pars.isParamValid(name); }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
void SetupInterface::jacobianSetup ( )
virtualinherited

Gets called just before the Jacobian is computed and before this object is asked to do its job.

Definition at line 79 of file SetupInterface.C.

80 {
81 }
void MaterialPropertyInterface::markMatPropRequested ( const std::string &  name)
protectedinherited