https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
MooseVariableFV< OutputType > Class Template Reference

This class provides variable solution values for other classes/objects to bind to when looping over faces or elements. More...

#include <FVInterfaceKernel.h>

Inheritance diagram for MooseVariableFV< OutputType >:
[legend]

Public Types

using OutputGradient = typename MooseVariableField< OutputType >::OutputGradient
 
using OutputSecond = typename MooseVariableField< OutputType >::OutputSecond
 
using OutputDivergence = typename MooseVariableField< OutputType >::OutputDivergence
 
using FieldVariableValue = typename MooseVariableField< OutputType >::FieldVariableValue
 
using FieldVariableGradient = typename MooseVariableField< OutputType >::FieldVariableGradient
 
using FieldVariableSecond = typename MooseVariableField< OutputType >::FieldVariableSecond
 
using FieldVariableCurl = typename MooseVariableField< OutputType >::FieldVariableCurl
 
using FieldVariableDivergence = typename MooseVariableField< OutputType >::FieldVariableDivergence
 
using OutputShape = typename MooseVariableField< OutputType >::OutputShape
 
using OutputShapeGradient = typename MooseVariableField< OutputType >::OutputShapeGradient
 
using OutputShapeSecond = typename MooseVariableField< OutputType >::OutputShapeSecond
 
using OutputShapeDivergence = typename MooseVariableField< OutputType >::OutputShapeDivergence
 
using OutputData = typename MooseVariableField< OutputType >::OutputData
 
using DoFValue = typename MooseVariableField< OutputType >::DoFValue
 
using FieldVariablePhiValue = typename MooseVariableField< OutputType >::FieldVariablePhiValue
 
using FieldVariablePhiDivergence = typename MooseVariableField< OutputType >::FieldVariablePhiDivergence
 
using FieldVariablePhiGradient = typename MooseVariableField< OutputType >::FieldVariablePhiGradient
 
using FieldVariablePhiSecond = typename MooseVariableField< OutputType >::FieldVariablePhiSecond
 
using ElemQpArg = Moose::ElemQpArg
 
using ElemSideQpArg = Moose::ElemSideQpArg
 
using ElemArg = Moose::ElemArg
 
using FaceArg = Moose::FaceArg
 
using StateArg = Moose::StateArg
 
using NodeArg = Moose::NodeArg
 
using ElemPointArg = Moose::ElemPointArg
 
typedef MooseArray< std::vector< OutputShape > > FieldVariablePhiCurl
 
typedef MooseArray< std::vector< OutputShape > > FieldVariableTestValue
 
typedef MooseArray< std::vector< OutputShapeGradient > > FieldVariableTestGradient
 
typedef MooseArray< std::vector< OutputShapeSecond > > FieldVariableTestSecond
 
typedef MooseArray< std::vector< OutputShape > > FieldVariableTestCurl
 
typedef MooseArray< std::vector< OutputShapeDivergence > > FieldVariableTestDivergence
 
using DataFileParameterType = DataFileName
 The parameter type this interface expects for a data file name. More...
 
using FunctorType = FunctorBase< Moose::ADType< OutputType >::type >
 
using ValueType = Moose::ADType< OutputType >::type
 
using GradientType = typename FunctorReturnType< Moose::ADType< OutputType >::type, FunctorEvaluationKind::Gradient >::type
 This rigmarole makes it so that a user can create functors that return containers (std::vector, std::array). More...
 
using DotType = ValueType
 

Public Member Functions

 MooseVariableFV (const InputParameters &parameters)
 
virtual bool isFV () const override
 
virtual void prepare () override final
 Prepare the elemental degrees of freedom. More...
 
virtual void prepareNeighbor () override final
 Prepare the neighbor element degrees of freedom. More...
 
virtual void prepareAux () override final
 
virtual void reinitNode () override final
 
virtual void reinitNodes (const std::vector< dof_id_type > &) override final
 
virtual void reinitNodesNeighbor (const std::vector< dof_id_type > &) override final
 
virtual void reinitAux () override final
 
virtual void reinitAuxNeighbor () override final
 
virtual void prepareLowerD () override final
 Prepare a lower dimensional element's degrees of freedom. More...
 
virtual const dof_id_typenodalDofIndex () const override final
 
virtual const dof_id_typenodalDofIndexNeighbor () const override final
 
virtual std::size_t phiSize () const override final
 Return phi size. More...
 
virtual std::size_t phiFaceSize () const override final
 Return phiFace size. More...
 
virtual std::size_t phiNeighborSize () const override final
 Return phiNeighbor size. More...
 
virtual std::size_t phiFaceNeighborSize () const override final
 Return phiFaceNeighbor size. More...
 
virtual std::size_t phiLowerSize () const override final
 Return the number of shape functions on the lower dimensional element for this variable. More...
 
virtual void computeElemValuesFace () override
 Compute values at facial quadrature points. More...
 
virtual void computeNeighborValuesFace () override
 Compute values at facial quadrature points for the neighbor. More...
 
virtual void computeNeighborValues () override
 Compute values at quadrature points for the neighbor. More...
 
virtual void computeLowerDValues () override final
 compute values at quadrature points on the lower dimensional element More...
 
virtual void computeNodalNeighborValues () override final
 Compute nodal values of this variable in the neighbor. More...
 
virtual void computeNodalValues () override final
 Compute nodal values of this variable. More...
 
virtual const std::vector< dof_id_type > & dofIndicesLower () const override final
 Get dof indices for the current lower dimensional element (this is meaningful when performing mortar FEM) More...
 
unsigned int numberOfDofs () const override final
 Get the number of local DoFs. More...
 
virtual unsigned int numberOfDofsNeighbor () override final
 
virtual bool isNodal () const override final
 Is this variable nodal. More...
 
bool hasDoFsOnNodes () const override final
 Does this variable have DoFs on nodes. More...
 
libMesh::FEContinuity getContinuity () const override final
 Return the continuity of this variable. More...
 
virtual bool isNodalDefined () const override final
 Is this variable defined at nodes. More...
 
virtual void setNodalValue (const OutputType &value, unsigned int idx=0) override
 
virtual void setDofValue (const OutputData &value, unsigned int index) override
 Degree of freedom value setters. More...
 
void clearDofIndices () override
 Clear out the dof indices. More...
 
virtual void prepareIC () override
 Prepare the initial condition. More...
 
virtual const Elem *const & currentElem () const override
 Current element this variable is evaluated at. More...
 
virtual void getDofIndices (const Elem *elem, std::vector< dof_id_type > &dof_indices) const override
 
virtual const std::vector< dof_id_type > & dofIndices () const final
 Get local DoF indices. More...
 
virtual const std::vector< dof_id_type > & dofIndicesNeighbor () const final
 Get neighbor DOF indices for currently selected element. More...
 
Moose::FV::InterpMethod faceInterpolationMethod () const
 
void clearAllDofIndices () final
 
const DoFValuenodalVectorTagValue (TagID) const override
 
const DoFValuenodalMatrixTagValue (TagID) const override
 
const FieldVariableValuevectorTagValue (TagID tag) const override
 tag values getters More...
 
const DoFValuevectorTagDofValue (TagID tag) const override
 
const FieldVariableValuematrixTagValue (TagID tag) const override
 
const FieldVariableValuevectorTagValueNeighbor (TagID tag)
 
const FieldVariableValuematrixTagValueNeighbor (TagID tag)
 
const FieldVariableValueuDot () const
 
const FieldVariableValuesln () const override
 
const FieldVariableValueslnOld () const override
 
const FieldVariableValueslnOlder () const override
 
const FieldVariableGradientgradSln () const override
 element gradients More...
 
const FieldVariableGradientgradSlnOld () const override
 
const FieldVariableValueuDotNeighbor () const
 
const FieldVariableValueslnNeighbor () const override
 
const FieldVariableValueslnOldNeighbor () const override
 
const FieldVariableGradientgradSlnNeighbor () const override
 neighbor solution gradients More...
 
const FieldVariableGradientgradSlnOldNeighbor () const override
 
const VariableValueduDotDu () const
 
const VariableValueduDotDotDu () const
 
const VariableValueduDotDuNeighbor () const
 
const VariableValueduDotDotDuNeighbor () const
 
const ADTemplateVariableValue< OutputType > & adSln () const override
 AD. More...
 
const ADTemplateVariableGradient< OutputType > & adGradSln () const override
 AD grad solution getter. More...
 
virtual const VectorValue< ADReal > & adGradSln (const Elem *const elem, const StateArg &state, const bool correct_skewness=false) const
 Retrieve (or potentially compute) the gradient on the provided element. More...
 
virtual VectorValue< ADRealadGradSln (const FaceInfo &fi, const StateArg &state, const bool correct_skewness=false) const
 Retrieve (or potentially compute) a cross-diffusion-corrected gradient on the provided face. More...
 
virtual VectorValue< ADRealuncorrectedAdGradSln (const FaceInfo &fi, const StateArg &state, const bool correct_skewness=false) const
 Retrieve (or potentially compute) the uncorrected gradient on the provided face. More...
 
ADReal getBoundaryFaceValue (const FaceInfo &fi, const StateArg &state, bool correct_skewness=false) const
 Retrieve the solution value at a boundary face. More...
 
const ADTemplateVariableSecond< OutputType > & adSecondSln () const override
 AD second solution getter. More...
 
const ADTemplateVariableValue< OutputType > & adUDot () const override
 AD time derivative getter. More...
 
const ADTemplateVariableValue< OutputType > & adUDotDot () const override
 AD second time derivative getter. More...
 
const ADTemplateVariableGradient< OutputType > & adGradSlnDot () const override
 AD grad of time derivative solution getter. More...
 
const ADTemplateVariableCurl< OutputType > & adCurlSln () const override
 AD curl solution getter. More...
 
const ADTemplateVariableValue< OutputType > & adSlnNeighbor () const override
 neighbor AD More...
 
const ADTemplateVariableGradient< OutputType > & adGradSlnNeighbor () const override
 AD grad neighbor solution getter. More...
 
const ADTemplateVariableSecond< OutputType > & adSecondSlnNeighbor () const override
 AD second neighbor solution getter. More...
 
const ADTemplateVariableValue< OutputType > & adUDotNeighbor () const override
 AD neighbor time derivative getter. More...
 
const ADTemplateVariableValue< OutputType > & adUDotDotNeighbor () const override
 AD neighbor second time derivative getter. More...
 
const ADTemplateVariableGradient< OutputType > & adGradSlnNeighborDot () const override
 AD grad of time derivative neighbor solution getter. More...
 
const ADTemplateVariableCurl< OutputType > & adCurlSlnNeighbor () const override
 AD curl neighbor solution getter. More...
 
virtual void computeElemValues () override
 Initializes/computes variable values from the solution vectors for the current element being operated on in assembly. More...
 
virtual void computeFaceValues (const FaceInfo &fi) override
 Initializes/computes variable values from the solution vectors for the face represented by fi. More...
 
virtual void setDofValues (const DenseVector< OutputData > &values) override
 Set local DOF values and evaluate the values on quadrature points. More...
 
virtual void setLowerDofValues (const DenseVector< OutputData > &values) override
 Set local DOF values for a lower dimensional element and evaluate the values on quadrature points. More...
 
OutputData getElementalValue (const Elem *elem, unsigned int idx=0) const
 Get the current value of this variable on an element. More...
 
OutputData getElementalValueOld (const Elem *elem, unsigned int idx=0) const
 Get the old value of this variable on an element. More...
 
OutputData getElementalValueOlder (const Elem *elem, unsigned int idx=0) const
 Get the older value of this variable on an element. More...
 
virtual void insert (libMesh::NumericVector< libMesh::Number > &vector) override
 Insert the currently cached degree of freedom values into the provided vector. More...
 
virtual void insertLower (libMesh::NumericVector< libMesh::Number > &vector) override
 Insert the currently cached degree of freedom values for a lower-dimensional element into the provided vector. More...
 
virtual void add (libMesh::NumericVector< libMesh::Number > &vector) override
 Add the currently cached degree of freedom values into the provided vector. More...
 
const DoFValuedofValues () const override
 dof values getters More...
 
const DoFValuedofValuesOld () const override
 
const DoFValuedofValuesOlder () const override
 
const DoFValuedofValuesPreviousNL () const override
 
const DoFValuedofValuesNeighbor () const override
 
const DoFValuedofValuesOldNeighbor () const override
 
const DoFValuedofValuesOlderNeighbor () const override
 
const DoFValuedofValuesPreviousNLNeighbor () const override
 
const DoFValuedofValuesDot () const override
 
const DoFValuedofValuesDotNeighbor () const override
 
const DoFValuedofValuesDotOld () const override
 
const DoFValuedofValuesDotOldNeighbor () const override
 
const DoFValuedofValuesDotDot () const override
 
const DoFValuedofValuesDotDotNeighbor () const override
 
const DoFValuedofValuesDotDotOld () const override
 
const DoFValuedofValuesDotDotOldNeighbor () const override
 
const MooseArray< libMesh::Number > & dofValuesDuDotDu () const override
 
const MooseArray< libMesh::Number > & dofValuesDuDotDuNeighbor () const override
 
const MooseArray< libMesh::Number > & dofValuesDuDotDotDu () const override
 
const MooseArray< libMesh::Number > & dofValuesDuDotDotDuNeighbor () const override
 
const MooseArray< ADReal > & adDofValues () const override
 Return the AD dof values. More...
 
const MooseArray< ADReal > & adDofValuesNeighbor () const override
 Return the AD neighbor dof values. More...
 
const MooseArray< ADReal > & adDofValuesDot () const override
 Return the AD time derivatives at dofs. More...
 
OutputType getValue (const Elem *elem) const
 Note: const monomial is always the case - higher order solns are reconstructed - so this is simpler func than FE equivalent. More...
 
OutputTools< OutputType >::OutputGradient getGradient (const Elem *elem) const
 Compute the variable gradient value at a point on an element. More...
 
bool hasDirichletBC () const
 Returns true if a Dirichlet BC exists on the current face. More...
 
std::pair< bool, const FVDirichletBCBase * > getDirichletBC (const FaceInfo &fi) const
 
std::pair< bool, std::vector< const FVFluxBC * > > getFluxBCs (const FaceInfo &fi) const
 
virtual void residualSetup () override
 
virtual void initialSetup () override
 Gets called at the beginning of the simulation before this object is asked to do its job. More...
 
virtual void jacobianSetup () override
 
virtual void timestepSetup () override
 
virtual void meshChanged () override
 Called on this object when the mesh changes. More...
 
ADReal getElemValue (const Elem *elem, const StateArg &state) const
 Get the solution value for the provided element and seed the derivative for the corresponding dof index. More...
 
void setActiveTags (const std::set< TagID > &vtags) override
 Set the active vector tags. More...
 
virtual void requireQpComputations () const
 Request that quadrature point data be (pre)computed. More...
 
virtual bool isDirichletBoundaryFace (const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
 Determine whether a specified face side is a Dirichlet boundary face. More...
 
bool supportsFaceArg () const override final
 Whether this functor supports evaluation with FaceArg. More...
 
bool supportsElemSideQpArg () const override final
 Whether this functor supports evaluation with ElemSideQpArg. More...
 
const MooseArray< OutputType > & nodalValueArray () const override
 Methods for retrieving values of variables at the nodes in a MooseArray for AuxKernelBase. More...
 
const MooseArray< OutputType > & nodalValueOldArray () const override
 
const MooseArray< OutputType > & nodalValueOlderArray () const override
 
bool computingSecond () const override final
 Whether or not this variable is computing any second derivatives. More...
 
bool computingCurl () const override final
 Whether or not this variable is computing any curl quantities. More...
 
bool computingDiv () const override final
 Whether or not this variable is computing any divergence quantities. More...
 
bool usesSecondPhiNeighbor () const override final
 Whether or not this variable is actually using the shape function second derivatives. More...
 
const FieldVariablePhiValuephi () const override final
 Return the variable's elemental shape functions. More...
 
const FieldVariablePhiGradientgradPhi () const override final
 Return the gradients of the variable's elemental shape functions. More...
 
const FieldVariablePhiSecondsecondPhi () const override final
 Return the rank-2 tensor of second derivatives of the variable's elemental shape functions. More...
 
const FieldVariablePhiValuecurlPhi () const override final
 Curl of the shape functions. More...
 
const FieldVariablePhiDivergencedivPhi () const override final
 Divergence of the shape functions. More...
 
const FieldVariablePhiValuephiFace () const override final
 Return the variable's shape functions on an element face. More...
 
const FieldVariablePhiGradientgradPhiFace () const override final
 Return the gradients of the variable's shape functions on an element face. More...
 
const FieldVariablePhiSecondsecondPhiFace () const override final
 Return the rank-2 tensor of second derivatives of the variable's shape functions on an element face. More...
 
const FieldVariablePhiValuephiFaceNeighbor () const override final
 Return the variable's shape functions on a neighboring element face. More...
 
const FieldVariablePhiGradientgradPhiFaceNeighbor () const override final
 Return the gradients of the variable's shape functions on a neighboring element face. More...
 
const FieldVariablePhiSecondsecondPhiFaceNeighbor () const override final
 Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring element face. More...
 
const FieldVariablePhiValuephiNeighbor () const override final
 Return the variable's shape functions on a neighboring element. More...
 
const FieldVariablePhiGradientgradPhiNeighbor () const override final
 Return the gradients of the variable's shape functions on a neighboring element. More...
 
const FieldVariablePhiSecondsecondPhiNeighbor () const override final
 Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring element. More...
 
virtual const FieldVariablePhiValuephiLower () const override
 Return the variable's shape functions on a lower-dimensional element. More...
 
unsigned int oldestSolutionStateRequested () const override final
 The oldest solution state that is requested for this variable (0 = current, 1 = old, 2 = older, etc). More...
 
virtual ADReal getExtrapolatedBoundaryFaceValue (const FaceInfo &fi, bool two_term_expansion, bool correct_skewness, const Elem *elem_side_to_extrapolate_from, const StateArg &state) const
 Retrieves an extrapolated boundary value for the provided face. More...
 
const bool & getTwoTermBoundaryExpansion () const
 Function to get wether two term boundary expansion is used for the variable. More...
 
virtual Moose::VarFieldType fieldType () const override
 Field type of this variable. More...
 
virtual bool isArray () const override
 
virtual bool isVector () const override
 
bool usesPhiNeighbor () const
 Whether or not this variable is actually using the shape function value. More...
 
bool usesGradPhiNeighbor () const
 Whether or not this variable is actually using the shape function gradient. 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 std::set< SubdomainName > &names) const
 Test if the supplied set of block names 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...
 
const std::string & componentName (const unsigned int comp) const
 Get the variable name of a component in libMesh. More...
 
const std::set< SubdomainID > & activeSubdomains () const
 The subdomains the variable is active on. More...
 
bool activeOnSubdomain (SubdomainID subdomain) const
 Is the variable active on the subdomain? More...
 
bool activeOnSubdomains (const std::set< SubdomainID > &subdomains) const
 Is the variable active on the subdomains? More...
 
virtual bool needsGradientVectorStorage () const
 Check if this variable needs a raw vector of gradients at dof-values. More...
 
const std::string & arrayVariableComponent (const unsigned int i) const
 Returns the variable name of a component of an array variable. More...
 
unsigned int number () const
 Get variable number coming from libMesh. More...
 
const libMesh::FETypefeType () const
 Get the type of finite element object. More...
 
SystemBasesys ()
 Get the system this variable is part of. More...
 
const SystemBasesys () const
 Get the system this variable is part of. More...
 
const std::string & name () const override
 Get the variable name. More...
 
bool useDual () const
 Get dual mortar option. More...
 
const std::vector< dof_id_type > & allDofIndices () const
 Get all global dofindices for the variable. More...
 
unsigned int totalVarDofs ()
 
Moose::VarKindType kind () const
 Kind of the variable (Nonlinear, Auxiliary, ...) More...
 
void scalingFactor (const std::vector< Real > &factor)
 Set the scaling factor for this variable. More...
 
Real scalingFactor () const
 Get the scaling factor for this variable. More...
 
const std::vector< Real > & arrayScalingFactor () const
 
libMesh::Order order () const
 Get the order of this variable Note: Order enum can be implicitly converted to unsigned int. More...
 
unsigned int count () const
 Get the number of components Note: For standard and vector variables, the number is one. More...
 
const libMesh::DofMapdofMap () const
 The DofMap associated with the system this variable is in. More...
 
std::vector< dof_id_typecomponentDofIndices (const std::vector< dof_id_type > &dof_indices, unsigned int component) const
 Obtain DoF indices of a component with the indices of the 0th component. More...
 
bool eigen () const
 Whether or not this variable operates on an eigen kernel. More...
 
void eigen (bool eigen)
 Mark this variable as an eigen var or non-eigen var. More...
 
bool isLowerD () const
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 Get another shared pointer to this object that has the same ownership group. More...
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 Calls moose error with the message msg. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 The unique parameter name of a valid parameter of this object for accessing parameter controls. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
MooseObjectName uniqueName () const
 The unique name for accessing input parameters of this object in the InputParameterWarehouse. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
bool isParamSetByUser (const std::string &nm) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type. More...
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 Emits a documented error with object name and type. More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Deprecated method. More...
 
std::string getDataFileNameByName (const std::string &relative_path) const
 Deprecated method. More...
 
std::string getDataFilePath (const std::string &relative_path) const
 Returns the path of a data file for a given relative file path. More...
 
const std::vector< SubdomainName > & blocks () const
 Return the block names for this object. More...
 
unsigned int numBlocks () const
 Return the number of blocks for this object. More...
 
virtual const std::set< SubdomainID > & blockIDs () const
 Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids. More...
 
unsigned int blocksMaxDimension () const
 Return the largest mesh dimension of the elements in the blocks for this object. More...
 
bool isBlockSubset (const std::set< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects. More...
 
bool isBlockSubset (const std::vector< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects. More...
 
template<typename T , bool is_ad = false>
bool hasBlockMaterialProperty (const std::string &prop_name)
 Check if a material property is valid for all blocks of this object. More...
 
const std::set< SubdomainID > & meshBlockIDs () const
 Return all of the SubdomainIDs for the mesh. More...
 
virtual bool blockRestricted () const
 Returns true if this object has been restricted to a block. More...
 
virtual void checkVariable (const MooseVariableFieldBase &variable) const
 Helper for checking that the ids for this object are in agreement with the variables on the supplied variable. More...
 
void buildOutputHideVariableList (std::set< std::string > variable_names)
 Builds hide lists for output objects NOT listed in the 'outputs' parameter. More...
 
const std::set< OutputName > & getOutputs ()
 Get the list of output objects that this class is restricted. More...
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
virtual void customSetup (const ExecFlagType &)
 Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain. More...
 
virtual void customSetup (const ExecFlagType &exec_type) override
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object. More...
 
FunctorReturnType< Moose::ADType< OutputType >::type, FET >::type genericEvaluate (const Space &r, const State &state) const
 Perform a generic evaluation based on the supplied template argument FET and supplied spatial and temporal arguments. More...
 
const MooseFunctorName & functorName () const
 Return the functor name. More...
 
void setCacheClearanceSchedule (const std::set< ExecFlagType > &clearance_schedule)
 Set how often to clear the functor evaluation cache. More...
 
bool isInternalFace (const FaceInfo &) const
 Returns true if the face is an internal face. More...
 
virtual bool isConstant () const
 Returns true if this functor is a constant. More...
 
virtual bool hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const override
 
void checkFace (const Moose::FaceArg &face) const
 Examines the incoming face argument. More...
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 Same as their evaluate overloads with the same arguments but allows for caching implementation. More...
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 Same as their evaluateGradient overloads with the same arguments but allows for caching implementation. More...
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 Same as their evaluateDot overloads with the same arguments but allows for caching implementation. More...
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation. More...
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 

Static Public Member Functions

static InputParameters validParams ()
 

Public Attributes

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

Protected Member Functions

virtual ADReal getDirichletBoundaryFaceValue (const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
 Retrieves a Dirichlet boundary value for the provided face. More...
 
bool isExtrapolatedBoundaryFace (const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const override
 Returns whether this is an extrapolated boundary face. More...
 
void clearCaches ()
 clear finite volume caches More...
 
bool doDerivatives () const
 
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...
 
Functor evaluation routines

These methods are all for evaluating functors with different kinds of spatial arguments.

Each of these methods also takes a state argument. For a description of the state argument, please see the StateArg doxygen

virtual GradientType evaluateGradient (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemPointArg &, const StateArg &) const
 Evaluate the functor gradient with a given element and point. More...
 
virtual GradientType evaluateGradient (const NodeArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemSideQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemPointArg &, const StateArg &) const
 Evaluate the functor time derivative with a given element and point. More...
 
virtual DotType evaluateDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 Evaluate the functor gradient-dot with a given element. More...
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 Evaluate the functor gradient-dot with a given element and point. More...
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 

Protected Attributes

 usingMooseVariableFieldMembers
 
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
 Holder for all the data associated with the "main" element. More...
 
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
 Holder for all the data associated with the neighbor element. More...
 
std::unordered_map< const Elem *, VectorValue< ADReal > > _elem_to_grad
 A cache for storing gradients on elements. More...
 
bool _two_term_boundary_expansion
 Whether to use a two term expansion for computing boundary face values. More...
 
VectorValue< ADReal_temp_cell_gradient
 A member to hold the cell gradient when not caching, used to return a reference (due to expensive ADReal copy) More...
 
const bool _cache_cell_gradients
 Whether to cache cell gradients. More...
 
Moose::FV::InterpMethod _face_interp_method
 Decides if an average or skewed corrected average is used for the face interpolation. More...
 
SystemBase_sys
 System this variable is part of. More...
 
libMesh::FEType _fe_type
 The FEType associated with this variable. More...
 
unsigned int _var_num
 variable number (from libMesh) More...
 
unsigned int _index
 variable number within MOOSE More...
 
bool _is_eigen
 Whether or not this variable operates on eigen kernels. More...
 
Moose::VarKindType _var_kind
 Variable type (see MooseTypes.h) More...
 
SubProblem_subproblem
 Problem this variable is part of. More...
 
const libMesh::Variable_variable
 libMesh variable object for this variable More...
 
Assembly_assembly
 Assembly data. More...
 
const libMesh::DofMap_dof_map
 DOF map. More...
 
std::vector< dof_id_type_dof_indices
 DOF indices. More...
 
MooseMesh_mesh
 mesh the variable is active in More...
 
THREAD_ID _tid
 Thread ID. More...
 
const unsigned int _count
 Number of variables in the array. More...
 
std::vector< Real_scaling_factor
 scaling factor for this variable More...
 
std::string _var_name
 Variable name. More...
 
bool _use_dual
 If dual mortar approach is used. More...
 
bool _is_lower_d
 Whether this variable lives on lower dimensional blocks. More...
 
std::vector< std::string > _array_var_component_names
 Array variable names when the variable is an array variable. More...
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects. More...
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
const std::string _type
 The type of this class. More...
 
const std::string _name
 The name of this class. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
const Parallel::Communicator_communicator
 
const MaterialData_blk_material_data
 Pointer to the MaterialData class for this object. More...
 
const ExecFlagEnum_execute_enum
 Execute settings for this object. More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 
FEProblemBase_mci_feproblem
 Reference to FEProblemBase instance. More...
 

Private Member Functions

ValueType evaluate (const ElemArg &elem, const StateArg &) const override final
 Evaluate the functor with a given element. More...
 
ValueType evaluate (const FaceArg &face, const StateArg &) const override final
 
ValueType evaluate (const NodeArg &node, const StateArg &) const override final
 
ValueType evaluate (const ElemPointArg &elem_point, const StateArg &state) const override final
 Evaluate the functor with a given element and point. More...
 
ValueType evaluate (const ElemQpArg &elem_qp, const StateArg &state) const override final
 
ValueType evaluate (const ElemSideQpArg &elem_side_qp, const StateArg &state) const override final
 
GradientType evaluateGradient (const ElemQpArg &qp_arg, const StateArg &) const override final
 
GradientType evaluateGradient (const ElemArg &elem_arg, const StateArg &) const override final
 Evaluate the functor gradient with a given element. More...
 
GradientType evaluateGradient (const FaceArg &face, const StateArg &) const override final
 
DotType evaluateDot (const ElemArg &elem, const StateArg &) const override final
 Evaluate the functor time derivative with a given element. More...
 
DotType evaluateDot (const FaceArg &face, const StateArg &) const override final
 
DotType evaluateDot (const ElemQpArg &elem_qp, const StateArg &) const override final
 
void determineBoundaryToDirichletBCMap ()
 Setup the boundary to Dirichlet BC map. More...
 
void determineBoundaryToFluxBCMap ()
 Setup the boundary to Flux BC map. More...
 
void lowerDError () const
 Emit an error message for unsupported lower-d ops. More...
 

Private Attributes

bool _dirichlet_map_setup = false
 Whether the boundary to Dirichlet cache map has been setup yet. More...
 
bool _flux_map_setup = false
 Whether the boundary to fluxBC cache map has been setup yet. More...
 
const libMesh::NumericVector< libMesh::Number > *const & _solution
 The current (ghosted) solution. More...
 
const FieldVariablePhiValue_phi
 Shape functions. More...
 
const FieldVariablePhiGradient_grad_phi
 
const FieldVariablePhiValue_phi_face
 
const FieldVariablePhiGradient_grad_phi_face
 
const FieldVariablePhiValue_phi_face_neighbor
 
const FieldVariablePhiGradient_grad_phi_face_neighbor
 
const FieldVariablePhiValue_phi_neighbor
 
const FieldVariablePhiGradient_grad_phi_neighbor
 
const Elem * _prev_elem
 A member used to help determine when we can return cached data as opposed to computing new data. More...
 
std::unordered_map< BoundaryID, const FVDirichletBCBase * > _boundary_id_to_dirichlet_bc
 Map from boundary ID to Dirichlet boundary conditions. More...
 
std::unordered_map< BoundaryID, std::vector< const FVFluxBC * > > _boundary_id_to_flux_bc
 Map from boundary ID to flux boundary conditions. More...
 

Friends

void Moose::initDofIndices (MooseVariableFV< OutputType > &, const Elem &)
 
const TimeIntegrator *const _time_integrator
 the time integrator used for computing time derivatives More...
 
ADReal _ad_real_dummy = 0
 A dummy ADReal variable. More...
 
template<bool is_ad>
const MooseArray< GenericReal< is_ad > > & genericDofValues () const
 
bool hasBlocks (const SubdomainID id) const override
 Returns whether the functor is defined on this block. More...
 
const libMesh::NumericVector< libMesh::Number > & getSolution (const Moose::StateArg &state) const
 Get the solution corresponding to the provided state. More...
 

Detailed Description

template<typename OutputType>
class MooseVariableFV< OutputType >

This class provides variable solution values for other classes/objects to bind to when looping over faces or elements.

It provides both elem and neighbor values when accessed in flux/face object calculations. The templating is to enable support for both vector and scalar variables. Gradient reconstruction (when enabled) occurs transparently within this class and kernels coupling to these values will naturally "see" according to the selected reconstruction methods.

OutputType OutputShape OutputData

Real Real Real RealVectorValue RealVectorValue Real RealEigenVector Real RealEigenVector

Definition at line 40 of file FVInterfaceKernel.h.

Member Typedef Documentation

◆ DataFileParameterType

using DataFileInterface::DataFileParameterType = DataFileName
inherited

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

Definition at line 27 of file DataFileInterface.h.

◆ DoFValue

template<typename OutputType>
using MooseVariableFV< OutputType >::DoFValue = typename MooseVariableField<OutputType>::DoFValue

Definition at line 71 of file MooseVariableFV.h.

◆ DotType

using Moose::FunctorBase< Moose::ADType< OutputType >::type >::DotType = ValueType
inherited

Definition at line 150 of file MooseFunctor.h.

◆ ElemArg

template<typename OutputType>
using MooseVariableFV< OutputType >::ElemArg = Moose::ElemArg

Definition at line 81 of file MooseVariableFV.h.

◆ ElemPointArg

template<typename OutputType>
using MooseVariableFV< OutputType >::ElemPointArg = Moose::ElemPointArg

Definition at line 85 of file MooseVariableFV.h.

◆ ElemQpArg

template<typename OutputType>
using MooseVariableFV< OutputType >::ElemQpArg = Moose::ElemQpArg

Definition at line 79 of file MooseVariableFV.h.

◆ ElemSideQpArg

template<typename OutputType>
using MooseVariableFV< OutputType >::ElemSideQpArg = Moose::ElemSideQpArg

Definition at line 80 of file MooseVariableFV.h.

◆ FaceArg

template<typename OutputType>
using MooseVariableFV< OutputType >::FaceArg = Moose::FaceArg

Definition at line 82 of file MooseVariableFV.h.

◆ FieldVariableCurl

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariableCurl = typename MooseVariableField<OutputType>::FieldVariableCurl

Definition at line 62 of file MooseVariableFV.h.

◆ FieldVariableDivergence

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariableDivergence = typename MooseVariableField<OutputType>::FieldVariableDivergence

Definition at line 63 of file MooseVariableFV.h.

◆ FieldVariableGradient

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariableGradient = typename MooseVariableField<OutputType>::FieldVariableGradient

Definition at line 60 of file MooseVariableFV.h.

◆ FieldVariablePhiCurl

template<typename OutputType>
typedef MooseArray<std::vector<OutputShape> > MooseVariableField< OutputType >::FieldVariablePhiCurl
inherited

Definition at line 69 of file MooseVariableField.h.

◆ FieldVariablePhiDivergence

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariablePhiDivergence = typename MooseVariableField<OutputType>::FieldVariablePhiDivergence

Definition at line 75 of file MooseVariableFV.h.

◆ FieldVariablePhiGradient

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariablePhiGradient = typename MooseVariableField<OutputType>::FieldVariablePhiGradient

Definition at line 77 of file MooseVariableFV.h.

◆ FieldVariablePhiSecond

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariablePhiSecond = typename MooseVariableField<OutputType>::FieldVariablePhiSecond

Definition at line 78 of file MooseVariableFV.h.

◆ FieldVariablePhiValue

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariablePhiValue = typename MooseVariableField<OutputType>::FieldVariablePhiValue

Definition at line 73 of file MooseVariableFV.h.

◆ FieldVariableSecond

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariableSecond = typename MooseVariableField<OutputType>::FieldVariableSecond

Definition at line 61 of file MooseVariableFV.h.

◆ FieldVariableTestCurl

template<typename OutputType>
typedef MooseArray<std::vector<OutputShape> > MooseVariableField< OutputType >::FieldVariableTestCurl
inherited

Definition at line 77 of file MooseVariableField.h.

◆ FieldVariableTestDivergence

template<typename OutputType>
typedef MooseArray<std::vector<OutputShapeDivergence> > MooseVariableField< OutputType >::FieldVariableTestDivergence
inherited

Definition at line 78 of file MooseVariableField.h.

◆ FieldVariableTestGradient

template<typename OutputType>
typedef MooseArray<std::vector<OutputShapeGradient> > MooseVariableField< OutputType >::FieldVariableTestGradient
inherited

Definition at line 75 of file MooseVariableField.h.

◆ FieldVariableTestSecond

template<typename OutputType>
typedef MooseArray<std::vector<OutputShapeSecond> > MooseVariableField< OutputType >::FieldVariableTestSecond
inherited

Definition at line 76 of file MooseVariableField.h.

◆ FieldVariableTestValue

template<typename OutputType>
typedef MooseArray<std::vector<OutputShape> > MooseVariableField< OutputType >::FieldVariableTestValue
inherited

Definition at line 74 of file MooseVariableField.h.

◆ FieldVariableValue

template<typename OutputType>
using MooseVariableFV< OutputType >::FieldVariableValue = typename MooseVariableField<OutputType>::FieldVariableValue

Definition at line 59 of file MooseVariableFV.h.

◆ FunctorType

using Moose::FunctorBase< Moose::ADType< OutputType >::type >::FunctorType = FunctorBase<Moose::ADType< OutputType >::type >
inherited

Definition at line 140 of file MooseFunctor.h.

◆ GradientType

using Moose::FunctorBase< Moose::ADType< OutputType >::type >::GradientType = typename FunctorReturnType<Moose::ADType< OutputType >::type , FunctorEvaluationKind::Gradient>::type
inherited

This rigmarole makes it so that a user can create functors that return containers (std::vector, std::array).

This logic will make it such that if a user requests a functor type T that is a container of algebraic types, for example Reals, then the GradientType will be a container of the gradients of those algebraic types, in this example VectorValue<Reals>. So if T is std::vector<Real>, then GradientType will be std::vector<VectorValue<Real>>. As another example: T = std::array<VectorValue<Real>, 1> -> GradientType = std::array<TensorValue<Real>, 1>

Definition at line 149 of file MooseFunctor.h.

◆ NodeArg

template<typename OutputType>
using MooseVariableFV< OutputType >::NodeArg = Moose::NodeArg

Definition at line 84 of file MooseVariableFV.h.

◆ OutputData

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputData = typename MooseVariableField<OutputType>::OutputData

Definition at line 70 of file MooseVariableFV.h.

◆ OutputDivergence

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputDivergence = typename MooseVariableField<OutputType>::OutputDivergence

Definition at line 57 of file MooseVariableFV.h.

◆ OutputGradient

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputGradient = typename MooseVariableField<OutputType>::OutputGradient

Definition at line 55 of file MooseVariableFV.h.

◆ OutputSecond

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputSecond = typename MooseVariableField<OutputType>::OutputSecond

Definition at line 56 of file MooseVariableFV.h.

◆ OutputShape

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputShape = typename MooseVariableField<OutputType>::OutputShape

Definition at line 65 of file MooseVariableFV.h.

◆ OutputShapeDivergence

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputShapeDivergence = typename MooseVariableField<OutputType>::OutputShapeDivergence

Definition at line 68 of file MooseVariableFV.h.

◆ OutputShapeGradient

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputShapeGradient = typename MooseVariableField<OutputType>::OutputShapeGradient

Definition at line 66 of file MooseVariableFV.h.

◆ OutputShapeSecond

template<typename OutputType>
using MooseVariableFV< OutputType >::OutputShapeSecond = typename MooseVariableField<OutputType>::OutputShapeSecond

Definition at line 67 of file MooseVariableFV.h.

◆ StateArg

template<typename OutputType>
using MooseVariableFV< OutputType >::StateArg = Moose::StateArg

Definition at line 83 of file MooseVariableFV.h.

◆ ValueType

using Moose::FunctorBase< Moose::ADType< OutputType >::type >::ValueType = Moose::ADType< OutputType >::type
inherited

Definition at line 141 of file MooseFunctor.h.

Constructor & Destructor Documentation

◆ MooseVariableFV()

template<typename OutputType >
MooseVariableFV< OutputType >::MooseVariableFV ( const InputParameters parameters)

Definition at line 72 of file MooseVariableFV.C.

75  _phi(this->_assembly.template fePhi<OutputShape>(FEType(CONSTANT, MONOMIAL))),
76  _grad_phi(this->_assembly.template feGradPhi<OutputShape>(FEType(CONSTANT, MONOMIAL))),
77  _phi_face(this->_assembly.template fePhiFace<OutputShape>(FEType(CONSTANT, MONOMIAL))),
78  _grad_phi_face(this->_assembly.template feGradPhiFace<OutputShape>(FEType(CONSTANT, MONOMIAL))),
80  this->_assembly.template fePhiFaceNeighbor<OutputShape>(FEType(CONSTANT, MONOMIAL))),
82  this->_assembly.template feGradPhiFaceNeighbor<OutputShape>(FEType(CONSTANT, MONOMIAL))),
83  _phi_neighbor(this->_assembly.template fePhiNeighbor<OutputShape>(FEType(CONSTANT, MONOMIAL))),
85  this->_assembly.template feGradPhiNeighbor<OutputShape>(FEType(CONSTANT, MONOMIAL))),
86  _prev_elem(nullptr),
87  _two_term_boundary_expansion(this->isParamValid("two_term_boundary_expansion")
88  ? this->template getParam<bool>("two_term_boundary_expansion")
89  : true),
90  _cache_cell_gradients(this->isParamValid("cache_cell_gradients")
91  ? this->template getParam<bool>("cache_cell_gradients")
92  : true)
93 {
94  _element_data = std::make_unique<MooseVariableDataFV<OutputType>>(
96  _neighbor_data = std::make_unique<MooseVariableDataFV<OutputType>>(
98 
99  if (this->isParamValid("face_interp_method"))
100  {
101  const auto & interp_method = this->template getParam<MooseEnum>("face_interp_method");
102  if (interp_method == "average")
104  else if (interp_method == "skewness-corrected")
106  }
107  else
109 }
bool _two_term_boundary_expansion
Whether to use a two term expansion for computing boundary face values.
const Elem *const & elem() const
Return the current element.
Definition: Assembly.h:375
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.
gc*elem+(1-gc)*neighbor
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
const bool _cache_cell_gradients
Whether to cache cell gradients.
Class for stuff related to variables.
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
const FieldVariablePhiValue & _phi_face_neighbor
const FieldVariablePhiGradient & _grad_phi_face_neighbor
THREAD_ID _tid
Thread ID.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
const libMesh::NumericVector< libMesh::Number > *const & _solution
The current (ghosted) solution.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.
SystemBase & _sys
System this variable is part of.
const FieldVariablePhiValue & _phi_neighbor
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf&#39;)
Assembly & _assembly
Assembly data.
const Elem *const & neighbor() const
Return the neighbor element.
Definition: Assembly.h:431
const FieldVariablePhiValue & _phi_face
const InputParameters & parameters() const
Get the parameters of the object.
const FieldVariablePhiGradient & _grad_phi_neighbor
const FieldVariablePhiValue & _phi
Shape functions.
const FieldVariablePhiGradient & _grad_phi_face
const Elem * _prev_elem
A member used to help determine when we can return cached data as opposed to computing new data...
const FieldVariablePhiGradient & _grad_phi

Member Function Documentation

◆ activeOnSubdomain()

bool MooseVariableFieldBase::activeOnSubdomain ( SubdomainID  subdomain) const
inherited

Is the variable active on the subdomain?

Parameters
subdomainThe subdomain id in question
Returns
true if active on subdomain, false otherwise

Definition at line 45 of file MooseVariableFieldBase.C.

Referenced by ComputeFullJacobianThread::computeOnBoundary(), ComputeFullJacobianThread::computeOnElement(), ComputeFullJacobianThread::computeOnInternalFace(), FlagElementsThread::onElement(), and ComputeDiracThread::onElement().

46 {
47  return this->_sys.system().variable(_var_num).active_on_subdomain(subdomain);
48 }
const Variable & variable(unsigned int var) const
virtual libMesh::System & system()=0
Get the reference to the libMesh system.
SystemBase & _sys
System this variable is part of.
bool active_on_subdomain(subdomain_id_type sid) const
unsigned int _var_num
variable number (from libMesh)

◆ activeOnSubdomains()

bool MooseVariableFieldBase::activeOnSubdomains ( const std::set< SubdomainID > &  subdomains) const
inherited

Is the variable active on the subdomains?

Parameters
subdomainsThe subdomain ids in question
Returns
true if active on all provided subdomains, false otherwise

Definition at line 51 of file MooseVariableFieldBase.C.

Referenced by BlockRestrictable::checkVariable(), and ComputeFullJacobianThread::computeOnInternalFace().

52 {
53  const auto & active_subs = activeSubdomains();
54  return std::includes(
55  active_subs.begin(), active_subs.end(), subdomains.begin(), subdomains.end());
56 }
const std::set< SubdomainID > & activeSubdomains() const
The subdomains the variable is active on.

◆ activeSubdomains()

const std::set< SubdomainID > & MooseVariableFieldBase::activeSubdomains ( ) const
inherited

The subdomains the variable is active on.

Definition at line 39 of file MooseVariableFieldBase.C.

Referenced by SetupResidualDebugAction::act(), MooseVariableFieldBase::activeOnSubdomains(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), BlockRestrictable::checkVariable(), DGLowerDKernel::DGLowerDKernel(), HFEMDirichletBC::HFEMDirichletBC(), and LowerDIntegratedBC::LowerDIntegratedBC().

40 {
41  return this->_sys.system().variable(_var_num).active_subdomains();
42 }
const Variable & variable(unsigned int var) const
virtual libMesh::System & system()=0
Get the reference to the libMesh system.
const std::set< subdomain_id_type > & active_subdomains() const
SystemBase & _sys
System this variable is part of.
unsigned int _var_num
variable number (from libMesh)

◆ adCurlSln()

template<typename OutputType>
const ADTemplateVariableCurl<OutputType>& MooseVariableFV< OutputType >::adCurlSln ( ) const
inlineoverridevirtual

AD curl solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 340 of file MooseVariableFV.h.

341  {
342  mooseError("We don't currently implement curl for FV");
343  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ adCurlSlnNeighbor()

template<typename OutputType>
const ADTemplateVariableCurl<OutputType>& MooseVariableFV< OutputType >::adCurlSlnNeighbor ( ) const
inlineoverridevirtual

AD curl neighbor solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 370 of file MooseVariableFV.h.

371  {
372  mooseError("We don't currently implement curl for FV");
373  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ add()

template<typename OutputType>
void MooseVariableFV< OutputType >::add ( libMesh::NumericVector< libMesh::Number > &  vector)
overridevirtual

Add the currently cached degree of freedom values into the provided vector.

Implements MooseVariableFieldBase.

Definition at line 155 of file MooseVariableFV.C.

156 {
157  _element_data->add(residual);
158 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adDofValues()

template<typename OutputType >
const MooseArray< ADReal > & MooseVariableFV< OutputType >::adDofValues ( ) const
inlineoverridevirtual

Return the AD dof values.

Implements MooseVariableField< OutputType >.

Definition at line 748 of file MooseVariableFV.h.

749 {
750  return _element_data->adDofValues();
751 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adDofValuesDot()

template<typename OutputType >
const MooseArray< ADReal > & MooseVariableFV< OutputType >::adDofValuesDot ( ) const
inlineoverridevirtual

Return the AD time derivatives at dofs.

Implements MooseVariableField< OutputType >.

Definition at line 762 of file MooseVariableFV.h.

763 {
764  return _element_data->adDofValuesDot();
765 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adDofValuesNeighbor()

template<typename OutputType >
const MooseArray< ADReal > & MooseVariableFV< OutputType >::adDofValuesNeighbor ( ) const
inlineoverridevirtual

Return the AD neighbor dof values.

Implements MooseVariableField< OutputType >.

Definition at line 755 of file MooseVariableFV.h.

756 {
757  return _neighbor_data->adDofValues();
758 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adGradSln() [1/3]

template<typename OutputType>
const ADTemplateVariableGradient<OutputType>& MooseVariableFV< OutputType >::adGradSln ( ) const
inlineoverridevirtual

AD grad solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 266 of file MooseVariableFV.h.

Referenced by LayeredSideDiffusiveFluxAverage::computeQpIntegral(), FVOneVarDiffusionInterface::computeQpResidual(), FVAnisotropicDiffusion::computeQpResidual(), and Moose::FV::gradUDotNormal().

267  {
268  return _element_data->adGradSln();
269  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adGradSln() [2/3]

template<typename OutputType >
const VectorValue< ADReal > & MooseVariableFV< OutputType >::adGradSln ( const Elem *const  elem,
const StateArg state,
const bool  correct_skewness = false 
) const
virtual

Retrieve (or potentially compute) the gradient on the provided element.

Overriders of this method cannot call getBoundaryFaceValue because that method itself may lead to a call to adGradSln(const Elem * const) resulting in infinite recursion

Parameters
elemThe element for which to retrieve the gradient
stateState argument which describes at what time / solution iteration state we want to evaluate the variable
correct_skewnessWhether to perform skew corrections
Returns
The gradient at the element centroid

Definition at line 584 of file MooseVariableFV.C.

587 {
588  // We ensure that no caching takes place when we compute skewness-corrected
589  // quantities.
590  if (_cache_cell_gradients && !correct_skewness && state.state == 0)
591  {
592  auto it = _elem_to_grad.find(elem);
593 
594  if (it != _elem_to_grad.end())
595  return it->second;
596  }
597 
598  auto grad = FV::greenGaussGradient(
599  ElemArg({elem, correct_skewness}), state, *this, _two_term_boundary_expansion, this->_mesh);
600 
601  if (_cache_cell_gradients && !correct_skewness && state.state == 0)
602  {
603  auto pr = _elem_to_grad.emplace(elem, std::move(grad));
604  mooseAssert(pr.second, "Insertion should have just happened.");
605  return pr.first->second;
606  }
607  else
608  {
609  _temp_cell_gradient = std::move(grad);
610  return _temp_cell_gradient;
611  }
612 }
bool _two_term_boundary_expansion
Whether to use a two term expansion for computing boundary face values.
const bool _cache_cell_gradients
Whether to cache cell gradients.
libMesh::VectorValue< T > greenGaussGradient(const ElemArg &elem_arg, const StateArg &state_arg, const FunctorBase< T > &functor, const bool two_term_boundary_expansion, const MooseMesh &mesh, const bool force_green_gauss=false)
Compute a cell gradient using the method of Green-Gauss.
Moose::ElemArg ElemArg
VectorValue< ADReal > _temp_cell_gradient
A member to hold the cell gradient when not caching, used to return a reference (due to expensive ADR...
MooseMesh & _mesh
mesh the variable is active in
unsigned int state
The state.
std::unordered_map< const Elem *, VectorValue< ADReal > > _elem_to_grad
A cache for storing gradients on elements.

◆ adGradSln() [3/3]

template<typename OutputType >
VectorValue< ADReal > MooseVariableFV< OutputType >::adGradSln ( const FaceInfo fi,
const StateArg state,
const bool  correct_skewness = false 
) const
virtual

Retrieve (or potentially compute) a cross-diffusion-corrected gradient on the provided face.

"Correcting" the face gradient involves weighting the gradient stencil more heavily on the solution values on the face-neighbor cells than a linear interpolation between cell center gradients does

Parameters
faceThe face for which to retrieve the gradient.
stateState argument which describes at what time / solution iteration state we want to evaluate the variable
correct_skewnessWhether to perform skew corrections

Definition at line 642 of file MooseVariableFV.C.

645 {
646  const bool var_defined_on_elem = this->hasBlocks(fi.elem().subdomain_id());
647  const Elem * const elem = &fi.elem();
648  const Elem * const neighbor = fi.neighborPtr();
649 
650  const bool is_internal_face = this->isInternalFace(fi);
651 
652  const ADReal side_one_value = (!is_internal_face && !var_defined_on_elem)
653  ? getBoundaryFaceValue(fi, state, correct_skewness)
654  : getElemValue(elem, state);
655  const ADReal side_two_value = (var_defined_on_elem && !is_internal_face)
656  ? getBoundaryFaceValue(fi, state, correct_skewness)
657  : getElemValue(neighbor, state);
658 
659  const auto delta =
660  this->isInternalFace(fi)
661  ? fi.dCNMag()
662  : (fi.faceCentroid() - (var_defined_on_elem ? fi.elemCentroid() : fi.neighborCentroid()))
663  .norm();
664 
665  // This is the component of the gradient which is parallel to the line connecting
666  // the cell centers. Therefore, we can use our second order, central difference
667  // scheme to approximate it.
668  auto face_grad = ((side_two_value - side_one_value) / delta) * fi.eCN();
669 
670  // We only need non-orthogonal correctors in 2+ dimensions
671  if (this->_mesh.dimension() > 1)
672  {
673  // We are using an orthogonal approach for the non-orthogonal correction, for more information
674  // see Hrvoje Jasak's PhD Thesis (Imperial College, 1996)
675  const auto & interpolated_gradient = uncorrectedAdGradSln(fi, state, correct_skewness);
676  face_grad += interpolated_gradient - (interpolated_gradient * fi.eCN()) * fi.eCN();
677  }
678 
679  return face_grad;
680 }
const Elem & elem() const
Definition: FaceInfo.h:81
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
Definition: FaceInfo.h:71
const Point & neighborCentroid() const
Definition: FaceInfo.h:243
ADReal getElemValue(const Elem *elem, const StateArg &state) const
Get the solution value for the provided element and seed the derivative for the corresponding dof ind...
bool isInternalFace(const FaceInfo &) const
Returns true if the face is an internal face.
Definition: MooseFunctor.h:569
const Elem * neighborPtr() const
Definition: FaceInfo.h:84
const Point & elemCentroid() const
Returns the element centroids of the elements on the elem and neighbor sides of the face...
Definition: FaceInfo.h:95
virtual VectorValue< ADReal > uncorrectedAdGradSln(const FaceInfo &fi, const StateArg &state, const bool correct_skewness=false) const
Retrieve (or potentially compute) the uncorrected gradient on the provided face.
virtual unsigned int dimension() const
Returns MeshBase::mesh_dimension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh me...
Definition: MooseMesh.C:2923
Real dCNMag() const
Definition: FaceInfo.h:144
MooseMesh & _mesh
mesh the variable is active in
const Point & eCN() const
Definition: FaceInfo.h:151
bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
ADReal getBoundaryFaceValue(const FaceInfo &fi, const StateArg &state, bool correct_skewness=false) const
Retrieve the solution value at a boundary face.

◆ adGradSlnDot()

template<typename OutputType>
const ADTemplateVariableGradient<OutputType>& MooseVariableFV< OutputType >::adGradSlnDot ( ) const
inlineoverridevirtual

AD grad of time derivative solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 336 of file MooseVariableFV.h.

337  {
338  return _element_data->adGradSlnDot();
339  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adGradSlnNeighbor()

template<typename OutputType>
const ADTemplateVariableGradient<OutputType>& MooseVariableFV< OutputType >::adGradSlnNeighbor ( ) const
inlineoverridevirtual

AD grad neighbor solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 350 of file MooseVariableFV.h.

351  {
352  return _neighbor_data->adGradSln();
353  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adGradSlnNeighborDot()

template<typename OutputType>
const ADTemplateVariableGradient<OutputType>& MooseVariableFV< OutputType >::adGradSlnNeighborDot ( ) const
inlineoverridevirtual

AD grad of time derivative neighbor solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 366 of file MooseVariableFV.h.

367  {
368  return _neighbor_data->adGradSlnDot();
369  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adSecondSln()

template<typename OutputType>
const ADTemplateVariableSecond<OutputType>& MooseVariableFV< OutputType >::adSecondSln ( ) const
inlineoverridevirtual

AD second solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 324 of file MooseVariableFV.h.

325  {
326  return _element_data->adSecondSln();
327  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adSecondSlnNeighbor()

template<typename OutputType>
const ADTemplateVariableSecond<OutputType>& MooseVariableFV< OutputType >::adSecondSlnNeighbor ( ) const
inlineoverridevirtual

AD second neighbor solution getter.

Implements MooseVariableField< OutputType >.

Definition at line 354 of file MooseVariableFV.h.

355  {
356  return _neighbor_data->adSecondSln();
357  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adSln()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adSln ( ) const
inlineoverridevirtual

AD.

Implements MooseVariableField< OutputType >.

Definition at line 262 of file MooseVariableFV.h.

263  {
264  return _element_data->adSln();
265  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adSlnNeighbor()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adSlnNeighbor ( ) const
inlineoverridevirtual

neighbor AD

Implements MooseVariableField< OutputType >.

Definition at line 346 of file MooseVariableFV.h.

347  {
348  return _neighbor_data->adSln();
349  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adUDot()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adUDot ( ) const
inlineoverridevirtual

AD time derivative getter.

Implements MooseVariableField< OutputType >.

Definition at line 328 of file MooseVariableFV.h.

329  {
330  return _element_data->adUDot();
331  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adUDotDot()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adUDotDot ( ) const
inlineoverridevirtual

AD second time derivative getter.

Implements MooseVariableField< OutputType >.

Definition at line 332 of file MooseVariableFV.h.

333  {
334  return _element_data->adUDotDot();
335  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ adUDotDotNeighbor()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adUDotDotNeighbor ( ) const
inlineoverridevirtual

AD neighbor second time derivative getter.

Implements MooseVariableField< OutputType >.

Definition at line 362 of file MooseVariableFV.h.

363  {
364  return _neighbor_data->adUDotDot();
365  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ adUDotNeighbor()

template<typename OutputType>
const ADTemplateVariableValue<OutputType>& MooseVariableFV< OutputType >::adUDotNeighbor ( ) const
inlineoverridevirtual

AD neighbor time derivative getter.

Implements MooseVariableField< OutputType >.

Definition at line 358 of file MooseVariableFV.h.

359  {
360  return _neighbor_data->adUDot();
361  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ allDofIndices()

const std::vector< dof_id_type > & MooseVariableBase::allDofIndices ( ) const
inherited

Get all global dofindices for the variable.

Definition at line 201 of file MooseVariableBase.C.

Referenced by FEProblemBase::addJacobianBlockTags(), Assembly::addJacobianNonlocal(), Assembly::cacheJacobianNonlocal(), NonlocalKernel::computeNonlocalJacobian(), NonlocalIntegratedBC::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalOffDiagJacobian(), NonlocalIntegratedBC::computeNonlocalOffDiagJacobian(), Assembly::prepareNonlocal(), Assembly::prepareVariableNonlocal(), and MooseVariableBase::totalVarDofs().

202 {
203  const auto it = _sys.subproblem()._var_dof_map.find(name());
204  if (it != _sys.subproblem()._var_dof_map.end())
205  return it->second;
206  else
207  mooseError("VariableAllDoFMap not prepared for ",
208  name(),
209  " . Check nonlocal coupling requirement for the variable.");
210 }
const std::string & name() const override
Get the variable name.
std::map< std::string, std::vector< dof_id_type > > _var_dof_map
Definition: SubProblem.h:674
SystemBase & _sys
System this variable is part of.
SubProblem & subproblem()
Definition: SystemBase.h:101
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ arrayScalingFactor()

const std::vector<Real>& MooseVariableBase::arrayScalingFactor ( ) const
inlineinherited

Definition at line 99 of file MooseVariableBase.h.

Referenced by Assembly::addJacobianBlock(), Assembly::addJacobianBlockNonlocal(), and Assembly::cacheJacobianBlockNonzero().

99 { return _scaling_factor; }
std::vector< Real > _scaling_factor
scaling factor for this variable

◆ arrayVariableComponent()

const std::string & MooseVariableBase::arrayVariableComponent ( const unsigned int  i) const
inherited

Returns the variable name of a component of an array variable.

Definition at line 192 of file MooseVariableBase.C.

Referenced by MooseVariableFieldBase::componentName(), AdvancedOutput::initAvailableLists(), and AdvancedOutput::initShowHideLists().

193 {
194  mooseAssert(
195  i < _array_var_component_names.size(),
196  "Requested array variable component number is greater than the number of component names.");
197  return _array_var_component_names[i];
198 }
std::vector< std::string > _array_var_component_names
Array variable names when the variable is an array variable.

◆ blockIDs()

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

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

Returns
a set of SubdomainIDs that are valid for this object

Definition at line 194 of file BlockRestrictable.C.

Referenced by FunctorMaterial::addFunctorProperty(), DiracKernelBase::addPoint(), DiracKernelBase::addPointWithValidId(), NodalPatchRecoveryAuxBase::blockRestrictElements(), ComboMarker::ComboMarker(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), BlockRestrictable::getBlockCoordSystem(), MaterialBase::getGenericZeroMaterialPropertyByName(), FunctorIC::gradient(), BlockRestrictable::hasBlockMaterialPropertyHelper(), IndicatorMarker::IndicatorMarker(), SubdomainsDivision::initialize(), ElementCentroidPositions::initialize(), QuadraturePointsPositions::initialize(), FunctorExtremaPositions::initialize(), MooseVariableBase::MooseVariableBase(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), ProjectionAux::ProjectionAux(), MaterialBase::registerPropName(), FVPointValueConstraint::setMyElem(), and FunctorIC::value().

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

◆ blockRestricted()

bool BlockRestrictable::blockRestricted ( ) const
virtualinherited

◆ blocks()

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

Return the block names for this object.

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

Returns
vector of SubdomainNames that are valid for this object

Definition at line 188 of file BlockRestrictable.C.

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

189 {
190  return _blocks;
191 }
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.

◆ blocksMaxDimension()

unsigned int BlockRestrictable::blocksMaxDimension ( ) const
inherited

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

Definition at line 371 of file BlockRestrictable.C.

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

◆ buildOutputHideVariableList()

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

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

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

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

Definition at line 61 of file OutputInterface.C.

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

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

◆ callMooseError()

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

Calls moose error with the message msg.

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

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

Definition at line 33 of file MooseBase.C.

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

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

◆ checkFace()

void Moose::FunctorBase< Moose::ADType< OutputType >::type >::checkFace ( const Moose::FaceArg face) const
inherited

Examines the incoming face argument.

If the face argument producer (residual object, postprocessor, etc.) did not indicate a sidedness to the face, e.g. if the face_side member of the FaceArg is nullptr, then we may "modify" the sidedness of the argument if we are only defined on one side of the face. If the face argument producer has indicated a sidedness and we are not defined on that side, then we will error

Parameters
faceThe face argument created by the face argument producer, likely a residual object
Returns
A face with possibly changed sidedness depending on whether we aren't defined on both sides of the face

Definition at line 732 of file MooseFunctor.h.

737 {
738 #if DEBUG
739  const Elem * const elem = face.face_side;
740  const FaceInfo * const fi = face.fi;
741  mooseAssert(fi, "face info should be non-null");
742  bool check_elem_def = false;
743  bool check_neighbor_def = false;
744  // We check if the functor is defined on both sides of the face
745  if (!elem)
746  {
747  if (!hasFaceSide(*fi, true))
748  check_neighbor_def = true;
749  else if (!hasFaceSide(*fi, false))
750  check_elem_def = true;
751  }
752  else if (elem == fi->elemPtr())
753  check_elem_def = true;
754  else
755  {
756  mooseAssert(elem == fi->neighborPtr(), "This has to match something");
757  check_neighbor_def = true;
758  }
759 
760  if (check_elem_def && !hasFaceSide(*fi, true))
761  {
762  std::string additional_message = "It is not defined on the neighbor side either.";
763  if (hasFaceSide(*fi, false))
764  additional_message = "It is however defined on the neighbor side.";
765  additional_message += " Face centroid: " + Moose::stringify(fi->faceCentroid());
767  " is not defined on the element side of the face information, but a face argument "
768  "producer "
769  "(e.g. residual object, postprocessor, etc.) has requested evaluation there.\n",
770  additional_message);
771  }
772  if (check_neighbor_def && !hasFaceSide(*fi, false))
773  {
774  std::string additional_message = "It is not defined on the element side either.";
775  if (hasFaceSide(*fi, true))
776  additional_message = "It is however defined on the element side.";
777  additional_message += " Face centroid: " + Moose::stringify(fi->faceCentroid());
778  mooseError(
780  " is not defined on the neighbor side of the face information, but a face argument "
781  "producer (e.g. residual object, postprocessor, etc.) has requested evaluation there.\n",
782  additional_message);
783  }
784 #endif
785 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const libMesh::Elem * face_side
A member that can be used to indicate whether there is a sidedness to this face.
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
Definition: FaceInfo.h:71
This data structure is used to store geometric and variable related metadata about each cell face in ...
Definition: FaceInfo.h:36
const Elem * neighborPtr() const
Definition: FaceInfo.h:84
MooseFunctorName _functor_name
name of the functor
Definition: MooseFunctor.h:564
const FaceInfo * fi
a face information object which defines our location in space
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
const Elem * elemPtr() const
Definition: FaceInfo.h:82
virtual bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
Definition: MooseFunctor.h:976

◆ checkVariable()

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

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

Parameters
variableThe variable to check against.

Reimplemented in DomainUserObject.

Definition at line 343 of file BlockRestrictable.C.

Referenced by DomainUserObject::checkVariable().

344 {
345  // a variable defined on all internal sides does not need this check because
346  // it can be coupled with other variables in DG kernels
347  if (!_blk_mesh->interiorLowerDBlocks().empty() &&
349  return;
350 
351  if (!isBlockSubset(variable.activeSubdomains()))
352  {
353  std::string var_ids = Moose::stringify(variable.activeSubdomains(), ", ");
354  std::string obj_ids = Moose::stringify(blockRestricted() ? _blk_ids : meshBlockIDs(), ", ");
355  mooseError("The 'block' parameter of the object '",
356  _blk_name,
357  "' must be a subset of the 'block' parameter of the variable '",
358  variable.name(),
359  "':\n Object '",
360  _blk_name,
361  "': ",
362  obj_ids,
363  "\n Variable '",
364  variable.name(),
365  "': ",
366  var_ids);
367  }
368 }
const std::set< SubdomainID > & interiorLowerDBlocks() const
Definition: MooseMesh.h:1403
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const std::string & name() const override
Get the variable name.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
bool activeOnSubdomains(const std::set< SubdomainID > &subdomains) const
Is the variable active on the subdomains?
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
const MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & activeSubdomains() const
The subdomains the variable is active on.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::string & _blk_name
Name of the object.

◆ clearAllDofIndices()

template<typename OutputType >
void MooseVariableFV< OutputType >::clearAllDofIndices ( )
finalvirtual

Reimplemented from MooseVariableBase.

Definition at line 720 of file MooseVariableFV.C.

721 {
722  _element_data->clearDofIndices();
723  _neighbor_data->clearDofIndices();
724 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ clearCaches()

template<typename OutputType >
void MooseVariableFV< OutputType >::clearCaches ( )
protected

clear finite volume caches

Definition at line 703 of file MooseVariableFV.C.

704 {
705  _elem_to_grad.clear();
706 }
std::unordered_map< const Elem *, VectorValue< ADReal > > _elem_to_grad
A cache for storing gradients on elements.

◆ clearDofIndices()

template<typename OutputType >
void MooseVariableFV< OutputType >::clearDofIndices ( )
overridevirtual

Clear out the dof indices.

We do this in case this variable is not going to be prepared at all...

Implements MooseVariableFieldBase.

Definition at line 113 of file MooseVariableFV.C.

114 {
115  _element_data->clearDofIndices();
116 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ componentDofIndices()

std::vector< dof_id_type > MooseVariableBase::componentDofIndices ( const std::vector< dof_id_type > &  dof_indices,
unsigned int  component 
) const
inherited

Obtain DoF indices of a component with the indices of the 0th component.

Definition at line 219 of file MooseVariableBase.C.

Referenced by Assembly::addJacobianBlock(), and Assembly::cacheJacobianBlockNonzero().

221 {
222  std::vector<dof_id_type> new_dof_indices(dof_indices);
223  if (component != 0)
224  {
225  if (isNodal())
226  for (auto & id : new_dof_indices)
227  id += component;
228  else
229  {
230  unsigned int n = dof_indices.size();
231  for (auto & id : new_dof_indices)
232  id += component * n;
233  }
234  }
235  return new_dof_indices;
236 }
virtual bool isNodal() const
Is this variable nodal.

◆ componentName()

const std::string & MooseVariableFieldBase::componentName ( const unsigned int  comp) const
inherited

Get the variable name of a component in libMesh.

Definition at line 27 of file MooseVariableFieldBase.C.

28 {
29  if (comp >= _count)
30  mooseError("Component index must be less than the number of components of variable ",
31  _var_name);
32  if (isArray())
33  return this->arrayVariableComponent(comp);
34  else
35  return _var_name;
36 }
std::string _var_name
Variable name.
virtual bool isArray() const
const unsigned int _count
Number of variables in the array.
const std::string & arrayVariableComponent(const unsigned int i) const
Returns the variable name of a component of an array variable.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ computeElemValues()

template<typename OutputType >
void MooseVariableFV< OutputType >::computeElemValues ( )
overridevirtual

Initializes/computes variable values from the solution vectors for the current element being operated on in assembly.

This must be called every time the current element (as defined by the assembly data structure changes in order for objects that bind to sln, adSln, uDot, etc. to be updated/correct.

Implements MooseVariableFieldBase.

Definition at line 309 of file MooseVariableFV.C.

310 {
311  _element_data->setGeometry(Moose::Volume);
312  _element_data->computeValues();
313 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ computeElemValuesFace()

template<typename OutputType >
void MooseVariableFV< OutputType >::computeElemValuesFace ( )
overridevirtual

Compute values at facial quadrature points.

Implements MooseVariableFieldBase.

Definition at line 317 of file MooseVariableFV.C.

318 {
319  _element_data->setGeometry(Moose::Face);
320  _element_data->computeValues();
321 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ computeFaceValues()

template<typename OutputType >
void MooseVariableFV< OutputType >::computeFaceValues ( const FaceInfo fi)
overridevirtual

Initializes/computes variable values from the solution vectors for the face represented by fi.

This includes initializing data for elements on both sides of the face (elem and neighbor) and handles the case where there is no element on one side of the face gracefully - i.e. you call this uniformly for every face regardless of whether you are on a boundary or not - or whether the variable is only defined on one side of the face or not.

Reimplemented from MooseVariableFieldBase.

Definition at line 341 of file MooseVariableFV.C.

342 {
343  _element_data->setGeometry(Moose::Face);
344  _neighbor_data->setGeometry(Moose::Face);
345 
346  const auto facetype = fi.faceType(std::make_pair(this->number(), this->sys().number()));
347  if (facetype == FaceInfo::VarFaceNeighbors::NEITHER)
348  return;
349  else if (facetype == FaceInfo::VarFaceNeighbors::BOTH)
350  {
351  _element_data->computeValuesFace(fi);
352  _neighbor_data->computeValuesFace(fi);
353  }
354  else if (facetype == FaceInfo::VarFaceNeighbors::ELEM)
355  _element_data->computeValuesFace(fi);
356  else if (facetype == FaceInfo::VarFaceNeighbors::NEIGHBOR)
357  _neighbor_data->computeValuesFace(fi);
358  else
359  mooseError("robert wrote broken MooseVariableFV code");
360 }
unsigned int number() const
Get variable number coming from libMesh.
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
SystemBase & sys()
Get the system this variable is part of.
VarFaceNeighbors faceType(const std::pair< unsigned int, unsigned int > &var_sys) const
Returns which side(s) the given variable-system number pair is defined on for this face...
Definition: FaceInfo.h:225

◆ computeLowerDValues()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::computeLowerDValues ( )
inlinefinaloverridevirtual

compute values at quadrature points on the lower dimensional element

Implements MooseVariableFieldBase.

Definition at line 135 of file MooseVariableFV.h.

136  {
137  // mooseError("computeLowerDValues not supported by MooseVariableFVBase");
138  }

◆ computeNeighborValues()

template<typename OutputType >
void MooseVariableFV< OutputType >::computeNeighborValues ( )
overridevirtual

Compute values at quadrature points for the neighbor.

Implements MooseVariableFieldBase.

Definition at line 333 of file MooseVariableFV.C.

334 {
335  _neighbor_data->setGeometry(Moose::Volume);
336  _neighbor_data->computeValues();
337 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ computeNeighborValuesFace()

template<typename OutputType >
void MooseVariableFV< OutputType >::computeNeighborValuesFace ( )
overridevirtual

Compute values at facial quadrature points for the neighbor.

Implements MooseVariableFieldBase.

Definition at line 325 of file MooseVariableFV.C.

326 {
327  _neighbor_data->setGeometry(Moose::Face);
328  _neighbor_data->computeValues();
329 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ computeNodalNeighborValues()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::computeNodalNeighborValues ( )
inlinefinaloverridevirtual

Compute nodal values of this variable in the neighbor.

Implements MooseVariableFieldBase.

Definition at line 139 of file MooseVariableFV.h.

140  {
141  // mooseError("computeNodalNeighborValues not supported by MooseVariableFVBase");
142  }

◆ computeNodalValues()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::computeNodalValues ( )
inlinefinaloverridevirtual

Compute nodal values of this variable.

Implements MooseVariableFieldBase.

Definition at line 143 of file MooseVariableFV.h.

144  {
145  // mooseError("computeNodalValues not supported by MooseVariableFVBase");
146  }

◆ computingCurl()

template<typename OutputType>
bool MooseVariableFV< OutputType >::computingCurl ( ) const
inlinefinaloverridevirtual

Whether or not this variable is computing any curl quantities.

Implements MooseVariableField< OutputType >.

Definition at line 594 of file MooseVariableFV.h.

594 { return false; }

◆ computingDiv()

template<typename OutputType>
bool MooseVariableFV< OutputType >::computingDiv ( ) const
inlinefinaloverridevirtual

Whether or not this variable is computing any divergence quantities.

Implements MooseVariableField< OutputType >.

Definition at line 595 of file MooseVariableFV.h.

595 { return false; }

◆ computingSecond()

template<typename OutputType>
bool MooseVariableFV< OutputType >::computingSecond ( ) const
inlinefinaloverridevirtual

Whether or not this variable is computing any second derivatives.

Implements MooseVariableField< OutputType >.

Definition at line 593 of file MooseVariableFV.h.

593 { return false; }

◆ connectControllableParams()

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

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

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

Definition at line 33 of file MooseBaseParameterInterface.C.

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

◆ count()

unsigned int MooseVariableBase::count ( ) const
inlineinherited

Get the number of components Note: For standard and vector variables, the number is one.

Definition at line 111 of file MooseVariableBase.h.

Referenced by Assembly::addJacobianBlock(), EigenProblem::adjustEigenVector(), ArrayBodyForce::ArrayBodyForce(), ArrayConstantIC::ArrayConstantIC(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayFunctionIC::ArrayFunctionIC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayVarReductionAux::ArrayVarReductionAux(), BuildArrayVariableAux::BuildArrayVariableAux(), Assembly::cacheJacobianBlockNonzero(), TagAuxBase< AuxKernel >::checkCoupledVariable(), BuildArrayVariableAux::compute(), ArrayNodalBC::computeJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), ArrayNodalBC::computeOffDiagJacobian(), ArrayTimeDerivative::computeQpJacobian(), ArrayReaction::computeQpJacobian(), ArrayDiffusion::computeQpJacobian(), ArrayCoupledTimeDerivative::computeQpJacobian(), EigenArrayDirichletBC::computeQpJacobian(), ArrayIntegratedBC::computeQpJacobian(), ArrayKernel::computeQpJacobian(), ArrayNodalBC::computeQpJacobian(), ArrayCoupledTimeDerivative::computeQpOffDiagJacobian(), EigenArrayDirichletBC::computeQpOffDiagJacobian(), ArrayIntegratedBC::computeQpOffDiagJacobian(), ArrayKernel::computeQpOffDiagJacobian(), ArrayNodalBC::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), Kernel::computeQpOffDiagJacobianArray(), ArrayIntegratedBC::computeQpOffDiagJacobianScalar(), ArrayKernel::computeQpOffDiagJacobianScalar(), ArrayTimeDerivative::computeQpResidual(), ArrayReaction::computeQpResidual(), ArrayCoupledTimeDerivative::computeQpResidual(), FunctionArrayAux::computeValue(), ArrayParsedAux::computeValue(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), FunctionArrayAux::FunctionArrayAux(), ArrayFunctionIC::gradient(), AdvancedOutput::initAvailableLists(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), ArrayDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), Assembly::prepareJacobianBlock(), Assembly::prepareLowerD(), Assembly::prepareNeighbor(), Assembly::prepareNonlocal(), Assembly::prepareVariable(), Assembly::prepareVariableNonlocal(), MultiAppDofCopyTransfer::transfer(), MultiAppDofCopyTransfer::transferDofObject(), and ArrayFunctionIC::value().

111 { return _count; }
const unsigned int _count
Number of variables in the array.

◆ curlPhi()

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::curlPhi ( ) const
inlinefinaloverridevirtual

Curl of the shape functions.

Implements MooseVariableField< OutputType >.

Definition at line 604 of file MooseVariableFV.h.

605  {
606  mooseError("We don't currently implement curl for FV");
607  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ currentElem()

template<typename OutputType>
virtual const Elem* const& MooseVariableFV< OutputType >::currentElem ( ) const
inlineoverridevirtual

Current element this variable is evaluated at.

Implements MooseVariableFieldBase.

Definition at line 175 of file MooseVariableFV.h.

175 { return _element_data->currentElem(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ customSetup() [1/2]

virtual void SetupInterface::customSetup ( const ExecFlagType )
inlinevirtualinherited

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

Reimplemented in Function.

Definition at line 61 of file SetupInterface.h.

61 {}

◆ customSetup() [2/2]

void Moose::FunctorBase< Moose::ADType< OutputType >::type >::customSetup ( const ExecFlagType exec_type)
overridevirtualinherited

Implements Moose::FunctorAbstract.

Definition at line 839 of file MooseFunctor.h.

840 {
841  if (_clearance_schedule.count(exec_type))
842  clearCacheData();
843 }
std::set< ExecFlagType > _clearance_schedule
How often to clear the material property cache.
Definition: MooseFunctor.h:514

◆ determineBoundaryToDirichletBCMap()

template<typename OutputType >
void MooseVariableFV< OutputType >::determineBoundaryToDirichletBCMap ( )
private

Setup the boundary to Dirichlet BC map.

Definition at line 859 of file MooseVariableFV.C.

860 {
861  mooseAssert(!Threads::in_threads,
862  "This routine has not been implemented for threads. Please query this routine before "
863  "a threaded region or contact a MOOSE developer to discuss.");
864 
866  std::vector<FVDirichletBCBase *> bcs;
867 
868  // I believe because query() returns by value but condition returns by reference that binding to a
869  // const lvalue reference results in the query() getting destructed and us holding onto a dangling
870  // reference. I think that condition returned by value we would be able to bind to a const lvalue
871  // reference here. But as it is we'll bind to a regular lvalue
872  const auto base_query = this->_subproblem.getMooseApp()
873  .theWarehouse()
874  .query()
875  .template condition<AttribSystem>("FVDirichletBC")
876  .template condition<AttribThread>(_tid)
877  .template condition<AttribVar>(_var_num)
878  .template condition<AttribSysNum>(this->_sys.number());
879 
880  for (const auto bnd_id : this->_mesh.getBoundaryIDs())
881  {
882  auto base_query_copy = base_query;
883  base_query_copy.template condition<AttribBoundaries>(std::set<BoundaryID>({bnd_id}))
884  .queryInto(bcs);
885  mooseAssert(bcs.size() <= 1, "cannot have multiple dirichlet BCs on the same boundary");
886  if (!bcs.empty())
887  _boundary_id_to_dirichlet_bc.emplace(bnd_id, bcs[0]);
888  }
889 
890  _dirichlet_map_setup = true;
891 }
std::vector< T * > & queryInto(std::vector< T *> &results, Args &&... args)
queryInto executes the query and stores the results in the given vector.
Definition: TheWarehouse.h:311
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:45
THREAD_ID _tid
Thread ID.
bool _dirichlet_map_setup
Whether the boundary to Dirichlet cache map has been setup yet.
SubProblem & _subproblem
Problem this variable is part of.
SystemBase & _sys
System this variable is part of.
unsigned int number() const
Gets the number of this system.
Definition: SystemBase.C:1159
MooseMesh & _mesh
mesh the variable is active in
unsigned int _var_num
variable number (from libMesh)
Query query()
query creates and returns an initialized a query object for querying objects from the warehouse...
Definition: TheWarehouse.h:466
TheWarehouse & theWarehouse()
Definition: MooseApp.h:130
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. ...
std::unordered_map< BoundaryID, const FVDirichletBCBase * > _boundary_id_to_dirichlet_bc
Map from boundary ID to Dirichlet boundary conditions.

◆ determineBoundaryToFluxBCMap()

template<typename OutputType >
void MooseVariableFV< OutputType >::determineBoundaryToFluxBCMap ( )
private

Setup the boundary to Flux BC map.

Definition at line 895 of file MooseVariableFV.C.

896 {
897  mooseAssert(!Threads::in_threads,
898  "This routine has not been implemented for threads. Please query this routine before "
899  "a threaded region or contact a MOOSE developer to discuss.");
900 
901  _boundary_id_to_flux_bc.clear();
902  std::vector<const FVFluxBC *> bcs;
903 
904  // I believe because query() returns by value but condition returns by reference that binding to a
905  // const lvalue reference results in the query() getting destructed and us holding onto a dangling
906  // reference. I think that condition returned by value we would be able to bind to a const lvalue
907  // reference here. But as it is we'll bind to a regular lvalue
908  const auto base_query = this->_subproblem.getMooseApp()
909  .theWarehouse()
910  .query()
911  .template condition<AttribSystem>("FVFluxBC")
912  .template condition<AttribThread>(_tid)
913  .template condition<AttribVar>(_var_num)
914  .template condition<AttribSysNum>(this->_sys.number());
915 
916  for (const auto bnd_id : this->_mesh.getBoundaryIDs())
917  {
918  auto base_query_copy = base_query;
919  base_query_copy.template condition<AttribBoundaries>(std::set<BoundaryID>({bnd_id}))
920  .queryInto(bcs);
921  if (!bcs.empty())
922  _boundary_id_to_flux_bc.emplace(bnd_id, bcs);
923  }
924 
925  _flux_map_setup = true;
926 }
std::vector< T * > & queryInto(std::vector< T *> &results, Args &&... args)
queryInto executes the query and stores the results in the given vector.
Definition: TheWarehouse.h:311
std::unordered_map< BoundaryID, std::vector< const FVFluxBC * > > _boundary_id_to_flux_bc
Map from boundary ID to flux boundary conditions.
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:45
THREAD_ID _tid
Thread ID.
SubProblem & _subproblem
Problem this variable is part of.
SystemBase & _sys
System this variable is part of.
unsigned int number() const
Gets the number of this system.
Definition: SystemBase.C:1159
MooseMesh & _mesh
mesh the variable is active in
bool _flux_map_setup
Whether the boundary to fluxBC cache map has been setup yet.
unsigned int _var_num
variable number (from libMesh)
Query query()
query creates and returns an initialized a query object for querying objects from the warehouse...
Definition: TheWarehouse.h:466
TheWarehouse & theWarehouse()
Definition: MooseApp.h:130
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. ...

◆ divPhi()

template<typename OutputType>
const FieldVariablePhiDivergence& MooseVariableFV< OutputType >::divPhi ( ) const
inlinefinaloverridevirtual

Divergence of the shape functions.

Implements MooseVariableField< OutputType >.

Definition at line 608 of file MooseVariableFV.h.

609  {
610  mooseError("We don't currently implement divergence for FV");
611  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ doDerivatives()

bool MooseVariableBase::doDerivatives ( ) const
protectedinherited
Returns
whether we should insert derivatives

◆ dofIndices()

template<typename OutputType>
virtual const std::vector<dof_id_type>& MooseVariableFV< OutputType >::dofIndices ( ) const
inlinefinalvirtual

◆ dofIndicesLower()

template<typename OutputType >
const std::vector< dof_id_type > & MooseVariableFV< OutputType >::dofIndicesLower ( ) const
finaloverridevirtual

Get dof indices for the current lower dimensional element (this is meaningful when performing mortar FEM)

Returns
the lower dimensional element's dofs

Implements MooseVariableFieldBase.

Definition at line 839 of file MooseVariableFV.h.

840 {
841  static const std::vector<dof_id_type> empty;
842  return empty;
843 }

◆ dofIndicesNeighbor()

template<typename OutputType>
virtual const std::vector<dof_id_type>& MooseVariableFV< OutputType >::dofIndicesNeighbor ( ) const
inlinefinalvirtual

Get neighbor DOF indices for currently selected element.

Returns
the neighbor degree of freedom indices

Implements MooseVariableFieldBase.

Definition at line 187 of file MooseVariableFV.h.

Referenced by FVScalarLagrangeMultiplierInterface::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVFluxBC::computeJacobian(), FVFluxKernel::computeJacobian(), and FVInterfaceKernel::computeJacobian().

188  {
189  return _neighbor_data->dofIndices();
190  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofMap()

const libMesh::DofMap& MooseVariableBase::dofMap ( ) const
inlineinherited

The DofMap associated with the system this variable is in.

Definition at line 136 of file MooseVariableBase.h.

Referenced by AuxScalarKernel::compute(), and ScalarVariable::execute().

136 { return _dof_map; }
const libMesh::DofMap & _dof_map
DOF map.

◆ dofValues()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValues ( ) const
overridevirtual

dof values getters

Implements MooseVariableField< OutputType >.

Definition at line 162 of file MooseVariableFV.C.

163 {
164  return _element_data->dofValues();
165 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDot()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDot ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 218 of file MooseVariableFV.C.

219 {
220  return _element_data->dofValuesDot();
221 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDotDot()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotDot ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 225 of file MooseVariableFV.C.

226 {
227  return _element_data->dofValuesDotDot();
228 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDotDotNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotDotNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 253 of file MooseVariableFV.C.

254 {
255  return _neighbor_data->dofValuesDotDot();
256 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesDotDotOld()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotDotOld ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 239 of file MooseVariableFV.C.

240 {
241  return _element_data->dofValuesDotDotOld();
242 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDotDotOldNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotDotOldNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 267 of file MooseVariableFV.C.

268 {
269  return _neighbor_data->dofValuesDotDotOld();
270 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesDotNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 246 of file MooseVariableFV.C.

247 {
248  return _neighbor_data->dofValuesDot();
249 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesDotOld()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotOld ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 232 of file MooseVariableFV.C.

233 {
234  return _element_data->dofValuesDotOld();
235 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDotOldNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesDotOldNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 260 of file MooseVariableFV.C.

261 {
262  return _neighbor_data->dofValuesDotOld();
263 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesDuDotDotDu()

template<typename OutputType >
const MooseArray< Number > & MooseVariableFV< OutputType >::dofValuesDuDotDotDu ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 281 of file MooseVariableFV.C.

282 {
283  return _element_data->dofValuesDuDotDotDu();
284 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDuDotDotDuNeighbor()

template<typename OutputType >
const MooseArray< Number > & MooseVariableFV< OutputType >::dofValuesDuDotDotDuNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 295 of file MooseVariableFV.C.

296 {
297  return _neighbor_data->dofValuesDuDotDotDu();
298 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesDuDotDu()

template<typename OutputType >
const MooseArray< Number > & MooseVariableFV< OutputType >::dofValuesDuDotDu ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 274 of file MooseVariableFV.C.

275 {
276  return _element_data->dofValuesDuDotDu();
277 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesDuDotDuNeighbor()

template<typename OutputType >
const MooseArray< Number > & MooseVariableFV< OutputType >::dofValuesDuDotDuNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 288 of file MooseVariableFV.C.

289 {
290  return _neighbor_data->dofValuesDuDotDu();
291 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 190 of file MooseVariableFV.C.

191 {
192  return _neighbor_data->dofValues();
193 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesOld()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesOld ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 169 of file MooseVariableFV.C.

170 {
171  return _element_data->dofValuesOld();
172 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesOlder()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesOlder ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 176 of file MooseVariableFV.C.

177 {
178  return _element_data->dofValuesOlder();
179 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesOlderNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesOlderNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 204 of file MooseVariableFV.C.

205 {
206  return _neighbor_data->dofValuesOlder();
207 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesOldNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesOldNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 197 of file MooseVariableFV.C.

198 {
199  return _neighbor_data->dofValuesOld();
200 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dofValuesPreviousNL()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesPreviousNL ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 183 of file MooseVariableFV.C.

184 {
185  return _element_data->dofValuesPreviousNL();
186 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ dofValuesPreviousNLNeighbor()

template<typename OutputType >
const MooseVariableFV< OutputType >::DoFValue & MooseVariableFV< OutputType >::dofValuesPreviousNLNeighbor ( ) const
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 211 of file MooseVariableFV.C.

212 {
213  return _neighbor_data->dofValuesPreviousNL();
214 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ dot() [1/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const ElemArg elem,
const StateArg state 
) const
inherited

Same as their evaluateDot overloads with the same arguments but allows for caching implementation.

These are the methods a user will call in their code

Definition at line 890 of file MooseFunctor.h.

891 {
892  return evaluateDot(elem, state);
893 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385

◆ dot() [2/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const FaceArg face,
const StateArg state 
) const
inherited

Definition at line 897 of file MooseFunctor.h.

898 {
899  checkFace(face);
900  return evaluateDot(face, state);
901 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385
void checkFace(const Moose::FaceArg &face) const
Examines the incoming face argument.
Definition: MooseFunctor.h:732

◆ dot() [3/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const ElemQpArg qp,
const StateArg state 
) const
inherited

Definition at line 905 of file MooseFunctor.h.

906 {
907  return evaluateDot(elem_qp, state);
908 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385

◆ dot() [4/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const ElemSideQpArg qp,
const StateArg state 
) const
inherited

Definition at line 912 of file MooseFunctor.h.

913 {
914  return evaluateDot(elem_side_qp, state);
915 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385

◆ dot() [5/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const ElemPointArg elem_point,
const StateArg state 
) const
inherited

Definition at line 919 of file MooseFunctor.h.

920 {
921  return evaluateDot(elem_point, state);
922 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385

◆ dot() [6/6]

FunctorBase< Moose::ADType< OutputType >::type >::DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::dot ( const NodeArg node,
const StateArg state 
) const
inherited

Definition at line 926 of file MooseFunctor.h.

927 {
928  return evaluateDot(node, state);
929 }
virtual DotType evaluateDot(const ElemArg &, const StateArg &) const
Evaluate the functor time derivative with a given element.
Definition: MooseFunctor.h:385

◆ duDotDotDu()

template<typename OutputType>
const VariableValue& MooseVariableFV< OutputType >::duDotDotDu ( ) const
inline

Definition at line 257 of file MooseVariableFV.h.

257 { return _element_data->duDotDotDu(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ duDotDotDuNeighbor()

template<typename OutputType>
const VariableValue& MooseVariableFV< OutputType >::duDotDotDuNeighbor ( ) const
inline

Definition at line 259 of file MooseVariableFV.h.

259 { return _neighbor_data->duDotDotDu(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ duDotDu()

template<typename OutputType>
const VariableValue& MooseVariableFV< OutputType >::duDotDu ( ) const
inline

Definition at line 256 of file MooseVariableFV.h.

256 { return _element_data->duDotDu(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ duDotDuNeighbor()

template<typename OutputType>
const VariableValue& MooseVariableFV< OutputType >::duDotDuNeighbor ( ) const
inline

Definition at line 258 of file MooseVariableFV.h.

258 { return _neighbor_data->duDotDu(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ eigen() [1/2]

bool MooseVariableBase::eigen ( ) const
inlineinherited

Whether or not this variable operates on an eigen kernel.

Definition at line 163 of file MooseVariableBase.h.

Referenced by EigenProblem::adjustEigenVector().

163 { return _is_eigen; }
bool _is_eigen
Whether or not this variable operates on eigen kernels.

◆ eigen() [2/2]

void MooseVariableBase::eigen ( bool  eigen)
inlineinherited

Mark this variable as an eigen var or non-eigen var.

Definition at line 168 of file MooseVariableBase.h.

Referenced by MooseVariableBase::eigen().

168 { _is_eigen = eigen; }
bool eigen() const
Whether or not this variable operates on an eigen kernel.
bool _is_eigen
Whether or not this variable operates on eigen kernels.

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 40 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ errorPrefix()

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

Definition at line 43 of file MooseBase.C.

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

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

◆ evaluate() [1/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const ElemArg elem,
const StateArg state 
) const
finaloverrideprivatevirtual

Evaluate the functor with a given element.

Some example implementations of this method could compute an element-average or evaluate at the element centroid

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 769 of file MooseVariableFV.h.

770 {
771  return getElemValue(elem_arg.elem, state);
772 }
ADReal getElemValue(const Elem *elem, const StateArg &state) const
Get the solution value for the provided element and seed the derivative for the corresponding dof ind...

◆ evaluate() [2/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const FaceArg face,
const StateArg state 
) const
finaloverrideprivatevirtual
Parameters
faceSee the FaceArg doxygen
stateSee the StateArg doxygen
Returns
The functor evaluated at the requested state and space

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 728 of file MooseVariableFV.C.

729 {
730  const FaceInfo * const fi = face.fi;
731  mooseAssert(fi, "The face information must be non-null");
732  if (isDirichletBoundaryFace(*fi, face.face_side, state))
733  return getDirichletBoundaryFaceValue(*fi, face.face_side, state);
734  else if (isExtrapolatedBoundaryFace(*fi, face.face_side, state))
735  {
736  bool two_term_boundary_expansion = _two_term_boundary_expansion;
738  if ((face.elem_is_upwind && face.face_side == fi->elemPtr()) ||
739  (!face.elem_is_upwind && face.face_side == fi->neighborPtr()))
740  two_term_boundary_expansion = false;
742  *fi, two_term_boundary_expansion, face.correct_skewness, face.face_side, state);
743  }
744  else
745  {
746  mooseAssert(this->isInternalFace(*fi),
747  "We must be either Dirichlet, extrapolated, or internal");
748  return Moose::FV::interpolate(*this, face, state);
749  }
750 }
bool _two_term_boundary_expansion
Whether to use a two term expansion for computing boundary face values.
const libMesh::Elem * face_side
A member that can be used to indicate whether there is a sidedness to this face.
bool correct_skewness
Whether to perform skew correction.
virtual bool isDirichletBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Determine whether a specified face side is a Dirichlet boundary face.
bool isInternalFace(const FaceInfo &) const
Returns true if the face is an internal face.
Definition: MooseFunctor.h:569
This data structure is used to store geometric and variable related metadata about each cell face in ...
Definition: FaceInfo.h:36
const Elem * neighborPtr() const
Definition: FaceInfo.h:84
const FaceInfo * fi
a face information object which defines our location in space
bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const override
Returns whether this is an extrapolated boundary face.
Moose::FV::LimiterType limiter_type
a limiter which defines how the functor evaluated on either side of the face should be interpolated t...
virtual ADReal getExtrapolatedBoundaryFaceValue(const FaceInfo &fi, bool two_term_expansion, bool correct_skewness, const Elem *elem_side_to_extrapolate_from, const StateArg &state) const
Retrieves an extrapolated boundary value for the provided face.
const Elem * elemPtr() const
Definition: FaceInfo.h:82
virtual ADReal getDirichletBoundaryFaceValue(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Retrieves a Dirichlet boundary value for the provided face.
bool elem_is_upwind
a boolean which states whether the face information element is upwind of the face ...
void interpolate(InterpMethod m, T &result, const T2 &value1, const T3 &value2, const FaceInfo &fi, const bool one_is_elem)
Provides interpolation of face values for non-advection-specific purposes (although it can/will still...
Definition: MathFVUtils.h:282

◆ evaluate() [3/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const NodeArg node,
const StateArg state 
) const
finaloverrideprivatevirtual

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 754 of file MooseVariableFV.C.

755 {
756  const auto & node_to_elem_map = this->_mesh.nodeToElemMap();
757  const auto & elem_ids = libmesh_map_find(node_to_elem_map, node_arg.node->id());
758  ValueType sum = 0;
759  Real total_weight = 0;
760  mooseAssert(elem_ids.size(), "There should always be at least one element connected to a node");
761  for (const auto elem_id : elem_ids)
762  {
763  const Elem * const elem = this->_mesh.queryElemPtr(elem_id);
764  mooseAssert(elem, "We should have this element available");
765  if (!this->hasBlocks(elem->subdomain_id()))
766  continue;
767  const ElemPointArg elem_point{
769  const auto weight = 1 / (*node_arg.node - elem->vertex_average()).norm();
770  sum += weight * (*this)(elem_point, state);
771  total_weight += weight;
772  }
773  return sum / total_weight;
774 }
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
virtual Elem * queryElemPtr(const dof_id_type i)
Definition: MooseMesh.C:3120
dof_id_type weight(const MeshBase &mesh, const processor_id_type pid)
auto norm(const T &a) -> decltype(std::abs(a))
dof_id_type total_weight(const MeshBase &mesh)
MooseMesh & _mesh
mesh the variable is active in
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf&#39;)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
const std::map< dof_id_type, std::vector< dof_id_type > > & nodeToElemMap()
If not already created, creates a map from every node to all elements to which they are connected...
Definition: MooseMesh.C:1175

◆ evaluate() [4/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const ElemPointArg elem_point,
const StateArg state 
) const
finaloverrideprivatevirtual

Evaluate the functor with a given element and point.

Some example implementations of this method could perform a two-term Taylor expansion using cell-centered value and gradient

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 776 of file MooseVariableFV.h.

777 {
778  return (*this)(elem_point.makeElem(), state) +
779  (elem_point.point - elem_point.elem->vertex_average()) *
780  this->gradient(elem_point.makeElem(), state);
781 }
GradientType gradient(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradient overloads with the same arguments but allows for caching implementatio...
Definition: MooseFunctor.h:847

◆ evaluate() [5/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const ElemQpArg qp,
const StateArg state 
) const
finaloverrideprivatevirtual
Parameters
qpSee the ElemQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor evaluated at the requested state and space

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 785 of file MooseVariableFV.h.

786 {
787  return (*this)(ElemPointArg{elem_qp.elem,
788  elem_qp.point,
790  state);
791 }
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.
Moose::ElemPointArg ElemPointArg
const libMesh::Elem * elem
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf&#39;)
const Point & point(const unsigned int i) const

◆ evaluate() [6/6]

template<typename OutputType >
MooseVariableFV< OutputType >::ValueType MooseVariableFV< OutputType >::evaluate ( const ElemSideQpArg side_qp,
const StateArg state 
) const
finaloverrideprivatevirtual
Parameters
side_qpSee the ElemSideQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor evaluated at the requested state and space

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 795 of file MooseVariableFV.h.

797 {
798  return (*this)(ElemPointArg{elem_side_qp.elem,
799  elem_side_qp.point,
801  state);
802 }
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.
Moose::ElemPointArg ElemPointArg
const libMesh::Elem * elem
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf&#39;)
const Point & point(const unsigned int i) const

◆ evaluateDot() [1/6]

virtual DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateDot ( const ElemSideQpArg ,
const StateArg  
) const
inlineprotectedvirtualinherited
Parameters
side_qpSee the ElemSideQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor time derivative evaluated at the requested state and space

Reimplemented in MooseVariableFE< OutputType >, and MooseVariableFE< VectorValue< Real > >.

Definition at line 416 of file MooseFunctor.h.

417  {
418  mooseError("Element side quadrature point time derivative not implemented for functor " +
419  functorName());
420  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateDot() [2/6]

virtual DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateDot ( const ElemPointArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Evaluate the functor time derivative with a given element and point.

Definition at line 425 of file MooseFunctor.h.

426  {
427  mooseError("Element-point time derivative not implemented for functor " + functorName());
428  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateDot() [3/6]

virtual DotType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateDot ( const NodeArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Definition at line 430 of file MooseFunctor.h.

431  {
432  mooseError("Time derivative at node not implemented for functor " + functorName());
433  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateDot() [4/6]

template<typename OutputType >
MooseVariableFV< OutputType >::DotType MooseVariableFV< OutputType >::evaluateDot ( const ElemArg ,
const StateArg  
) const
finaloverrideprivatevirtual

Evaluate the functor time derivative with a given element.

Some example implementations of this method could compute an element-average or evaluate at the element centroid

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 778 of file MooseVariableFV.C.

779 {
780  mooseError("evaluateDot not implemented for this class of finite volume variables");
781 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ evaluateDot() [5/6]

template<typename OutputType>
DotType MooseVariableFV< OutputType >::evaluateDot ( const FaceArg ,
const StateArg  
) const
finaloverrideprivatevirtual
Parameters
faceSee the FaceArg doxygen
stateSee the StateArg doxygen
Returns
The functor time derivative evaluated at the requested state and space

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

◆ evaluateDot() [6/6]

template<typename OutputType>
DotType MooseVariableFV< OutputType >::evaluateDot ( const ElemQpArg ,
const StateArg  
) const
finaloverrideprivatevirtual
Parameters
qpSee the ElemQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor time derivative evaluated at the requested state and space

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

◆ evaluateGradDot() [1/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const ElemArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Evaluate the functor gradient-dot with a given element.

Some example implementations of this method could compute an element-average or evaluate at the element centroid

Reimplemented in MooseVariableFE< OutputType >, and MooseVariableFE< VectorValue< Real > >.

Definition at line 439 of file MooseFunctor.h.

440  {
441  mooseError("Element gradient-dot not implemented for functor " + functorName());
442  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradDot() [2/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const FaceArg ,
const StateArg  
) const
inlineprotectedvirtualinherited
Parameters
faceSee the FaceArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient-dot evaluated at the requested state and space

Definition at line 449 of file MooseFunctor.h.

450  {
451  mooseError("Face gradient-dot not implemented for functor " + functorName());
452  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradDot() [3/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const ElemQpArg ,
const StateArg  
) const
inlineprotectedvirtualinherited
Parameters
qpSee the ElemQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient-dot evaluated at the requested state and space

Definition at line 459 of file MooseFunctor.h.

460  {
461  mooseError("Element quadrature point gradient-dot not implemented for functor " +
462  functorName());
463  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradDot() [4/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const ElemSideQpArg ,
const StateArg  
) const
inlineprotectedvirtualinherited
Parameters
side_qpSee the ElemSideQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient-dot evaluated at the requested state and space

Definition at line 470 of file MooseFunctor.h.

471  {
472  mooseError("Element side quadrature point gradient-dot not implemented for functor " +
473  functorName());
474  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradDot() [5/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const ElemPointArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Evaluate the functor gradient-dot with a given element and point.

Definition at line 479 of file MooseFunctor.h.

480  {
481  mooseError("Element-point gradient-dot not implemented for functor " + functorName());
482  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradDot() [6/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradDot ( const NodeArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Definition at line 484 of file MooseFunctor.h.

485  {
486  mooseError("Gradient-dot at node not implemented for functor " + functorName());
487  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradient() [1/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradient ( const ElemSideQpArg ,
const StateArg  
) const
inlineprotectedvirtualinherited
Parameters
side_qpSee the ElemSideQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient evaluated at the requested state and space

Reimplemented in MooseVariableFE< OutputType >, and MooseVariableFE< VectorValue< Real > >.

Definition at line 362 of file MooseFunctor.h.

363  {
364  mooseError("Element side quadrature point gradient not implemented for functor " +
365  functorName());
366  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradient() [2/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradient ( const ElemPointArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Evaluate the functor gradient with a given element and point.

Definition at line 371 of file MooseFunctor.h.

372  {
373  mooseError("Element-point gradient not implemented for functor " + functorName());
374  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradient() [3/6]

virtual GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::evaluateGradient ( const NodeArg ,
const StateArg  
) const
inlineprotectedvirtualinherited

Definition at line 376 of file MooseFunctor.h.

377  {
378  mooseError("Gradient at node not implemented for functor " + functorName());
379  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
const MooseFunctorName & functorName() const
Return the functor name.
Definition: MooseFunctor.h:170

◆ evaluateGradient() [4/6]

template<typename OutputType >
MooseVariableFV< OutputType >::GradientType MooseVariableFV< OutputType >::evaluateGradient ( const ElemQpArg ,
const StateArg  
) const
finaloverrideprivatevirtual
Parameters
qpSee the ElemQpArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient evaluated at the requested state and space

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 806 of file MooseVariableFV.h.

808 {
809  return adGradSln(
811 }
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf&#39;)
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.

◆ evaluateGradient() [5/6]

template<typename OutputType >
MooseVariableFV< OutputType >::GradientType MooseVariableFV< OutputType >::evaluateGradient ( const ElemArg ,
const StateArg  
) const
finaloverrideprivatevirtual

Evaluate the functor gradient with a given element.

Some example implementations of this method could compute an element-average or evaluate at the element centroid

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 815 of file MooseVariableFV.h.

817 {
818  return adGradSln(elem_arg.elem, state, elem_arg.correct_skewness);
819 }
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.

◆ evaluateGradient() [6/6]

template<typename OutputType >
MooseVariableFV< OutputType >::GradientType MooseVariableFV< OutputType >::evaluateGradient ( const FaceArg ,
const StateArg  
) const
finaloverrideprivatevirtual
Parameters
faceSee the FaceArg doxygen
stateSee the StateArg doxygen
Returns
The functor gradient evaluated at the requested state and space

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 823 of file MooseVariableFV.h.

824 {
825  mooseAssert(face.fi, "We must have a non-null face information");
826  return adGradSln(*face.fi, state, face.correct_skewness);
827 }
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.

◆ faceInterpolationMethod()

template<typename OutputType>
Moose::FV::InterpMethod MooseVariableFV< OutputType >::faceInterpolationMethod ( ) const
inline

Definition at line 192 of file MooseVariableFV.h.

192 { return _face_interp_method; }
Moose::FV::InterpMethod _face_interp_method
Decides if an average or skewed corrected average is used for the face interpolation.

◆ feType()

const libMesh::FEType& MooseVariableBase::feType ( ) const
inlineinherited

Get the type of finite element object.

Definition at line 57 of file MooseVariableBase.h.

Referenced by SetupResidualDebugAction::act(), ADDGKernel::ADDGKernel(), Assembly::adGradPhi(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ArrayDGKernel::ArrayDGKernel(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), AuxKernelTempl< Real >::AuxKernelTempl(), BoundsBase::BoundsBase(), BuildArrayVariableAux::BuildArrayVariableAux(), TagAuxBase< AuxKernel >::checkCoupledVariable(), SamplerBase::checkForStandardFieldVariableType(), GapValueAux::computeValue(), CopyValueAux::CopyValueAux(), DGKernel::DGKernel(), MultiAppNearestNodeTransfer::execute(), moose::internal::incompatVarMsg(), AdvancedOutput::initAvailableLists(), MultiAppProjectionTransfer::initialSetup(), AdvancedOutput::initShowHideLists(), IntegratedBC::IntegratedBC(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InternalSideIndicatorBase::InternalSideIndicatorBase(), Kernel::Kernel(), MeshDivisionAux::MeshDivisionAux(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodalBC::NodalBC(), NodalKernel::NodalKernel(), SolutionUserObjectBase::pointValueWrapper(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), MultiAppDofCopyTransfer::transfer(), and VectorNodalBC::VectorNodalBC().

57 { return _fe_type; }
libMesh::FEType _fe_type
The FEType associated with this variable.

◆ fieldType()

template<typename OutputType >
Moose::VarFieldType MooseVariableField< OutputType >::fieldType ( ) const
overridevirtualinherited

Field type of this variable.

Implements MooseVariableFieldBase.

Definition at line 72 of file MooseVariableField.C.

73 {
74  if (std::is_same<OutputType, Real>::value)
76  else if (std::is_same<OutputType, RealVectorValue>::value)
78  else if (std::is_same<OutputType, RealEigenVector>::value)
80  else
81  mooseError("Unknown variable field type");
82 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ functorName()

const MooseFunctorName& Moose::FunctorBase< Moose::ADType< OutputType >::type >::functorName ( ) const
inlineinherited

Return the functor name.

Definition at line 170 of file MooseFunctor.h.

170 { return _functor_name; }
MooseFunctorName _functor_name
name of the functor
Definition: MooseFunctor.h:564

◆ genericDofValues()

template<typename OutputType >
template<bool is_ad>
const MooseArray< GenericReal< is_ad > > & MooseVariableField< OutputType >::genericDofValues ( ) const
inherited

Definition at line 428 of file MooseVariableField.h.

429 {
430  return adDofValues();
431 }
virtual const MooseArray< ADReal > & adDofValues() const =0
Return the AD dof values.

◆ genericEvaluate()

FunctorReturnType< Moose::ADType< OutputType >::type , FET >::type Moose::FunctorBase< Moose::ADType< OutputType >::type >::genericEvaluate ( const Space &  r,
const State &  state 
) const
inherited

Perform a generic evaluation based on the supplied template argument FET and supplied spatial and temporal arguments.

Definition at line 987 of file MooseFunctor.h.

988 {
989  if constexpr (FET == FunctorEvaluationKind::Value)
990  return (*this)(r, state);
991  else if constexpr (FET == FunctorEvaluationKind::Gradient)
992  return gradient(r, state);
993  else if constexpr (FET == FunctorEvaluationKind::Dot)
994  return dot(r, state);
995  else
996  return gradDot(r, state);
997 }
GradientType gradDot(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation...
Definition: MooseFunctor.h:933
DotType dot(const ElemArg &elem, const StateArg &state) const
Same as their evaluateDot overloads with the same arguments but allows for caching implementation...
Definition: MooseFunctor.h:890
GradientType gradient(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradient overloads with the same arguments but allows for caching implementatio...
Definition: MooseFunctor.h:847

◆ getBlockCoordSystem()

Moose::CoordinateSystemType BlockRestrictable::getBlockCoordSystem ( )
protectedinherited

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

Definition at line 321 of file BlockRestrictable.C.

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

◆ getBoundaryFaceValue()

template<typename OutputType >
ADReal MooseVariableFV< OutputType >::getBoundaryFaceValue ( const FaceInfo fi,
const StateArg state,
bool  correct_skewness = false 
) const

Retrieve the solution value at a boundary face.

If we're using a one term Taylor series expansion we'll simply return the ajacent element centroid value. If we're doing two terms, then we will compute the gradient if necessary to help us interpolate from the element centroid value to the face

Definition at line 566 of file MooseVariableFV.C.

Referenced by SideIntegralVariableUserObject::computeQpIntegral(), InterfaceIntegralVariableValuePostprocessor::computeQpIntegral(), and FVTwoVarContinuityConstraint::computeQpResidual().

569 {
570  mooseAssert(!this->isInternalFace(fi),
571  "A boundary face value has been requested on an internal face.");
572 
573  if (isDirichletBoundaryFace(fi, nullptr, state))
574  return getDirichletBoundaryFaceValue(fi, nullptr, state);
575  else if (isExtrapolatedBoundaryFace(fi, nullptr, state))
577  fi, _two_term_boundary_expansion, correct_skewness, nullptr, state);
578 
579  mooseError("Unknown boundary face type!");
580 }
bool _two_term_boundary_expansion
Whether to use a two term expansion for computing boundary face values.
virtual bool isDirichletBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Determine whether a specified face side is a Dirichlet boundary face.
bool isInternalFace(const FaceInfo &) const
Returns true if the face is an internal face.
Definition: MooseFunctor.h:569
bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const override
Returns whether this is an extrapolated boundary face.
virtual ADReal getExtrapolatedBoundaryFaceValue(const FaceInfo &fi, bool two_term_expansion, bool correct_skewness, const Elem *elem_side_to_extrapolate_from, const StateArg &state) const
Retrieves an extrapolated boundary value for the provided face.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
virtual ADReal getDirichletBoundaryFaceValue(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Retrieves a Dirichlet boundary value for the provided face.

◆ getCheckedPointerParam()

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

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

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

Definition at line 286 of file MooseBaseParameterInterface.h.

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

◆ getContinuity()

template<typename OutputType>
libMesh::FEContinuity MooseVariableFV< OutputType >::getContinuity ( ) const
inlinefinaloverridevirtual

Return the continuity of this variable.

Reimplemented from MooseVariableBase.

Definition at line 160 of file MooseVariableFV.h.

161  {
162  return _element_data->getContinuity();
163  };
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ getDataFileName()

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

Deprecated method.

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

Definition at line 21 of file DataFileInterface.C.

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

◆ getDataFileNameByName()

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

Deprecated method.

Use getDataFilePath() instead.

Definition at line 31 of file DataFileInterface.C.

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

◆ getDataFilePath()

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

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

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

Definition at line 40 of file DataFileInterface.C.

Referenced by DataFileInterface::getDataFileNameByName().

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

◆ getDirichletBC()

template<typename OutputType >
std::pair< bool, const FVDirichletBCBase * > MooseVariableFV< OutputType >::getDirichletBC ( const FaceInfo fi) const

Definition at line 409 of file MooseVariableFV.C.

Referenced by FVFluxKernel::skipForBoundary().

410 {
411  for (const auto bnd_id : fi.boundaryIDs())
412  if (auto it = _boundary_id_to_dirichlet_bc.find(bnd_id);
413  it != _boundary_id_to_dirichlet_bc.end())
414  return {true, it->second};
415 
416  return {false, nullptr};
417 }
const std::set< BoundaryID > & boundaryIDs() const
Const getter for every associated boundary ID.
Definition: FaceInfo.h:120
std::unordered_map< BoundaryID, const FVDirichletBCBase * > _boundary_id_to_dirichlet_bc
Map from boundary ID to Dirichlet boundary conditions.

◆ getDirichletBoundaryFaceValue()

template<typename OutputType>
ADReal MooseVariableFV< OutputType >::getDirichletBoundaryFaceValue ( const FaceInfo fi,
const Elem *  elem,
const Moose::StateArg state 
) const
protectedvirtual

Retrieves a Dirichlet boundary value for the provided face.

Callers of this method should be sure that isDirichletBoundaryFace returns true. In the base implementation we only inspect the face information object for the Dirichlet value. However, derived classes may allow discontinuities between + and - side face values, e.g. one side may have a Dirichlet condition and the other side may perform extrapolation to determine its value. This is the reason for the existence of the elem parameter, to indicate sidedness

Parameters
fiThe face information object
elemAn element that can be used to indicate sidedness of the face
stateState argument which describes at what time / solution iteration state we want to evaluate the variable
Returns
The Dirichlet value on the boundary face associated with fi (and potentially elem)

Definition at line 485 of file MooseVariableFV.C.

488 {
489  mooseAssert(isDirichletBoundaryFace(fi, elem, state),
490  "This function should only be called on Dirichlet boundary faces.");
491 
492  const auto & diri_pr = getDirichletBC(fi);
493 
494  mooseAssert(diri_pr.first,
495  "This functor should only be called if we are on a Dirichlet boundary face.");
496 
497  const FVDirichletBCBase & bc = *diri_pr.second;
498 
499  return ADReal(bc.boundaryValue(fi, state));
500 }
Base class for finite volume Dirichlet boundaray conditions.
DualNumber< Real, DNDerivativeType, true > ADReal
Definition: ADRealForward.h:46
virtual bool isDirichletBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Determine whether a specified face side is a Dirichlet boundary face.
std::pair< bool, const FVDirichletBCBase * > getDirichletBC(const FaceInfo &fi) const
virtual ADReal boundaryValue(const FaceInfo &fi, const Moose::StateArg &state) const =0
virtual const OutputTools< T >::VariableSecond & second()
The second derivative of the variable this object is operating on.

◆ getDofIndices()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::getDofIndices ( const Elem *  elem,
std::vector< dof_id_type > &  dof_indices 
) const
inlineoverridevirtual

Reimplemented from MooseVariableBase.

Definition at line 177 of file MooseVariableFV.h.

179  {
180  return _element_data->getDofIndices(elem, dof_indices);
181  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ getElementalValue()

template<typename OutputType >
MooseVariableFV< OutputType >::OutputData MooseVariableFV< OutputType >::getElementalValue ( const Elem *  elem,
unsigned int  idx = 0 
) const

Get the current value of this variable on an element.

Parameters
[in]elemElement at which to get value
[in]idxLocal index of this variable's element DoFs
Returns
Variable value

Definition at line 120 of file MooseVariableFV.C.

121 {
122  return _element_data->getElementalValue(elem, Moose::Current, idx);
123 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ getElementalValueOld()

template<typename OutputType >
MooseVariableFV< OutputType >::OutputData MooseVariableFV< OutputType >::getElementalValueOld ( const Elem *  elem,
unsigned int  idx = 0 
) const

Get the old value of this variable on an element.

Parameters
[in]elemElement at which to get value
[in]idxLocal index of this variable's element DoFs
Returns
Variable value

Definition at line 127 of file MooseVariableFV.C.

128 {
129  return _element_data->getElementalValue(elem, Moose::Old, idx);
130 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ getElementalValueOlder()

template<typename OutputType >
MooseVariableFV< OutputType >::OutputData MooseVariableFV< OutputType >::getElementalValueOlder ( const Elem *  elem,
unsigned int  idx = 0 
) const

Get the older value of this variable on an element.

Parameters
[in]elemElement at which to get value
[in]idxLocal index of this variable's element DoFs
Returns
Variable value

Definition at line 134 of file MooseVariableFV.C.

135 {
136  return _element_data->getElementalValue(elem, Moose::Older, idx);
137 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ getElemValue()

template<typename OutputType >
ADReal MooseVariableFV< OutputType >::getElemValue ( const Elem *  elem,
const StateArg state 
) const

Get the solution value for the provided element and seed the derivative for the corresponding dof index.

Parameters
elemThe element to retrieive the solution value for
stateState argument which describes at what time / solution iteration state we want to evaluate the variable

Definition at line 432 of file MooseVariableFV.C.

Referenced by FVDiffusionInterface::computeQpResidual().

433 {
434  mooseAssert(elem,
435  "The elem shall exist! This typically occurs when the "
436  "user wants to evaluate non-existing elements (nullptr) at physical boundaries.");
437  mooseAssert(
438  this->hasBlocks(elem->subdomain_id()),
439  "The variable should be defined on the element's subdomain! This typically occurs when the "
440  "user wants to evaluate the elements right next to the boundary of two variables (block "
441  "boundary). The subdomain which is queried: " +
442  Moose::stringify(this->activeSubdomains()) + " the subdomain of the element " +
443  std::to_string(elem->subdomain_id()));
444 
445  Moose::initDofIndices(const_cast<MooseVariableFV<OutputType> &>(*this), *elem);
446 
447  mooseAssert(
448  this->_dof_indices.size() == 1,
449  "There should only be one dof-index for a constant monomial variable on any given element");
450 
451  const dof_id_type index = this->_dof_indices[0];
452 
453  // It's not safe to use solutionState(0) because it returns the libMesh System solution member
454  // which is wrong during things like finite difference Jacobian evaluation, e.g. when PETSc
455  // perturbs the solution vector we feed these perturbations into the current_local_solution
456  // while the libMesh solution is frozen in the non-perturbed state
457  const auto & global_soln =
458  (state.state == 0)
459  ? *this->_sys.currentSolution()
460  : std::as_const(this->_sys).solutionState(state.state, state.iteration_type);
461 
462  ADReal value = global_soln(index);
463 
464  if (ADReal::do_derivatives && state.state == 0 &&
465  this->_sys.number() == this->_subproblem.currentNlSysNum())
466  Moose::derivInsert(value.derivatives(), index, 1.);
467 
468  return value;
469 }
void initDofIndices(T &data, const Elem &elem)
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
virtual unsigned int currentNlSysNum() const =0
std::vector< dof_id_type > _dof_indices
DOF indices.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
SubProblem & _subproblem
Problem this variable is part of.
SystemBase & _sys
System this variable is part of.
SolutionIterationType iteration_type
The solution iteration type, e.g. time or nonlinear.
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
const std::set< SubdomainID > & activeSubdomains() const
The subdomains the variable is active on.
bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N >> &derivs, libMesh::dof_id_type index, Real value)
Definition: ADReal.h:21
This class provides variable solution values for other classes/objects to bind to when looping over f...
unsigned int state
The state.
uint8_t dof_id_type

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

◆ getExtrapolatedBoundaryFaceValue()

template<typename OutputType >
ADReal MooseVariableFV< OutputType >::getExtrapolatedBoundaryFaceValue ( const FaceInfo fi,
bool  two_term_expansion,
bool  correct_skewness,
const Elem *  elem_side_to_extrapolate_from,
const StateArg state 
) const
virtual

Retrieves an extrapolated boundary value for the provided face.

Callers of this method should be sure that isExtrapolatedBoundaryFace returns true. In the base implementation we only inspect the face information object for the extrapolated value. However, derived classes may allow discontinuities between + and - side face values, e.g. one side may have a Dirichlet condition and the other side may perform extrapolation to determine its value. This is the reason for the existence of the elem parameter, to indicate sidedness

Parameters
fiThe face information object
two_term_expansionWhether to use the cell gradient in addition to the cell center value to compute the extrapolated boundary face value. If this is false, then the cell center value will be used
correct_skewnessWhether to perform skew corrections. This is relevant when performing two term expansions as the gradient evaluation may involve evaluating face values on internal skewed faces
elem_side_to_extrapolate_fromAn element that can be used to indicate sidedness of the face
stateState argument which describes at what time / solution iteration state we want to evaluate the variable
Returns
The extrapolated value on the boundary face associated with fi (and potentially elem_side_to_extrapolate_from)

Definition at line 516 of file MooseVariableFV.C.

521 {
522  mooseAssert(
523  isExtrapolatedBoundaryFace(fi, elem_to_extrapolate_from, state) || !two_term_expansion,
524  "We allow Dirichlet boundary conditions to call this method. However, the only way to "
525  "ensure we don't have infinite recursion, with Green Gauss gradients calling back to the "
526  "Dirichlet boundary condition calling back to this method, is to do a one term expansion");
527 
528  ADReal boundary_value;
529  bool elem_to_extrapolate_from_is_fi_elem;
530  std::tie(elem_to_extrapolate_from, elem_to_extrapolate_from_is_fi_elem) =
531  [this, &fi, elem_to_extrapolate_from]() -> std::pair<const Elem *, bool>
532  {
533  if (elem_to_extrapolate_from)
534  // Somebody already specified the element to extropolate from
535  return {elem_to_extrapolate_from, elem_to_extrapolate_from == fi.elemPtr()};
536  else
537  {
538  const auto [elem_guaranteed_to_have_dofs,
539  other_elem,
540  elem_guaranteed_to_have_dofs_is_fi_elem] =
542  // We only care about the element guaranteed to have degrees of freedom and current C++
543  // doesn't allow us to not assign one of the returned items like python does
544  libmesh_ignore(other_elem);
545  // We will extrapolate from the element guaranteed to have degrees of freedom
546  return {elem_guaranteed_to_have_dofs, elem_guaranteed_to_have_dofs_is_fi_elem};
547  }
548  }();
549 
550  if (two_term_expansion)
551  {
552  const Point vector_to_face = elem_to_extrapolate_from_is_fi_elem
553  ? (fi.faceCentroid() - fi.elemCentroid())
554  : (fi.faceCentroid() - fi.neighborCentroid());
555  boundary_value = adGradSln(elem_to_extrapolate_from, state, correct_skewness) * vector_to_face +
556  getElemValue(elem_to_extrapolate_from, state);
557  }
558  else
559  boundary_value = getElemValue(elem_to_extrapolate_from, state);
560 
561  return boundary_value;
562 }
std::tuple< const Elem *, const Elem *, bool > determineElemOneAndTwo(const FaceInfo &fi, const FVVar &var)
This utility determines element one and element two given a FaceInfo fi and variable var...
Definition: FVUtils.h:130
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
Definition: FaceInfo.h:71
const Point & neighborCentroid() const
Definition: FaceInfo.h:243
ADReal getElemValue(const Elem *elem, const StateArg &state) const
Get the solution value for the provided element and seed the derivative for the corresponding dof ind...
void libmesh_ignore(const Args &...)
const Point & elemCentroid() const
Returns the element centroids of the elements on the elem and neighbor sides of the face...
Definition: FaceInfo.h:95
bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const override
Returns whether this is an extrapolated boundary face.
const Elem * elemPtr() const
Definition: FaceInfo.h:82
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.

◆ getFluxBCs()

template<typename OutputType >
std::pair< bool, std::vector< const FVFluxBC * > > MooseVariableFV< OutputType >::getFluxBCs ( const FaceInfo fi) const

Definition at line 421 of file MooseVariableFV.C.

Referenced by FVFluxKernel::skipForBoundary().

422 {
423  for (const auto bnd_id : fi.boundaryIDs())
424  if (auto it = _boundary_id_to_flux_bc.find(bnd_id); it != _boundary_id_to_flux_bc.end())
425  return {true, it->second};
426 
427  return std::make_pair(false, std::vector<const FVFluxBC *>());
428 }
const std::set< BoundaryID > & boundaryIDs() const
Const getter for every associated boundary ID.
Definition: FaceInfo.h:120
std::unordered_map< BoundaryID, std::vector< const FVFluxBC * > > _boundary_id_to_flux_bc
Map from boundary ID to flux boundary conditions.

◆ getGradient()

template<typename OutputType >
OutputTools< OutputType >::OutputGradient MooseVariableFV< OutputType >::getGradient ( const Elem *  elem) const

Compute the variable gradient value at a point on an element.

Parameters
elemThe element we are computing on
phiEvaluated shape functions at a point
Returns
The variable gradient value

Definition at line 374 of file MooseVariableFV.C.

375 {
376  return {};
377 }

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 45 of file MooseBase.h.

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

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

◆ getOutputs()

const std::set< OutputName > & OutputInterface::getOutputs ( )
inherited

Get the list of output objects that this class is restricted.

Returns
A set of OutputNames

Definition at line 94 of file OutputInterface.C.

95 {
96  return _oi_outputs;
97 }
std::set< OutputName > _oi_outputs
The set of Output object names listed in the &#39;outputs&#39; parameter.

◆ getParam() [1/2]

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

Retrieve a parameter for the object.

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

Definition at line 215 of file MooseBaseParameterInterface.h.

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

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

◆ getParam() [2/2]

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

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

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

Definition at line 279 of file MooseBaseParameterInterface.h.

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

◆ getRenamedParam()

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

Retrieve a renamed parameter for the object.

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

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

Definition at line 229 of file MooseBaseParameterInterface.h.

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

◆ getSharedPtr() [1/2]

std::shared_ptr< MooseObject > MooseObject::getSharedPtr ( )
inherited

Get another shared pointer to this object that has the same ownership group.

Wrapper around shared_from_this().

Definition at line 68 of file MooseObject.C.

Referenced by MFEMProblem::addBoundaryCondition(), MFEMProblem::addKernel(), and MFEMProblem::addMFEMSolver().

69 {
70  try
71  {
72  return shared_from_this();
73  }
74  catch (std::bad_weak_ptr &)
75  {
76  mooseError(not_shared_error);
77  }
78 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getSharedPtr() [2/2]

std::shared_ptr< const MooseObject > MooseObject::getSharedPtr ( ) const
inherited

Definition at line 81 of file MooseObject.C.

82 {
83  try
84  {
85  return shared_from_this();
86  }
87  catch (std::bad_weak_ptr &)
88  {
89  mooseError(not_shared_error);
90  }
91 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getSolution()

template<typename OutputType >
const NumericVector< Number > & MooseVariableField< OutputType >::getSolution ( const Moose::StateArg state) const
protectedinherited

Get the solution corresponding to the provided state.

Definition at line 60 of file MooseVariableField.C.

61 {
62  // It's not safe to use solutionState(0) because it returns the libMesh System solution member
63  // which is wrong during things like finite difference Jacobian evaluation, e.g. when PETSc
64  // perturbs the solution vector we feed these perturbations into the current_local_solution
65  // while the libMesh solution is frozen in the non-perturbed state
66  return (state.state == 0) ? *this->_sys.currentSolution()
67  : this->_sys.solutionState(state.state, state.iteration_type);
68 }
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
virtual NumericVector< Number > & solutionState(const unsigned int state, Moose::SolutionIterationType iteration_type=Moose::SolutionIterationType::Time)
Get a state of the solution (0 = current, 1 = old, 2 = older, etc).
Definition: SystemBase.C:1419
SystemBase & _sys
System this variable is part of.
SolutionIterationType iteration_type
The solution iteration type, e.g. time or nonlinear.
unsigned int state
The state.

◆ getTwoTermBoundaryExpansion()

template<typename OutputType>
const bool& MooseVariableFV< OutputType >::getTwoTermBoundaryExpansion ( ) const
inline

Function to get wether two term boundary expansion is used for the variable.

Definition at line 675 of file MooseVariableFV.h.

bool _two_term_boundary_expansion
Whether to use a two term expansion for computing boundary face values.

◆ getValue()

template<typename OutputType >
OutputType MooseVariableFV< OutputType >::getValue ( const Elem *  elem) const

Note: const monomial is always the case - higher order solns are reconstructed - so this is simpler func than FE equivalent.

Definition at line 364 of file MooseVariableFV.C.

365 {
366  Moose::initDofIndices(const_cast<MooseVariableFV<OutputType> &>(*this), *elem);
367  mooseAssert(this->_dof_indices.size() == 1, "Wrong size for dof indices");
368  OutputType value = (*this->_sys.currentSolution())(this->_dof_indices[0]);
369  return value;
370 }
void initDofIndices(T &data, const Elem &elem)
virtual const NumericVector< Number > *const & currentSolution() const =0
The solution vector that is currently being operated on.
std::vector< dof_id_type > _dof_indices
DOF indices.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
SystemBase & _sys
System this variable is part of.
This class provides variable solution values for other classes/objects to bind to when looping over f...

◆ gradDot() [1/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const ElemArg elem,
const StateArg state 
) const
inherited

Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation.

These are the methods a user will call in their code

Definition at line 933 of file MooseFunctor.h.

934 {
935  return evaluateGradDot(elem, state);
936 }
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradDot() [2/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const FaceArg face,
const StateArg state 
) const
inherited

Definition at line 940 of file MooseFunctor.h.

941 {
942  checkFace(face);
943  return evaluateGradDot(face, state);
944 }
void checkFace(const Moose::FaceArg &face) const
Examines the incoming face argument.
Definition: MooseFunctor.h:732
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradDot() [3/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const ElemQpArg qp,
const StateArg state 
) const
inherited

Definition at line 948 of file MooseFunctor.h.

949 {
950  return evaluateGradDot(elem_qp, state);
951 }
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradDot() [4/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const ElemSideQpArg qp,
const StateArg state 
) const
inherited

Definition at line 955 of file MooseFunctor.h.

956 {
957  return evaluateGradDot(elem_side_qp, state);
958 }
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradDot() [5/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const ElemPointArg elem_point,
const StateArg state 
) const
inherited

Definition at line 962 of file MooseFunctor.h.

963 {
964  return evaluateGradDot(elem_point, state);
965 }
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradDot() [6/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradDot ( const NodeArg node,
const StateArg state 
) const
inherited

Definition at line 969 of file MooseFunctor.h.

970 {
971  return evaluateGradDot(node, state);
972 }
virtual GradientType evaluateGradDot(const ElemArg &, const StateArg &) const
Evaluate the functor gradient-dot with a given element.
Definition: MooseFunctor.h:439

◆ gradient() [1/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const ElemArg elem,
const StateArg state 
) const
inherited

Same as their evaluateGradient overloads with the same arguments but allows for caching implementation.

These are the methods a user will call in their code

Definition at line 847 of file MooseFunctor.h.

848 {
849  return evaluateGradient(elem, state);
850 }
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradient() [2/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const FaceArg face,
const StateArg state 
) const
inherited

Definition at line 854 of file MooseFunctor.h.

855 {
856  checkFace(face);
857  return evaluateGradient(face, state);
858 }
void checkFace(const Moose::FaceArg &face) const
Examines the incoming face argument.
Definition: MooseFunctor.h:732
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradient() [3/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const ElemQpArg qp,
const StateArg state 
) const
inherited

Definition at line 862 of file MooseFunctor.h.

863 {
864  return evaluateGradient(elem_qp, state);
865 }
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradient() [4/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const ElemSideQpArg qp,
const StateArg state 
) const
inherited

Definition at line 869 of file MooseFunctor.h.

870 {
871  return evaluateGradient(elem_side_qp, state);
872 }
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradient() [5/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const ElemPointArg elem_point,
const StateArg state 
) const
inherited

Definition at line 876 of file MooseFunctor.h.

877 {
878  return evaluateGradient(elem_point, state);
879 }
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradient() [6/6]

FunctorBase< Moose::ADType< OutputType >::type >::GradientType Moose::FunctorBase< Moose::ADType< OutputType >::type >::gradient ( const NodeArg node,
const StateArg state 
) const
inherited

Definition at line 883 of file MooseFunctor.h.

884 {
885  return evaluateGradient(node, state);
886 }
virtual GradientType evaluateGradient(const ElemArg &, const StateArg &) const
Evaluate the functor gradient with a given element.
Definition: MooseFunctor.h:332

◆ gradPhi()

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::gradPhi ( ) const
inlinefinaloverridevirtual

Return the gradients of the variable's elemental shape functions.

Implements MooseVariableField< OutputType >.

Definition at line 599 of file MooseVariableFV.h.

599 { return _grad_phi; }
const FieldVariablePhiGradient & _grad_phi

◆ gradPhiFace()

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::gradPhiFace ( ) const
inlinefinaloverridevirtual

Return the gradients of the variable's shape functions on an element face.

Implements MooseVariableField< OutputType >.

Definition at line 614 of file MooseVariableFV.h.

614 { return _grad_phi_face; }
const FieldVariablePhiGradient & _grad_phi_face

◆ gradPhiFaceNeighbor()

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::gradPhiFaceNeighbor ( ) const
inlinefinaloverridevirtual

Return the gradients of the variable's shape functions on a neighboring element face.

Implements MooseVariableField< OutputType >.

Definition at line 624 of file MooseVariableFV.h.

625  {
627  }
const FieldVariablePhiGradient & _grad_phi_face_neighbor

◆ gradPhiNeighbor()

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::gradPhiNeighbor ( ) const
inlinefinaloverridevirtual

Return the gradients of the variable's shape functions on a neighboring element.

Implements MooseVariableField< OutputType >.

Definition at line 634 of file MooseVariableFV.h.

635  {
636  return _grad_phi_neighbor;
637  }
const FieldVariablePhiGradient & _grad_phi_neighbor

◆ gradSln()

template<typename OutputType>
const FieldVariableGradient& MooseVariableFV< OutputType >::gradSln ( ) const
inlineoverridevirtual

element gradients

Implements MooseVariableField< OutputType >.

Definition at line 230 of file MooseVariableFV.h.

231  {
232  return _element_data->gradSln(Moose::Current);
233  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ gradSlnNeighbor()

template<typename OutputType>
const FieldVariableGradient& MooseVariableFV< OutputType >::gradSlnNeighbor ( ) const
inlineoverridevirtual

neighbor solution gradients

Implements MooseVariableField< OutputType >.

Definition at line 247 of file MooseVariableFV.h.

248  {
249  return _neighbor_data->gradSln(Moose::Current);
250  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ gradSlnOld()

template<typename OutputType>
const FieldVariableGradient& MooseVariableFV< OutputType >::gradSlnOld ( ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 234 of file MooseVariableFV.h.

235  {
236  return _element_data->gradSln(Moose::Old);
237  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ gradSlnOldNeighbor()

template<typename OutputType>
const FieldVariableGradient& MooseVariableFV< OutputType >::gradSlnOldNeighbor ( ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 251 of file MooseVariableFV.h.

252  {
253  return _neighbor_data->gradSln(Moose::Old);
254  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ hasBlockMaterialProperty()

template<typename T , bool is_ad>
bool BlockRestrictable::hasBlockMaterialProperty ( const std::string &  prop_name)
inherited

Check if a material property is valid for all blocks of this object.

This method returns true if the supplied property name has been declared in a Material object on the block ids for this object.

Template Parameters
TThe type of material property
Parameters
prop_namethe name of the property to query
Returns
true if the property exists for all block ids of the object, otherwise false
See also
Material::hasBlockMaterialProperty

Definition at line 271 of file BlockRestrictable.h.

272 {
273  mooseAssert(_blk_material_data != NULL, "MaterialData pointer is not defined");
274  return hasBlockMaterialPropertyHelper(prop_name) &&
275  _blk_material_data->haveGenericProperty<T, is_ad>(prop_name);
276 }
bool haveGenericProperty(const std::string &prop_name) const
Definition: MaterialData.h:253
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
virtual bool hasBlockMaterialPropertyHelper(const std::string &prop_name)
A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.

◆ hasBlockMaterialPropertyHelper()

bool BlockRestrictable::hasBlockMaterialPropertyHelper ( const std::string &  prop_name)
protectedvirtualinherited

A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.

It also avoid circular #include problems.

See also
hasBlockMaterialProperty

Definition at line 285 of file BlockRestrictable.C.

Referenced by BlockRestrictable::hasBlockMaterialProperty().

286 {
287 
288  // Reference to MaterialWarehouse for testing and retrieving block ids
290 
291  // Complete set of ids that this object is active
292  const std::set<SubdomainID> & ids = blockRestricted() ? blockIDs() : meshBlockIDs();
293 
294  // Loop over each id for this object
295  for (const auto & id : ids)
296  {
297  // Storage of material properties that have been DECLARED on this id
298  std::set<std::string> declared_props;
299 
300  // If block materials exist, populated the set of properties that were declared
301  if (warehouse.hasActiveBlockObjects(id))
302  {
303  const std::vector<std::shared_ptr<MaterialBase>> & mats = warehouse.getActiveBlockObjects(id);
304  for (const auto & mat : mats)
305  {
306  const std::set<std::string> & mat_props = mat->getSuppliedItems();
307  declared_props.insert(mat_props.begin(), mat_props.end());
308  }
309  }
310 
311  // If the supplied property is not in the list of properties on the current id, return false
312  if (declared_props.find(prop_name) == declared_props.end())
313  return false;
314  }
315 
316  // If you get here the supplied property is defined on all blocks
317  return true;
318 }
bool hasActiveBlockObjects(THREAD_ID tid=0) const
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
MaterialBase objects are special in that they have additional objects created automatically (see FEPr...
const MaterialWarehouse & getMaterialWarehouse() const
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.

◆ hasBlocks() [1/6]

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 209 of file BlockRestrictable.C.

Referenced by LinearFVFluxKernel::addMatrixContribution(), DiracKernelBase::addPoint(), LinearFVFluxKernel::addRightHandSideContribution(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), DomainUserObject::checkVariable(), ComputeJacobianThread::compute(), ComboMarker::computeElementMarker(), GradientJumpIndicator::computeQpIntegral(), ProjectionAux::computeValue(), DomainUserObject::DomainUserObject(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MeshDivisionFunctorReductionVectorPostprocessor::hasBlocks(), BlockRestrictable::hasBlocks(), MooseVariableField< Real >::hasBlocks(), FVFluxKernel::hasFaceSide(), IndicatorMarker::IndicatorMarker(), NodePositions::initialize(), ParsedDownSelectionPositions::initialize(), UpdateErrorVectorsThread::onElement(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), and BlockRestrictionDebugOutput::printBlockRestrictionMap().

210 {
211  // Create a vector and utilize the getSubdomainIDs function, which
212  // handles the ANY_BLOCK_ID (getSubdomainID does not)
213  std::vector<SubdomainName> names(1);
214  names[0] = name;
215  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
216 }
std::string name(const ElemQuality q)
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_names) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1734
const MooseMesh * _blk_mesh
Pointer to Mesh.
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasBlocks() [2/6]

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 219 of file BlockRestrictable.C.

220 {
221  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
222 }
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_names) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1734
const MooseMesh * _blk_mesh
Pointer to Mesh.
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasBlocks() [3/6]

bool BlockRestrictable::hasBlocks ( const std::set< SubdomainName > &  names) const
inherited

Test if the supplied set of block names are valid for this object.

Parameters
namesA set of SubdomainNames to check
Returns
True if the given ids are valid for this object

Definition at line 225 of file BlockRestrictable.C.

226 {
227  return hasBlocks(_blk_mesh->getSubdomainIDs(names));
228 }
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_names) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1734
const MooseMesh * _blk_mesh
Pointer to Mesh.
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasBlocks() [4/6]

bool BlockRestrictable::hasBlocks ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the supplied vector block ids are valid for this object.

Parameters
idsA vector of SubdomainIDs ids to check
Returns
True if all of the given ids are found within the ids for this object

Definition at line 240 of file BlockRestrictable.C.

241 {
242  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
243  return hasBlocks(ids_set);
244 }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasBlocks() [5/6]

bool BlockRestrictable::hasBlocks ( const std::set< SubdomainID > &  ids) const
inherited

Test if the supplied set of block ids are valid for this object.

Parameters
idsA std::set of SubdomainIDs to check
Returns
True if all of the given ids are found within the ids for this object
See also
isSubset

Definition at line 247 of file BlockRestrictable.C.

248 {
249  if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
250  return true;
251  else
252  return std::includes(_blk_ids.begin(), _blk_ids.end(), ids.begin(), ids.end());
253 }
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)

◆ hasBlocks() [6/6]

template<typename OutputType>
bool MooseVariableField< OutputType >::hasBlocks ( const SubdomainID  ) const
inlineoverridevirtualinherited

Returns whether the functor is defined on this block.

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 400 of file MooseVariableField.h.

Referenced by Coupleable::checkWritableVar(), InternalSideIndicatorBase::computeIndicator(), GradientJumpIndicator::computeQpIntegral(), FVInterfaceKernel::FVInterfaceKernel(), ComputeLinearFVGreenGaussGradientVolumeThread::operator()(), and FVInterfaceKernel::singleSidedFaceArg().

400 { return BlockRestrictable::hasBlocks(id); }
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.

◆ hasDirichletBC()

template<typename OutputType>
bool MooseVariableFV< OutputType >::hasDirichletBC ( ) const
inline

Returns true if a Dirichlet BC exists on the current face.

This only works if the variable has been initialized on a face with computeFaceValues. Its return value is nonsense if initialized on a single element via computeElemValues.

Definition at line 455 of file MooseVariableFV.h.

456  {
457  return _element_data->hasDirichletBC() || _neighbor_data->hasDirichletBC();
458  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ hasDoFsOnNodes()

template<typename OutputType>
bool MooseVariableFV< OutputType >::hasDoFsOnNodes ( ) const
inlinefinaloverridevirtual

Does this variable have DoFs on nodes.

Returns
true if it does, false if not.

Reimplemented from MooseVariableBase.

Definition at line 158 of file MooseVariableFV.h.

158 { return false; }

◆ hasFaceSide()

bool Moose::FunctorBase< Moose::ADType< OutputType >::type >::hasFaceSide ( const FaceInfo fi,
const bool  fi_elem_side 
) const
overridevirtualinherited

Implements FaceArgInterface.

Definition at line 976 of file MooseFunctor.h.

977 {
978  if (fi_elem_side)
979  return hasBlocks(fi.elem().subdomain_id());
980  else
981  return fi.neighborPtr() && hasBlocks(fi.neighbor().subdomain_id());
982 }
virtual bool hasBlocks(SubdomainID) const
Returns whether the functor is defined on this block.
Definition: MooseFunctor.h:237
const Elem & elem() const
Definition: FaceInfo.h:81
const Elem * neighborPtr() const
Definition: FaceInfo.h:84
const Elem & neighbor() const
Definition: FaceInfo.h:216

◆ initializeBlockRestrictable()

void BlockRestrictable::initializeBlockRestrictable ( const MooseObject moose_object)
protectedinherited

An initialization routine needed for dual constructors.

Definition at line 74 of file BlockRestrictable.C.

Referenced by BlockRestrictable::BlockRestrictable().

75 {
76  // If the mesh pointer is not defined, but FEProblemBase is, get it from there
77  if (_blk_feproblem != NULL && _blk_mesh == NULL)
79 
80  // Check that the mesh pointer was defined, it is required for this class to operate
81  if (_blk_mesh == NULL)
82  mooseError("The input parameters must contain a pointer to FEProblem via '_fe_problem' or a "
83  "pointer to the MooseMesh via '_mesh'");
84 
85  // Populate the MaterialData pointer
86  if (_blk_feproblem != NULL)
88 
89  // The 'block' input is defined
90  if (moose_object->isParamValid("block"))
91  {
92  // Extract the blocks from the input
93  _blocks = moose_object->getParam<std::vector<SubdomainName>>("block");
94 
95  // Store the IDs in a set, handling ANY_BLOCK_ID if supplied
96  if (std::find(_blocks.begin(), _blocks.end(), "ANY_BLOCK_ID") != _blocks.end())
98  else
99  {
100  // Get the IDs from the supplied names
102  _blk_ids.insert(_vec_ids.begin(), _vec_ids.end());
103  }
104  }
105 
106  // When 'blocks' is not set and there is a "variable", use the blocks from the variable
107  else if (moose_object->isParamValid("variable"))
108  {
109  std::string variable_name = moose_object->parameters().getMooseType("variable");
110  if (!variable_name.empty())
112  ->getVariable(_blk_tid,
113  variable_name,
116  .activeSubdomains();
117  }
118 
119  // Produce error if the object is not allowed to be both block and boundary restricted
120  if (!_blk_dual_restrictable && !_boundary_ids.empty() && !_boundary_ids.empty())
121  if (!_boundary_ids.empty() && _boundary_ids.find(Moose::ANY_BOUNDARY_ID) == _boundary_ids.end())
122  moose_object->paramError("block",
123  "Attempted to restrict the object '",
124  _blk_name,
125  "' to a block, but the object is already restricted by boundary");
126 
127  // If no blocks were defined above, specify that it is valid on all blocks
128  if (_blk_ids.empty() && !moose_object->isParamValid("boundary"))
129  {
131  _blocks = {"ANY_BLOCK_ID"};
132  }
133 
134  // If this object is block restricted, check that defined blocks exist on the mesh
135  if (_blk_ids.find(Moose::ANY_BLOCK_ID) == _blk_ids.end())
136  {
137  const std::set<SubdomainID> & valid_ids = _blk_mesh->meshSubdomains();
138  std::vector<SubdomainID> diff;
139 
140  std::set_difference(_blk_ids.begin(),
141  _blk_ids.end(),
142  valid_ids.begin(),
143  valid_ids.end(),
144  std::back_inserter(diff));
145 
146  if (!diff.empty())
147  {
148  std::ostringstream msg;
149  auto sep = " ";
150  msg << "the following blocks (ids) do not exist on the mesh:";
151  for (const auto & id : diff)
152  {
153  if (_blk_name.size() > 0)
154  {
155  auto & name =
156  _blocks.at(std::find(_vec_ids.begin(), _vec_ids.end(), id) - _vec_ids.begin());
157  if (std::to_string(id) != name)
158  msg << sep << name << " (" << id << ")";
159  else
160  msg << sep << id;
161  }
162  else
163  msg << sep << id;
164  sep = ", ";
165  }
166  std::vector<SubdomainID> valid_ids_vec(valid_ids.begin(), valid_ids.end());
167  auto valid_names = _blk_mesh->getSubdomainNames(valid_ids_vec);
168  msg << "\nBlocks names (resp. ids) that do exist: " << Moose::stringify(valid_names) << " ("
169  << Moose::stringify(valid_ids) << ")";
170  moose_object->paramError("block", msg.str());
171  }
172  }
173 
174  // Get the mesh dimension for the blocks
175  if (blockRestricted())
177  else
179 }
std::string name(const ElemQuality q)
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class...
unsigned int _blk_dim
Largest mesh dimension of the elements in the blocks for this object.
const bool _blk_dual_restrictable
Flag for allowing dual restriction.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:302
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
MaterialData & getMaterialData(Moose::MaterialDataType type, const THREAD_ID tid=0) const
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_names) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition: MooseMesh.C:1734
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
std::vector< SubdomainID > _vec_ids
Vector of block ids supplied by the user via the input file (for error reporting) ...
virtual unsigned int dimension() const
Returns MeshBase::mesh_dimension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh me...
Definition: MooseMesh.C:2923
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
THREAD_ID _blk_tid
Thread id for this object.
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
std::vector< SubdomainName > getSubdomainNames(const std::vector< SubdomainID > &subdomain_ids) const
Get the associated subdomainNames for the subdomain ids that are passed in.
Definition: MooseMesh.C:1764
const MooseMesh * _blk_mesh
Pointer to Mesh.
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
unsigned int getBlocksMaxDimension(const std::vector< SubdomainName > &blocks) const
Returns the maximum element dimension on the given blocks.
Definition: MooseMesh.C:2944
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
virtual MooseMesh & mesh() override
const std::set< BoundaryID > & _boundary_ids
Reference to the boundary_ids, defaults to an empty set if not provided.
const InputParameters & parameters() const
Get the parameters of the object.
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::string & _blk_name
Name of the object.
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:21
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:3166

◆ initialSetup()

template<typename OutputType >
void MooseVariableFV< OutputType >::initialSetup ( )
overridevirtual

Gets called at the beginning of the simulation before this object is asked to do its job.

Reimplemented from MooseVariableBase.

Definition at line 847 of file MooseVariableFV.h.

848 {
852 }
void determineBoundaryToFluxBCMap()
Setup the boundary to Flux BC map.
void determineBoundaryToDirichletBCMap()
Setup the boundary to Dirichlet BC map.
void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...

◆ insert()

template<typename OutputType>
void MooseVariableFV< OutputType >::insert ( libMesh::NumericVector< libMesh::Number > &  vector)
overridevirtual

Insert the currently cached degree of freedom values into the provided vector.

Implements MooseVariableFieldBase.

Definition at line 141 of file MooseVariableFV.C.

142 {
143  _element_data->insert(residual);
144 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ insertLower()

template<typename OutputType>
void MooseVariableFV< OutputType >::insertLower ( libMesh::NumericVector< libMesh::Number > &  vector)
overridevirtual

Insert the currently cached degree of freedom values for a lower-dimensional element into the provided vector.

Implements MooseVariableFieldBase.

Definition at line 148 of file MooseVariableFV.C.

149 {
150  lowerDError();
151 }
void lowerDError() const
Emit an error message for unsupported lower-d ops.

◆ isArray()

template<typename OutputType >
bool MooseVariableField< OutputType >::isArray ( ) const
overridevirtualinherited
Returns
whether this is an array variable

Reimplemented from MooseVariableBase.

Definition at line 86 of file MooseVariableField.C.

87 {
88  const auto is_array = MooseVariableBase::isArray();
89  if (std::is_same<OutputType, RealEigenVector>::value != is_array)
90  mooseError("A variable is marked as an array variable in a base class, but in a derived class "
91  "the output type is not consistent.");
92  return is_array;
93 }
virtual bool isArray() const
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ isBlockSubset() [1/2]

bool BlockRestrictable::isBlockSubset ( const std::set< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::set of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 256 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), BlockRestrictable::isBlockSubset(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), and ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux().

257 {
258  // An empty input is assumed to be ANY_BLOCK_ID
259  if (ids.empty() || ids.find(Moose::ANY_BLOCK_ID) != ids.end())
260  return true;
261 
262  if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
263  return std::includes(ids.begin(),
264  ids.end(),
265  _blk_mesh->meshSubdomains().begin(),
266  _blk_mesh->meshSubdomains().end());
267  else
268  return std::includes(ids.begin(), ids.end(), _blk_ids.begin(), _blk_ids.end());
269 }
const MooseMesh * _blk_mesh
Pointer to Mesh.
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:19
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:3166

◆ isBlockSubset() [2/2]

bool BlockRestrictable::isBlockSubset ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::vector of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 272 of file BlockRestrictable.C.

273 {
274  std::set<SubdomainID> ids_set(ids.begin(), ids.end());
275  return isBlockSubset(ids_set);
276 }
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.

◆ isConstant()

virtual bool Moose::FunctorBase< Moose::ADType< OutputType >::type >::isConstant ( ) const
inlinevirtualinherited

Returns true if this functor is a constant.

Definition at line 260 of file MooseFunctor.h.

260 { return false; }

◆ isDirichletBoundaryFace()

template<typename OutputType >
bool MooseVariableFV< OutputType >::isDirichletBoundaryFace ( const FaceInfo fi,
const Elem *  elem,
const Moose::StateArg state 
) const
virtual

Determine whether a specified face side is a Dirichlet boundary face.

In the base implementation we only inspect the face information object for whether there are Dirichlet conditions. However, derived classes may allow discontinuities between + and - side face values, e.g. one side may have a Dirichlet condition and the other side may perform extrapolation to determine its value

Parameters
fiThe face information object
elemAn element that can be used to indicate sidedness of the face
stateThe state at which to determine whether the face is a Dirichlet face or not
Returns
Whether the potentially sided (as indicated by elem) fi is a Dirichlet boundary face for this variable

Definition at line 473 of file MooseVariableFV.C.

476 {
477  const auto & pr = getDirichletBC(fi);
478 
479  // First member of this pair indicates whether we have a DirichletBC
480  return pr.first;
481 }
std::pair< bool, const FVDirichletBCBase * > getDirichletBC(const FaceInfo &fi) const

◆ isExtrapolatedBoundaryFace()

template<typename OutputType >
bool MooseVariableFV< OutputType >::isExtrapolatedBoundaryFace ( const FaceInfo fi,
const Elem *  elem,
const Moose::StateArg state 
) const
overrideprotectedvirtual

Returns whether this is an extrapolated boundary face.

An extrapolated boundary face is boundary face for which is not a corresponding Dirichlet condition, e.g. we need to compute some approximation for the boundary face value using the adjacent cell centroid information. In the base implementation we only inspect the face information object for whether we should perform extrapolation. However, derived classes may allow discontinuities between + and - side face values, e.g. one side may have a Dirichlet condition and the other side may perform extrapolation to determine its value

Parameters
fiThe face information object
elemAn element that can be used to indicate sidedness of the face
stateThe state at which to determine whether the face is extrapolated or not
Returns
Whether the potentially sided (as indicated by elem) fi is an extrapolated boundary face for this variable

Reimplemented from Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 504 of file MooseVariableFV.C.

507 {
508  if (isDirichletBoundaryFace(fi, elem, state))
509  return false;
510  else
511  return !this->isInternalFace(fi);
512 }
virtual bool isDirichletBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const
Determine whether a specified face side is a Dirichlet boundary face.
bool isInternalFace(const FaceInfo &) const
Returns true if the face is an internal face.
Definition: MooseFunctor.h:569

◆ isFV()

template<typename OutputType>
virtual bool MooseVariableFV< OutputType >::isFV ( ) const
inlineoverridevirtual

Reimplemented from MooseVariableFieldBase.

Definition at line 94 of file MooseVariableFV.h.

94 { return true; }

◆ isInternalFace()

bool Moose::FunctorBase< Moose::ADType< OutputType >::type >::isInternalFace ( const FaceInfo fi) const
inherited

Returns true if the face is an internal face.

Definition at line 569 of file MooseFunctor.h.

570 {
571  if (!fi.neighborPtr())
572  return false;
573 
574  return hasBlocks(fi.elem().subdomain_id()) && hasBlocks(fi.neighborPtr()->subdomain_id());
575 }
virtual bool hasBlocks(SubdomainID) const
Returns whether the functor is defined on this block.
Definition: MooseFunctor.h:237
const Elem & elem() const
Definition: FaceInfo.h:81
const Elem * neighborPtr() const
Definition: FaceInfo.h:84

◆ isLowerD()

bool MooseVariableBase::isLowerD ( ) const
inlineinherited
Returns
whether this variable lives on lower dimensional blocks

Definition at line 189 of file MooseVariableBase.h.

189 { return _is_lower_d; }
bool _is_lower_d
Whether this variable lives on lower dimensional blocks.

◆ isNodal()

template<typename OutputType>
virtual bool MooseVariableFV< OutputType >::isNodal ( ) const
inlinefinaloverridevirtual

Is this variable nodal.

Returns
true if it nodal, otherwise false

Reimplemented from MooseVariableBase.

Definition at line 156 of file MooseVariableFV.h.

156 { return false; }

◆ isNodalDefined()

template<typename OutputType>
virtual bool MooseVariableFV< OutputType >::isNodalDefined ( ) const
inlinefinaloverridevirtual

Is this variable defined at nodes.

Returns
true if it the variable is defined at nodes, otherwise false

Implements MooseVariableFieldBase.

Definition at line 165 of file MooseVariableFV.h.

165 { return false; }

◆ isParamSetByUser()

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

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

Parameters
nmThe name of the parameter to test

Definition at line 128 of file MooseBaseParameterInterface.h.

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

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

◆ isParamValid()

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

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 122 of file MooseBaseParameterInterface.h.

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

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

◆ isVector()

template<typename OutputType >
bool MooseVariableField< OutputType >::isVector ( ) const
overridevirtualinherited
Returns
true if this is a vector-valued element, false otherwise.

Implements MooseVariableFieldBase.

Definition at line 97 of file MooseVariableField.C.

98 {
99  return std::is_same<OutputType, RealVectorValue>::value;
100 }

◆ jacobianSetup()

template<typename OutputType >
void MooseVariableFV< OutputType >::jacobianSetup ( )
overridevirtual

Reimplemented from MooseVariableField< OutputType >.

Definition at line 696 of file MooseVariableFV.C.

697 {
698  clearCaches();
699 }
void clearCaches()
clear finite volume caches

◆ kind()

Moose::VarKindType MooseVariableBase::kind ( ) const
inlineinherited

◆ lowerDError()

template<typename OutputType >
void MooseVariableFV< OutputType >::lowerDError ( ) const
private

Emit an error message for unsupported lower-d ops.

Definition at line 882 of file MooseVariableFV.h.

883 {
884  mooseError("Lower dimensional element support not implemented for finite volume variables");
885 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ matrixTagValue()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::matrixTagValue ( TagID  tag) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 213 of file MooseVariableFV.h.

214  {
215  return _element_data->matrixTagValue(tag);
216  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ matrixTagValueNeighbor()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::matrixTagValueNeighbor ( TagID  tag)
inline

Definition at line 221 of file MooseVariableFV.h.

222  {
223  return _neighbor_data->matrixTagValue(tag);
224  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ meshBlockIDs()

const std::set< SubdomainID > & BlockRestrictable::meshBlockIDs ( ) const
inherited

Return all of the SubdomainIDs for the mesh.

Returns
A set of all subdomians for the entire mesh

Definition at line 279 of file BlockRestrictable.C.

Referenced by BlockRestrictable::checkVariable(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), BlockRestrictable::getBlockCoordSystem(), BlockRestrictable::hasBlockMaterialPropertyHelper(), and SolutionIC::initialSetup().

280 {
281  return _blk_mesh->meshSubdomains();
282 }
const MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition: MooseMesh.C:3166

◆ meshChanged()

template<typename OutputType >
void MooseVariableFV< OutputType >::meshChanged ( )
overridevirtual

Called on this object when the mesh changes.

Reimplemented from MeshChangedInterface.

Definition at line 856 of file MooseVariableFV.h.

857 {
858  _prev_elem = nullptr;
859  _dirichlet_map_setup = false;
860  _flux_map_setup = false;
862 }
virtual void meshChanged()
Called on this object when the mesh changes.
bool _dirichlet_map_setup
Whether the boundary to Dirichlet cache map has been setup yet.
bool _flux_map_setup
Whether the boundary to fluxBC cache map has been setup yet.
const Elem * _prev_elem
A member used to help determine when we can return cached data as opposed to computing new data...

◆ mooseDeprecated()

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

Definition at line 91 of file MooseBaseErrorInterface.h.

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

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

◆ mooseDocumentedError()

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

Emits a documented error with object name and type.

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

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

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

Definition at line 61 of file MooseBaseErrorInterface.h.

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

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

◆ mooseError()

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

Emits an error prefixed with object name and type.

Definition at line 29 of file MooseBaseErrorInterface.h.

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

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

◆ mooseErrorNonPrefixed()

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

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

Definition at line 40 of file MooseBaseErrorInterface.h.

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

◆ mooseInfo()

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

Definition at line 98 of file MooseBaseErrorInterface.h.

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

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

◆ mooseWarning()

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

Emits a warning prefixed with object name and type.

Definition at line 75 of file MooseBaseErrorInterface.h.

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

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

◆ mooseWarningNonPrefixed()

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

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

Definition at line 85 of file MooseBaseErrorInterface.h.

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

◆ name()

const std::string& MooseVariableBase::name ( ) const
inlineoverridevirtualinherited

Get the variable name.

Reimplemented from MooseBase.

Definition at line 72 of file MooseVariableBase.h.

Referenced by SetupResidualDebugAction::act(), DiffusionLHDGKernel::additionalROVariables(), IPHDGAssemblyHelper::additionalROVariables(), InitialConditionWarehouse::addObject(), MooseLinearVariableFV< Real >::adError(), MooseVariableBase::allDofIndices(), ArrayParsedAux::ArrayParsedAux(), SamplerBase::checkForStandardFieldVariableType(), DomainUserObject::checkVariable(), BlockRestrictable::checkVariable(), Coupleable::checkWritableVar(), Coupleable::coupledName(), DebugResidualAux::DebugResidualAux(), GreaterThanLessThanPostprocessor::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), FunctionArrayAux::FunctionArrayAux(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), GapValueAux::GapValueAux(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), DerivativeMaterialInterface< MortarScalarBase >::isNotObjectVariable(), MooseLinearVariableFV< Real >::lowerDError(), MooseVariableBase::MooseVariableBase(), MooseLinearVariableFV< Real >::nodalError(), ParsedODEKernel::ParsedODEKernel(), ConstraintWarehouse::subdomainsCovered(), MooseLinearVariableFV< Real >::timeIntegratorError(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), FVFluxBC::uOnGhost(), and FVFluxBC::uOnUSub().

72 { return _var_name; }
std::string _var_name
Variable name.

◆ needsGradientVectorStorage()

virtual bool MooseVariableFieldBase::needsGradientVectorStorage ( ) const
inlinevirtualinherited

Check if this variable needs a raw vector of gradients at dof-values.

This is mainly used for finite volume variables.

Reimplemented in MooseLinearVariableFV< OutputType >, MooseLinearVariableFV< ComputeValueType >, MooseLinearVariableFV< T >, MooseLinearVariableFV< RealEigenVector >, MooseLinearVariableFV< RealVectorValue >, and MooseLinearVariableFV< Real >.

Definition at line 120 of file MooseVariableFieldBase.h.

120 { return false; }

◆ nodalDofIndex()

template<typename OutputType>
virtual const dof_id_type& MooseVariableFV< OutputType >::nodalDofIndex ( ) const
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 112 of file MooseVariableFV.h.

113  {
114  mooseError("nodalDofIndex not supported by MooseVariableFVBase");
115  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalDofIndexNeighbor()

template<typename OutputType>
virtual const dof_id_type& MooseVariableFV< OutputType >::nodalDofIndexNeighbor ( ) const
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 116 of file MooseVariableFV.h.

117  {
118  mooseError("nodalDofIndexNeighbor not supported by MooseVariableFVBase");
119  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalMatrixTagValue()

template<typename OutputType>
const DoFValue& MooseVariableFV< OutputType >::nodalMatrixTagValue ( TagID  ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 200 of file MooseVariableFV.h.

201  {
202  mooseError("nodalMatrixTagValue not implemented for finite volume variables.");
203  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalValueArray()

template<typename OutputType>
const MooseArray<OutputType>& MooseVariableFV< OutputType >::nodalValueArray ( ) const
inlineoverridevirtual

Methods for retrieving values of variables at the nodes in a MooseArray for AuxKernelBase.

Implements MooseVariableField< OutputType >.

Definition at line 580 of file MooseVariableFV.h.

581  {
582  mooseError("Finite volume variables do not have defined values at nodes.");
583  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalValueOldArray()

template<typename OutputType>
const MooseArray<OutputType>& MooseVariableFV< OutputType >::nodalValueOldArray ( ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 584 of file MooseVariableFV.h.

585  {
586  mooseError("Finite volume variables do not have defined values at nodes.");
587  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalValueOlderArray()

template<typename OutputType>
const MooseArray<OutputType>& MooseVariableFV< OutputType >::nodalValueOlderArray ( ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 588 of file MooseVariableFV.h.

589  {
590  mooseError("Finite volume variables do not have defined values at nodes.");
591  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ nodalVectorTagValue()

template<typename OutputType>
const DoFValue& MooseVariableFV< OutputType >::nodalVectorTagValue ( TagID  ) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 196 of file MooseVariableFV.h.

197  {
198  mooseError("nodalVectorTagValue not implemented for finite volume variables.");
199  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ number()

unsigned int MooseVariableBase::number ( ) const
inlineinherited

Get variable number coming from libMesh.

Returns
the libmesh variable number

Definition at line 52 of file MooseVariableBase.h.

Referenced by AdaptivityAction::act(), Assembly::addJacobianBlock(), Assembly::addJacobianCoupledVarPair(), Assembly::addJacobianLowerD(), Assembly::addJacobianNeighbor(), Assembly::addJacobianNeighborLowerD(), Assembly::addJacobianNonlocal(), EigenProblem::adjustEigenVector(), Assembly::cacheJacobianBlockNonzero(), Assembly::cacheJacobianCoupledVarPair(), Assembly::cacheJacobianMortar(), Assembly::cacheJacobianNeighbor(), Assembly::cacheJacobianNonlocal(), ComputeJacobianThread::compute(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), InternalSideIndicatorBase::computeIndicator(), MassLumpedTimeDerivative::computeJacobian(), TimeDerivative::computeJacobian(), VectorTimeDerivative::computeJacobian(), ScalarKernel::computeJacobian(), Kernel::computeJacobian(), ODEKernel::computeJacobian(), VectorKernel::computeJacobian(), ArrayKernel::computeJacobian(), IntegratedBC::computeJacobian(), VectorIntegratedBC::computeJacobian(), ArrayIntegratedBC::computeJacobian(), EigenKernel::computeJacobian(), NodalEqualValueConstraint::computeJacobian(), NodeElemConstraint::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVFluxBC::computeJacobian(), KernelGrad::computeJacobian(), KernelValue::computeJacobian(), NonlocalKernel::computeJacobian(), NonlocalIntegratedBC::computeJacobian(), MortarConstraint::computeJacobian(), FVFluxKernel::computeJacobian(), NodeFaceConstraint::computeJacobian(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), DGLowerDKernel::computeLowerDResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), NonlocalKernel::computeNonlocalJacobian(), NonlocalIntegratedBC::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalOffDiagJacobian(), NonlocalIntegratedBC::computeNonlocalOffDiagJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), LowerDIntegratedBC::computeOffDiagJacobian(), ADDGKernel::computeOffDiagJacobian(), Kernel::computeOffDiagJacobian(), VectorKernel::computeOffDiagJacobian(), EigenKernel::computeOffDiagJacobian(), ArrayKernel::computeOffDiagJacobian(), IntegratedBC::computeOffDiagJacobian(), VectorIntegratedBC::computeOffDiagJacobian(), VectorNodalBC::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), NodeElemConstraint::computeOffDiagJacobian(), NodalBC::computeOffDiagJacobian(), NonlocalKernel::computeOffDiagJacobian(), NonlocalIntegratedBC::computeOffDiagJacobian(), KernelGrad::computeOffDiagJacobian(), KernelValue::computeOffDiagJacobian(), ADKernelScalarBase::computeOffDiagJacobian(), ADNodalKernel::computeOffDiagJacobian(), NodalKernel::computeOffDiagJacobian(), DGLowerDKernel::computeOffDiagJacobian(), NodeFaceConstraint::computeOffDiagJacobian(), ODEKernel::computeOffDiagJacobianScalar(), NodalScalarKernel::computeOffDiagJacobianScalar(), VectorKernel::computeOffDiagJacobianScalar(), ArrayKernel::computeOffDiagJacobianScalar(), IntegratedBC::computeOffDiagJacobianScalar(), VectorIntegratedBC::computeOffDiagJacobianScalar(), Kernel::computeOffDiagJacobianScalar(), ArrayIntegratedBC::computeOffDiagJacobianScalar(), ScalarLagrangeMultiplier::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), ComputeFullJacobianThread::computeOnBoundary(), ComputeFullJacobianThread::computeOnElement(), ComputeFullJacobianThread::computeOnInterface(), ComputeFullJacobianThread::computeOnInternalFace(), OldEqualValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), ArrayReaction::computeQpOffDiagJacobian(), ArrayTimeDerivative::computeQpOffDiagJacobian(), ArrayDiffusion::computeQpOffDiagJacobian(), ArrayCoupledTimeDerivative::computeQpOffDiagJacobian(), ArrayIntegratedBC::computeQpOffDiagJacobian(), ArrayKernel::computeQpOffDiagJacobian(), ArrayNodalBC::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), TiedValueConstraint::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), ScalarKernel::computeResidual(), FVScalarLagrangeMultiplierInterface::computeResidual(), Kernel::computeResidual(), VectorKernel::computeResidual(), LowerDIntegratedBC::computeResidual(), ArrayKernel::computeResidual(), ODETimeKernel::computeResidual(), ODEKernel::computeResidual(), TimeKernel::computeResidual(), VectorTimeKernel::computeResidual(), ADScalarKernel::computeResidual(), IntegratedBC::computeResidual(), VectorIntegratedBC::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), NodeElemConstraint::computeResidual(), ArrayIntegratedBC::computeResidual(), EigenKernel::computeResidual(), NodalEqualValueConstraint::computeResidual(), ADMortarConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVFluxBC::computeResidual(), MortarConstraint::computeResidual(), KernelValue::computeResidual(), KernelGrad::computeResidual(), FVElementalKernel::computeResidual(), FVFluxKernel::computeResidual(), NodeFaceConstraint::computeResidual(), FVInterfaceKernel::computeResidual(), Kernel::computeResidualAndJacobian(), NodalBC::computeResidualAndJacobian(), IntegratedBC::computeResidualAndJacobian(), MortarScalarBase::computeScalarOffDiagJacobian(), PeriodicSegmentalConstraint::computeScalarQpOffDiagJacobian(), PenaltyPeriodicSegmentalConstraint::computeScalarQpOffDiagJacobian(), DebugResidualAux::computeValue(), ProjectionAux::computeValue(), CoupledForceNodalKernel::CoupledForceNodalKernel(), CoupledForceTempl< is_ad >::CoupledForceTempl(), ScalarCoupleable::coupledScalar(), VariableResidual::execute(), NodalNormalsEvaluator::execute(), NodalNormalsCorner::execute(), NodalNormalsPreprocessor::execute(), FieldSplitPreconditioner::FieldSplitPreconditioner(), InternalSideIndicatorBase::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), BoundsBase::getDoFIndex(), FVBoundaryCondition::hasFaceSide(), HDGKernel::HDGKernel(), LazyCoupleable::init(), NodalNormalsPreprocessor::initialize(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), ArrayKernel::initQpOffDiagJacobian(), LowerBoundNodalKernel::LowerBoundNodalKernel(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), ComputeDiracThread::onElement(), ComputeNodalKernelBCJacobiansThread::onNode(), ComputeNodalKernelJacobiansThread::onNode(), ComputeLinearFVGreenGaussGradientFaceThread::operator()(), ComputeLinearFVGreenGaussGradientVolumeThread::operator()(), Assembly::prepareBlock(), Assembly::prepareBlockNonlocal(), Assembly::prepareJacobianBlock(), Assembly::prepareLowerD(), Assembly::prepareNeighbor(), Assembly::prepareNonlocal(), Assembly::prepareVariable(), Assembly::prepareVariableNonlocal(), MultiAppProjectionTransfer::projectSolution(), MooseVariableScalar::reinit(), AddPeriodicBCAction::setPeriodicVars(), FVInterfaceKernel::setupData(), NonlinearSystemBase::setupScalingData(), MultiAppDofCopyTransfer::transferDofObject(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), FVFluxBC::updateCurrentFace(), UpperBoundNodalKernel::UpperBoundNodalKernel(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and MortarConstraintBase::zeroInactiveLMDofs().

52 { return _var_num; }
unsigned int _var_num
variable number (from libMesh)

◆ numberOfDofs()

template<typename OutputType>
unsigned int MooseVariableFV< OutputType >::numberOfDofs ( ) const
inlinefinaloverridevirtual

Get the number of local DoFs.

Reimplemented from MooseVariableBase.

Definition at line 149 of file MooseVariableFV.h.

149 { return _element_data->numberOfDofs(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ numberOfDofsNeighbor()

template<typename OutputType>
virtual unsigned int MooseVariableFV< OutputType >::numberOfDofsNeighbor ( )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 151 of file MooseVariableFV.h.

152  {
153  mooseError("numberOfDofsNeighbor not supported by MooseVariableFVBase");
154  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ numBlocks()

unsigned int BlockRestrictable::numBlocks ( ) const
inherited

Return the number of blocks for this object.

Returns
The number of subdomains

Definition at line 203 of file BlockRestrictable.C.

Referenced by ElementCentroidPositions::initialize(), and QuadraturePointsPositions::initialize().

204 {
205  return (unsigned int)_blk_ids.size();
206 }
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)

◆ oldestSolutionStateRequested()

template<typename OutputType >
unsigned int MooseVariableFV< OutputType >::oldestSolutionStateRequested ( ) const
finaloverridevirtual

The oldest solution state that is requested for this variable (0 = current, 1 = old, 2 = older, etc).

Implements MooseVariableFieldBase.

Definition at line 710 of file MooseVariableFV.C.

711 {
712  unsigned int state = 0;
713  state = std::max(state, _element_data->oldestSolutionStateRequested());
714  state = std::max(state, _neighbor_data->oldestSolutionStateRequested());
715  return state;
716 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
auto max(const L &left, const R &right)
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ operator()() [1/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const ElemArg elem,
const StateArg state 
) const
inherited

Same as their evaluate overloads with the same arguments but allows for caching implementation.

These are the methods a user will call in their code

Definition at line 597 of file MooseFunctor.h.

598 {
599  if (_always_evaluate)
600  return evaluate(elem, state);
601 
602  mooseAssert(state.state == 0,
603  "Cached evaluations are only currently supported for the current state.");
604 
605  return queryFVArgCache(_elem_arg_to_value, elem);
606 }
ValueType queryFVArgCache(std::map< SpaceArg, ValueType > &cache_data, const SpaceArg &space) const
check a finite volume spatial argument cache and if invalid then evaluate
Definition: MooseFunctor.h:580
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.
std::map< ElemArg, ValueType > _elem_arg_to_value
Map from element arguments to their cached evaluations.
Definition: MooseFunctor.h:555
bool _always_evaluate
Boolean to check if we always need evaluation.
Definition: MooseFunctor.h:517

◆ operator()() [2/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const FaceArg face,
const StateArg state 
) const
inherited

Definition at line 610 of file MooseFunctor.h.

611 {
612  checkFace(face_in);
613 
614  if (_always_evaluate)
615  return evaluate(face_in, state);
616 
617  mooseAssert(state.state == 0,
618  "Cached evaluations are only currently supported for the current state.");
619 
620  return queryFVArgCache(_face_arg_to_value, face_in);
621 }
std::map< FaceArg, ValueType > _face_arg_to_value
Map from face arguments to their cached evaluations.
Definition: MooseFunctor.h:558
void checkFace(const Moose::FaceArg &face) const
Examines the incoming face argument.
Definition: MooseFunctor.h:732
ValueType queryFVArgCache(std::map< SpaceArg, ValueType > &cache_data, const SpaceArg &space) const
check a finite volume spatial argument cache and if invalid then evaluate
Definition: MooseFunctor.h:580
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.
bool _always_evaluate
Boolean to check if we always need evaluation.
Definition: MooseFunctor.h:517

◆ operator()() [3/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const ElemQpArg qp,
const StateArg state 
) const
inherited

Definition at line 656 of file MooseFunctor.h.

657 {
658  if (_always_evaluate)
659  return evaluate(elem_qp, state);
660 
661  const auto elem_id = elem_qp.elem->id();
662  if (elem_id != _current_qp_map_key)
663  {
664  _current_qp_map_key = elem_id;
666  }
667  auto & qp_data = *_current_qp_map_value;
668  const auto qp = elem_qp.qp;
669  const auto * const qrule = elem_qp.qrule;
670  mooseAssert(qrule, "qrule must be non-null");
671 
672  return queryQpCache(qp, *qrule, qp_data, elem_qp, state);
673 }
dof_id_type _current_qp_map_key
Current key for qp map cache.
Definition: MooseFunctor.h:523
std::vector< std::pair< bool, ValueType > > * _current_qp_map_value
Current value for qp map cache.
Definition: MooseFunctor.h:526
ValueType queryQpCache(unsigned int qp, const libMesh::QBase &qrule, std::vector< std::pair< bool, Moose::ADType< OutputType >::type >> &qp_cache_data, const SpaceArg &space, const StateArg &state) const
check a qp cache and if invalid then evaluate
Definition: MooseFunctor.h:626
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.
bool _always_evaluate
Boolean to check if we always need evaluation.
Definition: MooseFunctor.h:517
std::unordered_map< dof_id_type, std::vector< std::pair< bool, ValueType > > > _qp_to_value
Cached element quadrature point functor property evaluations.
Definition: MooseFunctor.h:533

◆ operator()() [4/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const ElemSideQpArg qp,
const StateArg state 
) const
inherited

Definition at line 677 of file MooseFunctor.h.

678 {
679  if (_always_evaluate)
680  return evaluate(elem_side_qp, state);
681 
682  const Elem * const elem = elem_side_qp.elem;
683  mooseAssert(elem, "elem must be non-null");
684  const auto elem_id = elem->id();
685  if (elem_id != _current_side_qp_map_key)
686  {
687  _current_side_qp_map_key = elem_id;
689  }
690  auto & side_qp_data = *_current_side_qp_map_value;
691  const auto side = elem_side_qp.side;
692  const auto qp = elem_side_qp.qp;
693  const auto * const qrule = elem_side_qp.qrule;
694  mooseAssert(qrule, "qrule must be non-null");
695 
696  // Check and see whether we even have sized for this side
697  if (side >= side_qp_data.size())
698  side_qp_data.resize(elem->n_sides());
699 
700  // Ok we were sized enough for our side
701  auto & qp_data = side_qp_data[side];
702  return queryQpCache(qp, *qrule, qp_data, elem_side_qp, state);
703 }
std::unordered_map< dof_id_type, std::vector< std::vector< std::pair< bool, ValueType > > > > _side_qp_to_value
Cached element quadrature point functor property evaluations.
Definition: MooseFunctor.h:552
ValueType queryQpCache(unsigned int qp, const libMesh::QBase &qrule, std::vector< std::pair< bool, Moose::ADType< OutputType >::type >> &qp_cache_data, const SpaceArg &space, const StateArg &state) const
check a qp cache and if invalid then evaluate
Definition: MooseFunctor.h:626
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.
dof_id_type _current_side_qp_map_key
Current key for side-qp map cache.
Definition: MooseFunctor.h:539
std::vector< std::vector< std::pair< bool, ValueType > > > * _current_side_qp_map_value
Current value for side-qp map cache.
Definition: MooseFunctor.h:542
bool _always_evaluate
Boolean to check if we always need evaluation.
Definition: MooseFunctor.h:517

◆ operator()() [5/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const ElemPointArg elem_point,
const StateArg state 
) const
inherited

Definition at line 707 of file MooseFunctor.h.

708 {
709  return evaluate(elem_point, state);
710 }
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.

◆ operator()() [6/6]

FunctorBase< Moose::ADType< OutputType >::type >::ValueType Moose::FunctorBase< Moose::ADType< OutputType >::type >::operator() ( const NodeArg node,
const StateArg state 
) const
inherited

Definition at line 724 of file MooseFunctor.h.

725 {
726  mooseAssert(node.subdomain_ids, "Subdomain IDs must be supplied to the node argument");
727  return evaluate(node, state);
728 }
virtual ValueType evaluate(const ElemArg &elem, const StateArg &state) const=0
Evaluate the functor with a given element.

◆ order()

Order MooseVariableBase::order ( ) const
inherited

Get the order of this variable Note: Order enum can be implicitly converted to unsigned int.

Definition at line 213 of file MooseVariableBase.C.

Referenced by FEProblemBase::checkDisplacementOrders(), AuxScalarKernel::compute(), ScalarInitialCondition::compute(), ADScalarKernel::computeADJacobian(), ODEKernel::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVScalarLagrangeMultiplierConstraint::computeOffDiagJacobian(), ODEKernel::computeOffDiagJacobianScalar(), Kernel::computeOffDiagJacobianScalar(), ScalarLagrangeMultiplier::computeOffDiagJacobianScalar(), MortarScalarBase::computeOffDiagJacobianScalar(), KernelScalarBase::computeOffDiagJacobianScalarLocal(), ArrayDGDiffusion::computeQpJacobian(), DGDiffusion::computeQpJacobian(), DGFunctionDiffusionDirichletBC::computeQpJacobian(), ArrayIntegratedBC::computeQpOffDiagJacobianScalar(), ArrayKernel::computeQpOffDiagJacobianScalar(), ADDGDiffusion::computeQpResidual(), DGDiffusion::computeQpResidual(), DGFunctionDiffusionDirichletBC::computeQpResidual(), ScalarKernel::computeResidual(), ADScalarKernel::computeResidual(), ODETimeKernel::computeResidual(), ODEKernel::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), KernelScalarBase::computeScalarOffDiagJacobianScalar(), MortarScalarBase::computeScalarOffDiagJacobianScalar(), ProjectionAux::computeValue(), ScalarCoupleable::coupledScalarOrder(), MultiAppPostprocessorToAuxScalarTransfer::execute(), FunctionScalarAux::FunctionScalarAux(), GapValueAux::GapValueAux(), ArrayDGDiffusion::initQpResidual(), NodalPatchRecovery::NodalPatchRecovery(), FEProblemBase::projectInitialConditionOnCustomRange(), ProjectionAux::ProjectionAux(), FEProblemBase::projectSolution(), and ScalarComponentIC::ScalarComponentIC().

214 {
215  return _fe_type.order;
216 }
OrderWrapper order
libMesh::FEType _fe_type
The FEType associated with this variable.

◆ paramError()

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

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 255 of file MooseBaseParameterInterface.h.

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

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

◆ parameters()

const InputParameters& MooseBaseParameterInterface::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseBaseParameterInterface.h.

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

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

◆ paramInfo()

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

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 272 of file MooseBaseParameterInterface.h.

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

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

◆ paramWarning()

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

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 265 of file MooseBaseParameterInterface.h.

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

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

◆ phi()

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::phi ( ) const
inlinefinaloverridevirtual

Return the variable's elemental shape functions.

Implements MooseVariableField< OutputType >.

Definition at line 598 of file MooseVariableFV.h.

598 { return _phi; }
const FieldVariablePhiValue & _phi
Shape functions.

◆ phiFace()

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::phiFace ( ) const
inlinefinaloverridevirtual

Return the variable's shape functions on an element face.

Implements MooseVariableField< OutputType >.

Definition at line 613 of file MooseVariableFV.h.

613 { return _phi_face; }
const FieldVariablePhiValue & _phi_face

◆ phiFaceNeighbor()

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::phiFaceNeighbor ( ) const
inlinefinaloverridevirtual

Return the variable's shape functions on a neighboring element face.

Implements MooseVariableField< OutputType >.

Definition at line 620 of file MooseVariableFV.h.

621  {
622  return _phi_face_neighbor;
623  }
const FieldVariablePhiValue & _phi_face_neighbor

◆ phiFaceNeighborSize()

template<typename OutputType>
virtual std::size_t MooseVariableFV< OutputType >::phiFaceNeighborSize ( ) const
inlinefinaloverridevirtual

Return phiFaceNeighbor size.

Implements MooseVariableFieldBase.

Definition at line 123 of file MooseVariableFV.h.

124  {
125  return _phi_face_neighbor.size();
126  }
const FieldVariablePhiValue & _phi_face_neighbor
unsigned int size() const
The number of elements that can currently be stored in the array.
Definition: MooseArray.h:259

◆ phiFaceSize()

template<typename OutputType>
virtual std::size_t MooseVariableFV< OutputType >::phiFaceSize ( ) const
inlinefinaloverridevirtual

Return phiFace size.

Implements MooseVariableFieldBase.

Definition at line 121 of file MooseVariableFV.h.

121 { return _phi_face.size(); }
unsigned int size() const
The number of elements that can currently be stored in the array.
Definition: MooseArray.h:259
const FieldVariablePhiValue & _phi_face

◆ phiLower()

template<typename OutputType >
const MooseVariableFV< OutputType >::FieldVariablePhiValue & MooseVariableFV< OutputType >::phiLower ( ) const
overridevirtual

Return the variable's shape functions on a lower-dimensional element.

Implements MooseVariableField< OutputType >.

Definition at line 875 of file MooseVariableFV.h.

876 {
877  lowerDError();
878 }
void lowerDError() const
Emit an error message for unsupported lower-d ops.

◆ phiLowerSize()

template<typename OutputType>
virtual std::size_t MooseVariableFV< OutputType >::phiLowerSize ( ) const
inlinefinaloverridevirtual

Return the number of shape functions on the lower dimensional element for this variable.

Implements MooseVariableFieldBase.

Definition at line 127 of file MooseVariableFV.h.

128  {
129  mooseError("phiLowerSize not supported by MooseVariableFVBase");
130  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ phiNeighbor()

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::phiNeighbor ( ) const
inlinefinaloverridevirtual

Return the variable's shape functions on a neighboring element.

Implements MooseVariableField< OutputType >.

Definition at line 633 of file MooseVariableFV.h.

633 { return _phi_neighbor; }
const FieldVariablePhiValue & _phi_neighbor

◆ phiNeighborSize()

template<typename OutputType>
virtual std::size_t MooseVariableFV< OutputType >::phiNeighborSize ( ) const
inlinefinaloverridevirtual

Return phiNeighbor size.

Implements MooseVariableFieldBase.

Definition at line 122 of file MooseVariableFV.h.

122 { return _phi_neighbor.size(); }
unsigned int size() const
The number of elements that can currently be stored in the array.
Definition: MooseArray.h:259
const FieldVariablePhiValue & _phi_neighbor

◆ phiSize()

template<typename OutputType>
virtual std::size_t MooseVariableFV< OutputType >::phiSize ( ) const
inlinefinaloverridevirtual

Return phi size.

Implements MooseVariableFieldBase.

Definition at line 120 of file MooseVariableFV.h.

120 { return _phi.size(); }
unsigned int size() const
The number of elements that can currently be stored in the array.
Definition: MooseArray.h:259
const FieldVariablePhiValue & _phi
Shape functions.

◆ prepare()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::prepare ( )
inlinefinaloverridevirtual

Prepare the elemental degrees of freedom.

Implements MooseVariableFieldBase.

Definition at line 102 of file MooseVariableFV.h.

102 {}

◆ prepareAux()

template<typename OutputType >
void MooseVariableFV< OutputType >::prepareAux ( )
finaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 851 of file MooseVariableFV.C.

852 {
853  _element_data->prepareAux();
854  _neighbor_data->prepareAux();
855 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ prepareIC()

template<typename OutputType >
void MooseVariableFV< OutputType >::prepareIC ( )
overridevirtual

Prepare the initial condition.

Implements MooseVariableFieldBase.

Definition at line 302 of file MooseVariableFV.C.

303 {
304  _element_data->prepareIC();
305 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ prepareLowerD()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::prepareLowerD ( )
inlinefinaloverridevirtual

Prepare a lower dimensional element's degrees of freedom.

Implements MooseVariableFieldBase.

Definition at line 110 of file MooseVariableFV.h.

110 {}

◆ prepareNeighbor()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::prepareNeighbor ( )
inlinefinaloverridevirtual

Prepare the neighbor element degrees of freedom.

Implements MooseVariableFieldBase.

Definition at line 103 of file MooseVariableFV.h.

103 {}

◆ queryParam()

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

Query a parameter for the object.

If the parameter is not valid, nullptr will be returned

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

Definition at line 222 of file MooseBaseParameterInterface.h.

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

◆ reinitAux()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::reinitAux ( )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 108 of file MooseVariableFV.h.

108 {}

◆ reinitAuxNeighbor()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::reinitAuxNeighbor ( )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 109 of file MooseVariableFV.h.

109 {}

◆ reinitNode()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::reinitNode ( )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 105 of file MooseVariableFV.h.

105 {}

◆ reinitNodes()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::reinitNodes ( const std::vector< dof_id_type > &  )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 106 of file MooseVariableFV.h.

106 {}

◆ reinitNodesNeighbor()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::reinitNodesNeighbor ( const std::vector< dof_id_type > &  )
inlinefinaloverridevirtual

Implements MooseVariableFieldBase.

Definition at line 107 of file MooseVariableFV.h.

107 {}

◆ requireQpComputations()

template<typename OutputType>
virtual void MooseVariableFV< OutputType >::requireQpComputations ( ) const
inlinevirtual

Request that quadrature point data be (pre)computed.

Quadrature point data is (pre)computed by default for this base class but derived variable classes may choose not to unless this API is called

Definition at line 486 of file MooseVariableFV.h.

Referenced by FVTimeKernel::FVTimeKernel().

486 {}

◆ residualSetup()

template<typename OutputType >
void MooseVariableFV< OutputType >::residualSetup ( )
overridevirtual

Reimplemented from MooseVariableField< OutputType >.

Definition at line 684 of file MooseVariableFV.C.

685 {
688  if (!_flux_map_setup)
690 
691  clearCaches();
692 }
void determineBoundaryToFluxBCMap()
Setup the boundary to Flux BC map.
void determineBoundaryToDirichletBCMap()
Setup the boundary to Dirichlet BC map.
void clearCaches()
clear finite volume caches
bool _dirichlet_map_setup
Whether the boundary to Dirichlet cache map has been setup yet.
bool _flux_map_setup
Whether the boundary to fluxBC cache map has been setup yet.

◆ scalingFactor() [1/2]

void MooseVariableBase::scalingFactor ( const std::vector< Real > &  factor)
inherited

Set the scaling factor for this variable.

Definition at line 239 of file MooseVariableBase.C.

Referenced by ADScalarKernel::computeADJacobian(), ADDGKernel::computeElemNeighJacobian(), FVScalarLagrangeMultiplierInterface::computeJacobian(), DiffusionLHDGDirichletBC::computeJacobian(), DiffusionLHDGPrescribedGradientBC::computeJacobian(), DiffusionLHDGKernel::computeJacobian(), ADNodeElemConstraint::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVFluxBC::computeJacobian(), ADMortarConstraint::computeJacobian(), FVElementalKernel::computeJacobian(), ADKernelScalarBase::computeJacobian(), NodalKernel::computeJacobian(), ADNodalKernel::computeJacobian(), FVFluxKernel::computeJacobian(), ADMortarScalarBase::computeJacobian(), NodalConstraint::computeJacobian(), FVInterfaceKernel::computeJacobian(), DiffusionLHDGKernel::computeJacobianOnSide(), ADDGKernel::computeOffDiagElemNeighJacobian(), FVScalarLagrangeMultiplierConstraint::computeOffDiagJacobian(), NodalKernel::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), KernelScalarBase::computeOffDiagJacobianScalarLocal(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), FVScalarLagrangeMultiplierInterface::computeResidual(), DiffusionLHDGKernel::computeResidual(), DiffusionLHDGDirichletBC::computeResidual(), DiffusionLHDGPrescribedGradientBC::computeResidual(), ADNodeElemConstraint::computeResidual(), TimeNodalKernel::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), NodalKernel::computeResidual(), ADNodalKernel::computeResidual(), ADKernelScalarBase::computeResidual(), NodalConstraint::computeResidual(), ADMortarScalarBase::computeResidual(), MortarScalarBase::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidualAndJacobian(), FVElementalKernel::computeResidualAndJacobian(), ADKernelScalarBase::computeResidualAndJacobian(), DiffusionLHDGKernel::computeResidualOnSide(), MortarScalarBase::computeScalarJacobian(), KernelScalarBase::computeScalarJacobian(), MortarScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobianScalar(), MortarScalarBase::computeScalarOffDiagJacobianScalar(), KernelScalarBase::computeScalarResidual(), ScalarTagMatrixAux::computeValue(), TagVectorAux::computeValue(), ScalarTagVectorAux::computeValue(), TagMatrixAux::computeValue(), ReferenceResidualConvergence::initialSetup(), and IPHDGAssemblyHelper::taggingData().

240 {
241  mooseAssert(factor.size() == _count, "Inconsistent scaling factor size");
242  for (const auto i : make_range(_count))
243  _scaling_factor[i] = factor[i];
244 }
std::vector< Real > _scaling_factor
scaling factor for this variable
const unsigned int _count
Number of variables in the array.
IntRange< T > make_range(T beg, T end)

◆ scalingFactor() [2/2]

Real MooseVariableBase::scalingFactor ( ) const
inlineinherited

Get the scaling factor for this variable.

Definition at line 98 of file MooseVariableBase.h.

Referenced by MooseVariableBase::MooseVariableBase().

98 { return _scaling_factor[0]; }
std::vector< Real > _scaling_factor
scaling factor for this variable

◆ secondPhi()

template<typename OutputType>
const FieldVariablePhiSecond& MooseVariableFV< OutputType >::secondPhi ( ) const
inlinefinaloverridevirtual

Return the rank-2 tensor of second derivatives of the variable's elemental shape functions.

Implements MooseVariableField< OutputType >.

Definition at line 600 of file MooseVariableFV.h.

601  {
602  mooseError("We don't currently implement second derivatives for FV");
603  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ secondPhiFace()

template<typename OutputType>
const FieldVariablePhiSecond& MooseVariableFV< OutputType >::secondPhiFace ( ) const
inlinefinaloverridevirtual

Return the rank-2 tensor of second derivatives of the variable's shape functions on an element face.

Implements MooseVariableField< OutputType >.

Definition at line 615 of file MooseVariableFV.h.

616  {
617  mooseError("We don't currently implement second derivatives for FV");
618  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ secondPhiFaceNeighbor()

template<typename OutputType>
const FieldVariablePhiSecond& MooseVariableFV< OutputType >::secondPhiFaceNeighbor ( ) const
inlinefinaloverridevirtual

Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring element face.

Implements MooseVariableField< OutputType >.

Definition at line 628 of file MooseVariableFV.h.

629  {
630  mooseError("We don't currently implement second derivatives for FV");
631  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ secondPhiNeighbor()

template<typename OutputType>
const FieldVariablePhiSecond& MooseVariableFV< OutputType >::secondPhiNeighbor ( ) const
inlinefinaloverridevirtual

Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring element.

Implements MooseVariableField< OutputType >.

Definition at line 638 of file MooseVariableFV.h.

639  {
640  mooseError("We don't currently implement second derivatives for FV");
641  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ setActiveTags()

template<typename OutputType >
void MooseVariableFV< OutputType >::setActiveTags ( const std::set< TagID > &  vtags)
overridevirtual

Set the active vector tags.

Parameters
vtagsAdditional vector tags that this variable will need to query at dof indices for, in addition to our own required solution tags

Reimplemented from MooseVariableBase.

Definition at line 831 of file MooseVariableFV.h.

832 {
833  _element_data->setActiveTags(vtags);
834  _neighbor_data->setActiveTags(vtags);
835 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ setCacheClearanceSchedule()

void Moose::FunctorBase< Moose::ADType< OutputType >::type >::setCacheClearanceSchedule ( const std::set< ExecFlagType > &  clearance_schedule)
inherited

Set how often to clear the functor evaluation cache.

Definition at line 714 of file MooseFunctor.h.

715 {
716  if (clearance_schedule.count(EXEC_ALWAYS))
717  _always_evaluate = true;
718 
719  _clearance_schedule = clearance_schedule;
720 }
const ExecFlagType EXEC_ALWAYS
Definition: Moose.C:49
bool _always_evaluate
Boolean to check if we always need evaluation.
Definition: MooseFunctor.h:517
std::set< ExecFlagType > _clearance_schedule
How often to clear the material property cache.
Definition: MooseFunctor.h:514

◆ setDofValue()

template<typename OutputType >
void MooseVariableFV< OutputType >::setDofValue ( const OutputData value,
unsigned int  index 
)
overridevirtual

Degree of freedom value setters.

Implements MooseVariableField< OutputType >.

Definition at line 388 of file MooseVariableFV.C.

389 {
390  _element_data->setDofValue(value, index);
391 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ setDofValues()

template<typename OutputType >
void MooseVariableFV< OutputType >::setDofValues ( const DenseVector< OutputData > &  values)
overridevirtual

Set local DOF values and evaluate the values on quadrature points.

Implements MooseVariableField< OutputType >.

Definition at line 395 of file MooseVariableFV.C.

396 {
397  _element_data->setDofValues(values);
398 }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ setLowerDofValues()

template<typename OutputType >
void MooseVariableFV< OutputType >::setLowerDofValues ( const DenseVector< OutputData > &  values)
overridevirtual

Set local DOF values for a lower dimensional element and evaluate the values on quadrature points.

Implements MooseVariableField< OutputType >.

Definition at line 402 of file MooseVariableFV.C.

403 {
404  lowerDError();
405 }
void lowerDError() const
Emit an error message for unsupported lower-d ops.

◆ setNodalValue()

template<typename OutputType>
void MooseVariableFV< OutputType >::setNodalValue ( const OutputType &  value,
unsigned int  idx = 0 
)
overridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 381 of file MooseVariableFV.C.

382 {
383  mooseError("FV variables do not support setNodalValue");
384 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ sln()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::sln ( ) const
inlineoverridevirtual
Returns
the current elemental solution

Implements MooseVariableField< OutputType >.

Definition at line 227 of file MooseVariableFV.h.

227 { return _element_data->sln(Moose::Current); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ slnNeighbor()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::slnNeighbor ( ) const
inlineoverridevirtual
Returns
the current neighbor solution

Implements MooseVariableField< OutputType >.

Definition at line 239 of file MooseVariableFV.h.

240  {
241  return _neighbor_data->sln(Moose::Current);
242  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ slnOld()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::slnOld ( ) const
inlineoverridevirtual
Returns
the old elemental solution, e.g. that of the previous timestep

Implements MooseVariableField< OutputType >.

Definition at line 228 of file MooseVariableFV.h.

228 { return _element_data->sln(Moose::Old); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ slnOlder()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::slnOlder ( ) const
inlineoverridevirtual
Returns
the older elemental solution, e.g. that of two timesteps ago

Implements MooseVariableField< OutputType >.

Definition at line 229 of file MooseVariableFV.h.

229 { return _element_data->sln(Moose::Older); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ slnOldNeighbor()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::slnOldNeighbor ( ) const
inlineoverridevirtual
Returns
the old neighbor solution, e.g. that of the previous timestep

Implements MooseVariableField< OutputType >.

Definition at line 243 of file MooseVariableFV.h.

244  {
245  return _neighbor_data->sln(Moose::Old);
246  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ subdomainSetup()

void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

in a Jacobian or residual loop) and before this object is asked to do its job

Reimplemented in MaterialBase, Material, GeneralUserObject, NodalUserObject, Constraint, and ThreadedGeneralUserObject.

Definition at line 61 of file SetupInterface.C.

62 {
63 }

◆ supportsElemSideQpArg()

template<typename OutputType>
bool MooseVariableFV< OutputType >::supportsElemSideQpArg ( ) const
inlinefinaloverridevirtual

Whether this functor supports evaluation with ElemSideQpArg.

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 505 of file MooseVariableFV.h.

505 { return true; }

◆ supportsFaceArg()

template<typename OutputType>
bool MooseVariableFV< OutputType >::supportsFaceArg ( ) const
inlinefinaloverridevirtual

Whether this functor supports evaluation with FaceArg.

Implements Moose::FunctorBase< Moose::ADType< OutputType >::type >.

Definition at line 504 of file MooseVariableFV.h.

504 { return true; }

◆ sys() [1/2]

SystemBase& MooseVariableBase::sys ( )
inlineinherited

Get the system this variable is part of.

Definition at line 62 of file MooseVariableBase.h.

Referenced by SetupResidualDebugAction::act(), ADDGKernel::ADDGKernel(), FEProblemBase::addInitialCondition(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), MultiAppConservativeTransfer::adjustTransferredSolution(), MultiAppConservativeTransfer::adjustTransferredSolutionNearestPoint(), ADKernelTempl< T >::ADKernelTempl(), ArrayDGKernel::ArrayDGKernel(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), MultiAppGeneralFieldNearestLocationTransfer::buildKDTrees(), MultiAppGeneralFieldShapeEvaluationTransfer::buildMeshFunctions(), InternalSideIndicatorBase::computeIndicator(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVFluxBC::computeJacobian(), FVFluxKernel::computeJacobian(), FVInterfaceKernel::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), FVFluxKernel::computeResidual(), FVInterfaceKernel::computeResidual(), DGKernel::DGKernel(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), InternalSideIndicatorBase::finalize(), FVBoundaryCondition::hasFaceSide(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), IntegratedBC::IntegratedBC(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), Kernel::Kernel(), MooseVariableInterface< Real >::MooseVariableInterface(), NodalBC::NodalBC(), NodalKernel::NodalKernel(), TableOutput::outputScalarVariables(), Exodus::outputScalarVariables(), FEProblemBase::projectInitialConditionOnCustomRange(), MultiAppProjectionTransfer::projectSolution(), FEProblemBase::projectSolution(), MooseVariableScalar::reinit(), FVInterfaceKernel::setupData(), MultiAppDofCopyTransfer::transfer(), MultiAppDofCopyTransfer::transferDofObject(), MultiAppShapeEvaluationTransfer::transferVariable(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), and FVFluxBC::updateCurrentFace().

62 { return _sys; }
SystemBase & _sys
System this variable is part of.

◆ sys() [2/2]

const SystemBase& MooseVariableBase::sys ( ) const
inlineinherited

Get the system this variable is part of.

Definition at line 67 of file MooseVariableBase.h.

67 { return _sys; }
SystemBase & _sys
System this variable is part of.

◆ timestepSetup()

template<typename OutputType >
void MooseVariableFV< OutputType >::timestepSetup ( )
overridevirtual

Reimplemented from MooseVariableField< OutputType >.

Definition at line 866 of file MooseVariableFV.h.

867 {
868  _dirichlet_map_setup = false;
869  _flux_map_setup = false;
871 }
bool _dirichlet_map_setup
Whether the boundary to Dirichlet cache map has been setup yet.
bool _flux_map_setup
Whether the boundary to fluxBC cache map has been setup yet.
virtual void timestepSetup() override

◆ totalVarDofs()

unsigned int MooseVariableBase::totalVarDofs ( )
inlineinherited

Definition at line 83 of file MooseVariableBase.h.

83 { return allDofIndices().size(); }
const std::vector< dof_id_type > & allDofIndices() const
Get all global dofindices for the variable.

◆ type()

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

Get the type of this class.

Returns
the name of the type of this class

Definition at line 51 of file MooseBase.h.

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

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

◆ typeAndName()

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

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

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

Definition at line 27 of file MooseBase.C.

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

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

◆ uDot()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::uDot ( ) const
inline

Definition at line 226 of file MooseVariableFV.h.

226 { return _element_data->uDot(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ uDotNeighbor()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::uDotNeighbor ( ) const
inline

Definition at line 238 of file MooseVariableFV.h.

238 { return _neighbor_data->uDot(); }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

◆ uncorrectedAdGradSln()

template<typename OutputType >
VectorValue< ADReal > MooseVariableFV< OutputType >::uncorrectedAdGradSln ( const FaceInfo fi,
const StateArg state,
const bool  correct_skewness = false 
) const
virtual

Retrieve (or potentially compute) the uncorrected gradient on the provided face.

This uncorrected gradient is a simple linear interpolation between cell gradients computed at the centers of the two neighboring cells. "Correcting" the face gradient involves weighting the gradient stencil more heavily on the solution values on the face-neighbor cells than the linear interpolation process does. This is commonly known as a cross-diffusion correction. Correction is done in adGradSln(const FaceInfo & fi)

Parameters
faceThe face for which to retrieve the gradient
stateState argument which describes at what time / solution iteration state we want to evaluate the variable
correct_skewnessWhether to perform skew corrections

Definition at line 616 of file MooseVariableFV.C.

619 {
620  const bool var_defined_on_elem = this->hasBlocks(fi.elem().subdomain_id());
621  const Elem * const elem_one = var_defined_on_elem ? &fi.elem() : fi.neighborPtr();
622  const Elem * const elem_two = var_defined_on_elem ? fi.neighborPtr() : &fi.elem();
623 
624  const VectorValue<ADReal> elem_one_grad = adGradSln(elem_one, state, correct_skewness);
625 
626  // If we have a neighbor then we interpolate between the two to the face. If we do not, then we
627  // apply a zero Hessian assumption and use the element centroid gradient as the uncorrected face
628  // gradient
629  if (elem_two && this->hasBlocks(elem_two->subdomain_id()))
630  {
631  const VectorValue<ADReal> & elem_two_grad = adGradSln(elem_two, state, correct_skewness);
632 
633  // Uncorrected gradient value
634  return Moose::FV::linearInterpolation(elem_one_grad, elem_two_grad, fi, var_defined_on_elem);
635  }
636  else
637  return elem_one_grad;
638 }
const Elem & elem() const
Definition: FaceInfo.h:81
libMesh::CompareTypes< T, T2 >::supertype linearInterpolation(const T &value1, const T2 &value2, const FaceInfo &fi, const bool one_is_elem, const InterpMethod interp_method=InterpMethod::Average)
A simple linear interpolation of values between cell centers to a cell face.
Definition: MathFVUtils.h:150
const Elem * neighborPtr() const
Definition: FaceInfo.h:84
bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.

◆ uniqueName()

MooseObjectName MooseBaseParameterInterface::uniqueName ( ) const
inlineinherited

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

Definition at line 67 of file MooseBaseParameterInterface.h.

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

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

◆ uniqueParameterName()

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

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

Definition at line 52 of file MooseBaseParameterInterface.h.

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

◆ useDual()

bool MooseVariableBase::useDual ( ) const
inlineinherited

Get dual mortar option.

Definition at line 77 of file MooseVariableBase.h.

Referenced by MortarConstraintBase::MortarConstraintBase().

77 { return _use_dual; }
bool _use_dual
If dual mortar approach is used.

◆ usesGradPhiNeighbor()

template<typename OutputType>
bool MooseVariableField< OutputType >::usesGradPhiNeighbor ( ) const
inlineinherited

Whether or not this variable is actually using the shape function gradient.

Currently hardcoded to true because we always compute the value.

Definition at line 344 of file MooseVariableField.h.

Referenced by Assembly::copyNeighborShapes().

344 { return true; }

◆ usesPhiNeighbor()

template<typename OutputType>
bool MooseVariableField< OutputType >::usesPhiNeighbor ( ) const
inlineinherited

Whether or not this variable is actually using the shape function value.

Currently hardcoded to true because we always compute the value.

Definition at line 337 of file MooseVariableField.h.

Referenced by Assembly::copyNeighborShapes().

337 { return true; }

◆ usesSecondPhiNeighbor()

template<typename OutputType>
bool MooseVariableFV< OutputType >::usesSecondPhiNeighbor ( ) const
inlinefinaloverridevirtual

Whether or not this variable is actually using the shape function second derivatives.

Implements MooseVariableField< OutputType >.

Definition at line 596 of file MooseVariableFV.h.

596 { return false; }

◆ validParams()

template<typename OutputType >
InputParameters MooseVariableFV< OutputType >::validParams ( )
static

Definition at line 34 of file MooseVariableFV.C.

35 {
37  params.set<bool>("fv") = true;
38  params.set<MooseEnum>("family") = "MONOMIAL";
39  params.set<MooseEnum>("order") = "CONSTANT";
40  params.template addParam<bool>(
41  "two_term_boundary_expansion",
42  true,
43  "Whether to use a two-term Taylor expansion to calculate boundary face values. "
44  "If the two-term expansion is used, then the boundary face value depends on the "
45  "adjoining cell center gradient, which itself depends on the boundary face value. "
46  "Consequently an implicit solve is used to simultaneously solve for the adjoining cell "
47  "center gradient and boundary face value(s).");
48  MooseEnum face_interp_method("average skewness-corrected", "average");
49  params.template addParam<MooseEnum>("face_interp_method",
50  face_interp_method,
51  "Switch that can select between face interpolation methods.");
52  params.template addParam<bool>(
53  "cache_cell_gradients", true, "Whether to cache cell gradients or re-compute them.");
54 
55  // Depending on the face interpolation we might have to do more than one layer ghosting.
57  "ElementSideNeighborLayers",
60  [](const InputParameters & obj_params, InputParameters & rm_params)
61  {
62  unsigned short layers = 1;
63  if (obj_params.get<MooseEnum>("face_interp_method") == "skewness-corrected")
64  layers = 2;
65 
66  rm_params.set<unsigned short>("layers") = layers;
67  });
68  return params;
69 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addRelationshipManager(const std::string &name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback input_parameter_callback=nullptr)
Tells MOOSE about a RelationshipManager that this object needs.
static InputParameters validParams()
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33

◆ vectorTagDofValue()

template<typename OutputType>
const DoFValue& MooseVariableFV< OutputType >::vectorTagDofValue ( TagID  tag) const
inlineoverridevirtual

Implements MooseVariableField< OutputType >.

Definition at line 209 of file MooseVariableFV.h.

210  {
211  return _element_data->vectorTagDofValue(tag);
212  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ vectorTagValue()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::vectorTagValue ( TagID  tag) const
inlineoverridevirtual

tag values getters

Implements MooseVariableField< OutputType >.

Definition at line 205 of file MooseVariableFV.h.

206  {
207  return _element_data->vectorTagValue(tag);
208  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _element_data
Holder for all the data associated with the "main" element.

◆ vectorTagValueNeighbor()

template<typename OutputType>
const FieldVariableValue& MooseVariableFV< OutputType >::vectorTagValueNeighbor ( TagID  tag)
inline

Definition at line 217 of file MooseVariableFV.h.

218  {
219  return _neighbor_data->vectorTagValue(tag);
220  }
std::unique_ptr< MooseVariableDataFV< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.

Friends And Related Function Documentation

◆ Moose::initDofIndices

template<typename OutputType>
void Moose::initDofIndices ( MooseVariableFV< OutputType > &  ,
const Elem &   
)
friend

Member Data Documentation

◆ _action_factory

ActionFactory& MooseBaseParameterInterface::_action_factory
protectedinherited

◆ _ad_real_dummy

template<typename OutputType>
ADReal MooseVariableField< OutputType >::_ad_real_dummy = 0
mutableprotectedinherited

A dummy ADReal variable.

Definition at line 412 of file MooseVariableField.h.

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 84 of file MooseBase.h.

◆ _array_var_component_names

std::vector<std::string> MooseVariableBase::_array_var_component_names
protectedinherited

Array variable names when the variable is an array variable.

Definition at line 252 of file MooseVariableBase.h.

Referenced by MooseVariableBase::arrayVariableComponent(), MooseVariableBase::isArray(), and MooseVariableBase::MooseVariableBase().

◆ _assembly

Assembly& MooseVariableBase::_assembly
protectedinherited

◆ _blk_material_data

const MaterialData* BlockRestrictable::_blk_material_data
protectedinherited

Pointer to the MaterialData class for this object.

Definition at line 214 of file BlockRestrictable.h.

Referenced by BlockRestrictable::hasBlockMaterialProperty(), and BlockRestrictable::initializeBlockRestrictable().

◆ _boundary_id_to_dirichlet_bc

template<typename OutputType>
std::unordered_map<BoundaryID, const FVDirichletBCBase *> MooseVariableFV< OutputType >::_boundary_id_to_dirichlet_bc
private

Map from boundary ID to Dirichlet boundary conditions.

Added to speed up Dirichlet BC lookups in getDirichletBC

Definition at line 713 of file MooseVariableFV.h.

◆ _boundary_id_to_flux_bc

template<typename OutputType>
std::unordered_map<BoundaryID, std::vector<const FVFluxBC *> > MooseVariableFV< OutputType >::_boundary_id_to_flux_bc
private

Map from boundary ID to flux boundary conditions.

Added to enable internal separator boundaries.

Definition at line 717 of file MooseVariableFV.h.

◆ _cache_cell_gradients

template<typename OutputType>
const bool MooseVariableFV< OutputType >::_cache_cell_gradients
protected

Whether to cache cell gradients.

Definition at line 736 of file MooseVariableFV.h.

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 31 of file ConsoleStreamInterface.h.

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

◆ _count

const unsigned int MooseVariableBase::_count
protectedinherited

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 78 of file SetupInterface.h.

Referenced by PseudoTimestep::execute().

◆ _dirichlet_map_setup

template<typename OutputType>
bool MooseVariableFV< OutputType >::_dirichlet_map_setup = false
private

Whether the boundary to Dirichlet cache map has been setup yet.

Definition at line 569 of file MooseVariableFV.h.

◆ _dof_indices

std::vector<dof_id_type> MooseVariableBase::_dof_indices
protectedinherited

◆ _dof_map

const libMesh::DofMap& MooseVariableBase::_dof_map
protectedinherited

◆ _elem_to_grad

template<typename OutputType>
std::unordered_map<const Elem *, VectorValue<ADReal> > MooseVariableFV< OutputType >::_elem_to_grad
mutableprotected

A cache for storing gradients on elements.

Definition at line 726 of file MooseVariableFV.h.

◆ _element_data

template<typename OutputType>
std::unique_ptr<MooseVariableDataFV<OutputType> > MooseVariableFV< OutputType >::_element_data
protected

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.

Definition at line 51 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

◆ _face_interp_method

template<typename OutputType>
Moose::FV::InterpMethod MooseVariableFV< OutputType >::_face_interp_method
protected

Decides if an average or skewed corrected average is used for the face interpolation.

Other options are not taken into account here, but at higher, kernel-based levels.

Definition at line 741 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::faceInterpolationMethod(), and MooseVariableFV< Real >::MooseVariableFV().

◆ _factory

Factory& MooseBaseParameterInterface::_factory
protectedinherited

◆ _fe_type

libMesh::FEType MooseVariableBase::_fe_type
protectedinherited

◆ _flux_map_setup

template<typename OutputType>
bool MooseVariableFV< OutputType >::_flux_map_setup = false
private

Whether the boundary to fluxBC cache map has been setup yet.

Definition at line 577 of file MooseVariableFV.h.

◆ _grad_phi

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::_grad_phi
private

Definition at line 699 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::gradPhi().

◆ _grad_phi_face

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::_grad_phi_face
private

Definition at line 701 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::gradPhiFace().

◆ _grad_phi_face_neighbor

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::_grad_phi_face_neighbor
private

Definition at line 703 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::gradPhiFaceNeighbor().

◆ _grad_phi_neighbor

template<typename OutputType>
const FieldVariablePhiGradient& MooseVariableFV< OutputType >::_grad_phi_neighbor
private

Definition at line 705 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::gradPhiNeighbor().

◆ _index

unsigned int MooseVariableBase::_index
protectedinherited

variable number within MOOSE

Definition at line 207 of file MooseVariableBase.h.

◆ _is_eigen

bool MooseVariableBase::_is_eigen
protectedinherited

Whether or not this variable operates on eigen kernels.

Definition at line 210 of file MooseVariableBase.h.

Referenced by MooseVariableBase::eigen().

◆ _is_lower_d

bool MooseVariableBase::_is_lower_d
protectedinherited

Whether this variable lives on lower dimensional blocks.

Definition at line 249 of file MooseVariableBase.h.

Referenced by MooseVariableBase::isLowerD(), and MooseVariableBase::MooseVariableBase().

◆ _mci_feproblem

FEProblemBase& MeshChangedInterface::_mci_feproblem
protectedinherited

Reference to FEProblemBase instance.

Definition at line 34 of file MeshChangedInterface.h.

Referenced by MeshChangedInterface::MeshChangedInterface().

◆ _mesh

MooseMesh& MooseVariableBase::_mesh
protectedinherited

◆ _name

const std::string MooseBase::_name
protectedinherited

The name of this class.

Definition at line 90 of file MooseBase.h.

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

◆ _neighbor_data

template<typename OutputType>
std::unique_ptr<MooseVariableDataFV<OutputType> > MooseVariableFV< OutputType >::_neighbor_data
protected

◆ _pars

const InputParameters& MooseBaseParameterInterface::_pars
protectedinherited

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

Definition at line 173 of file MooseBaseParameterInterface.h.

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

◆ _phi

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::_phi
private

Shape functions.

Definition at line 698 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::phi(), and MooseVariableFV< Real >::phiSize().

◆ _phi_face

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::_phi_face
private

◆ _phi_face_neighbor

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::_phi_face_neighbor
private

◆ _phi_neighbor

template<typename OutputType>
const FieldVariablePhiValue& MooseVariableFV< OutputType >::_phi_neighbor
private

◆ _prev_elem

template<typename OutputType>
const Elem* MooseVariableFV< OutputType >::_prev_elem
mutableprivate

A member used to help determine when we can return cached data as opposed to computing new data.

Definition at line 709 of file MooseVariableFV.h.

◆ _scaling_factor

std::vector<Real> MooseVariableBase::_scaling_factor
protectedinherited

scaling factor for this variable

Definition at line 240 of file MooseVariableBase.h.

Referenced by MooseVariableBase::arrayScalingFactor(), MooseVariableBase::initialSetup(), and MooseVariableBase::scalingFactor().

◆ _solution

template<typename OutputType>
const libMesh::NumericVector<libMesh::Number>* const& MooseVariableFV< OutputType >::_solution
private

The current (ghosted) solution.

Note that this needs to be stored as a reference to a pointer because the solution might not exist at the time that this variable is constructed, so we cannot safely dereference at that time

Definition at line 695 of file MooseVariableFV.h.

◆ _subproblem

SubProblem& MooseVariableBase::_subproblem
protectedinherited

Problem this variable is part of.

Definition at line 216 of file MooseVariableBase.h.

Referenced by MooseVariableScalar::computeAD(), and MooseVariableBase::initialSetup().

◆ _sys

SystemBase& MooseVariableBase::_sys
protectedinherited

◆ _temp_cell_gradient

template<typename OutputType>
VectorValue<ADReal> MooseVariableFV< OutputType >::_temp_cell_gradient
mutableprotected

A member to hold the cell gradient when not caching, used to return a reference (due to expensive ADReal copy)

Definition at line 733 of file MooseVariableFV.h.

◆ _tid

THREAD_ID MooseVariableBase::_tid
protectedinherited

◆ _time_integrator

template<typename OutputType>
const TimeIntegrator* const MooseVariableField< OutputType >::_time_integrator
protectedinherited

the time integrator used for computing time derivatives

Definition at line 409 of file MooseVariableField.h.

◆ _two_term_boundary_expansion

template<typename OutputType>
bool MooseVariableFV< OutputType >::_two_term_boundary_expansion
protected

Whether to use a two term expansion for computing boundary face values.

Definition at line 729 of file MooseVariableFV.h.

Referenced by MooseVariableFV< Real >::getTwoTermBoundaryExpansion().

◆ _type

const std::string MooseBase::_type
protectedinherited

◆ _use_dual

bool MooseVariableBase::_use_dual
protectedinherited

If dual mortar approach is used.

Definition at line 246 of file MooseVariableBase.h.

Referenced by MooseVariableBase::useDual().

◆ _var_kind

Moose::VarKindType MooseVariableBase::_var_kind
protectedinherited

Variable type (see MooseTypes.h)

Definition at line 213 of file MooseVariableBase.h.

Referenced by MooseVariableBase::initialSetup(), and MooseVariableBase::kind().

◆ _var_name

std::string MooseVariableBase::_var_name
protectedinherited

◆ _var_num

unsigned int MooseVariableBase::_var_num
protectedinherited

◆ _variable

const libMesh::Variable& MooseVariableBase::_variable
protectedinherited

libMesh variable object for this variable

Definition at line 219 of file MooseVariableBase.h.

◆ usingMooseVariableFieldMembers

template<typename OutputType>
MooseVariableFV< OutputType >::usingMooseVariableFieldMembers
protected

Definition at line 683 of file MooseVariableFV.h.


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