19 #include "libmesh/numeric_vector.h" 20 #include "libmesh/dof_map.h" 21 #include "libmesh/elem.h" 22 #include "libmesh/quadrature.h" 23 #include "libmesh/dense_vector.h" 24 #include "libmesh/enum_fe_family.h" 45 template <
typename OutputType>
105 void reinitNodes(
const std::vector<dof_id_type> & nodes)
override;
177 std::vector<dof_id_type> & dof_indices)
const override;
506 virtual void setNodalValue(
const OutputType & value,
unsigned int idx = 0)
override;
513 virtual void setDofValues(
const DenseVector<OutputData> & values)
override;
626 OutputType
getValue(
const Elem * elem,
const std::vector<std::vector<OutputShape>> &
phi)
const;
751 const StateArg & state)
const override final;
759 const StateArg & state)
const override final;
764 const StateArg & state)
const override final;
775 template <
typename Shapes,
typename Solution,
typename GradShapes,
typename GradSolution>
780 Solution & local_soln,
781 const GradShapes & grad_phi,
782 GradSolution & grad_local_soln,
783 Solution & dot_local_soln,
784 GradSolution & grad_dot_local_soln)
const;
797 bool cache_eligible)
const;
836 template <
typename OutputType>
840 return _element_data->adDofValues();
843 template <
typename OutputType>
847 return _neighbor_data->adDofValues();
850 template <
typename OutputType>
854 return _element_data->adNodalValue();
857 template <
typename OutputType>
861 _element_data->setActiveTags(vtags);
862 _neighbor_data->setActiveTags(vtags);
863 _lower_data->setActiveTags(vtags);
typename MooseVariableField< Real >::FieldVariablePhiValue FieldVariablePhiValue
typename OutputTools< typename Moose::ADType< T >::type >::VariableSecond ADTemplateVariableSecond
const FieldVariableValue & vectorTagValue(TagID tag) const override
tag values getters
void computeSolution(const Elem *elem, unsigned int n_qp, const StateArg &state, const Shapes &phi, Solution &local_soln, const GradShapes &grad_phi, GradSolution &grad_local_soln, Solution &dot_local_soln, GradSolution &grad_dot_local_soln) const
Compute the solution, gradient, time derivative, and gradient of the time derivative with provided sh...
const ADTemplateVariableGradient< OutputType > & adGradSlnDot() const override
AD grad of time derivative solution getter.
const FieldVariableValue & uDotDotNeighbor() const
const FieldVariableCurl & curlSlnNeighbor() const
neighbor solution curls
const Node *const & node() const
typename MooseVariableField< Real >::OutputShapeGradient OutputShapeGradient
const MooseArray< Number > & dofValuesDuDotDotDu() const override
const FieldVariableSecond & secondSlnOlderNeighbor() const
GradientType evaluateGradDot(const ElemArg &, const StateArg &) const override final
Evaluate the functor gradient-dot with a given element.
bool computingCurl() const override final
Whether or not this variable is computing the curl.
bool isNodalNeighborDefined() const
const OutputType & nodalValueDuDotDotDu() const
bool computingDiv() const override final
Whether or not this variable is computing the divergence.
const ADTemplateVariableTestGradient< OutputShape > & adGradPhiFace() const
OutputTools< OutputType >::OutputGradient getGradient(const Elem *elem, const std::vector< std::vector< typename OutputTools< OutputType >::OutputShapeGradient >> &grad_phi) const
Compute the variable gradient value at a point on an element.
ValueType evaluate(const ElemQpArg &elem_qp, const StateArg &state) const override final
const DoFValue & dofValuesOlderNeighbor() const override
const FieldVariableGradient & gradSlnPreviousNL() const
const DoFValue & dofValuesDotOld() const override
typename MooseVariableField< Real >::OutputGradient OutputGradient
const unsigned int invalid_uint
const FieldVariablePhiValue & phiNeighbor() const override final
Return the variable's shape functions on a neighboring element.
const OutputType & nodalValueOld() const
Class for stuff related to variables.
typename MooseVariableField< Real >::FieldVariablePhiSecond FieldVariablePhiSecond
void addSolution(const DenseVector< Number > &v)
Add passed in local DOF values onto the current solution.
const OutputType & nodalValueDuDotDu() const
const OutputType & nodalValueDotDotOld() const
const FieldVariablePhiDivergence & divPhiNeighbor() const
const DoFValue & dofValuesDotNeighborResidual() const
const OutputType & nodalValueDot() const
Class for stuff related to variables.
TensorTools::IncrementRank< OutputType >::type OutputGradient
const MooseArray< Number > & dofValuesDuDotDu() const override
const FieldVariableSecond & secondSlnPreviousNLNeighbor() const
OutputType getValue(const Elem *elem, const std::vector< std::vector< OutputShape >> &phi) const
Compute the variable value at a point on an element.
const FieldVariableCurl & curlSlnOldNeighbor() const
virtual void setNodalValue(const OutputType &value, unsigned int idx=0) override
void insertNodalValue(NumericVector< Number > &residual, const OutputData &v)
Write a nodal value to the passed-in solution vector.
virtual void computeLowerDValues() override
compute values at quadrature points on the lower dimensional element
const FieldVariableGradient & gradSlnNeighborDotDot() const
std::vector< DotType > _current_elem_qp_functor_dot
The values of the time derivative for the _current_elem_qp_functor_elem.
const OutputType & nodalValueNeighbor() const
typename MooseVariableField< Real >::FieldVariablePhiCurl FieldVariablePhiCurl
const FieldVariableGradient & gradSln() const override
element gradients
const FieldVariablePhiCurl & curlPhiFaceNeighbor() const
const FieldVariableValue & slnNeighbor() const override
neighbor solutions
const MooseArray< Number > & dofValuesDuDotDuNeighbor() const override
virtual void setDofValues(const DenseVector< OutputData > &values) override
Set local DOF values and evaluate the values on quadrature points.
void computeIncrementAtQps(const NumericVector< Number > &increment_vec)
Compute and store incremental change in solution at QPs based on increment_vec.
const VariableValue & duDotDuNeighbor() const
const DoFValue & dofValue() const
void reinitAux() override
const FieldVariableSecond & secondSlnOld() const
const FieldVariableValue & slnOlderNeighbor() const
const OutputType & nodalValuePreviousNLNeighbor() const
const ADTemplateVariableSecond< OutputType > & adSecondSlnNeighbor() const override
AD second neighbor solution getter.
usingMooseVariableFieldMembers
virtual std::size_t phiFaceNeighborSize() const final
Return phiFaceNeighbor size.
void reinitNodes(const std::vector< dof_id_type > &nodes) override
const std::vector< dof_id_type > & dofIndicesLower() const final
Get dof indices for the current lower dimensional element (this is meaningful when performing mortar ...
const OutputType & nodalValueDuDotDuNeighbor() const
const OutputType & nodalValueDuDotDotDuNeighbor() const
bool isVector() const override
std::unique_ptr< MooseVariableData< OutputType > > _neighbor_data
Holder for all the data associated with the neighbor element.
void prepareNeighbor() override
Prepare the neighbor element degrees of freedom.
const DoFValue & dofValuesDotDotNeighbor() const override
MooseVariableFE(const InputParameters ¶meters)
const FieldVariablePhiGradient & gradPhiNeighbor() const override final
Return the gradients of the variable's shape functions on a neighboring element.
const OutputType & nodalValueDotDotNeighbor() const
typename OutputTools< typename Moose::ADType< T >::type >::VariableValue ADTemplateVariableValue
const FieldVariableValue & slnLowerOld() const
const FieldVariableDivergence & divSlnOld() const
const MooseArray< Number > & dofValuesDuDotDotDuNeighbor() const override
const FieldVariableGradient & gradSlnPreviousNLNeighbor() const
typename MooseVariableField< Real >::FieldVariableValue FieldVariableValue
const OutputType & nodalValueDotDotOldNeighbor() const
const DoFValue & dofValuesDotOldNeighbor() const override
const ADTemplateVariableValue< OutputType > & adSlnNeighbor() const override
neighbor AD
Moose::VarFieldType fieldType() const override
Filed type of this variable.
const FieldVariablePhiSecond & secondPhi() const override final
Return the rank-2 tensor of second derivatives of the variable's elemental shape functions.
const MappedArrayVariablePhiGradient & arrayGradPhiFaceNeighbor() const
const FieldVariableValue & uDotOld() const
OutputData getElementalValueOlder(const Elem *elem, unsigned int idx=0) const
Get the older value of this variable on an element.
typename MooseVariableField< Real >::OutputShapeSecond OutputShapeSecond
const FieldVariablePhiDivergence & divPhi() const override final
Divergence of the shape functions.
const DoFValue & dofValuesNeighbor() const override
typename MooseVariableField< Real >::FieldVariableGradient FieldVariableGradient
bool hasDoFsOnNodes() const override
Does this variable have DoFs on nodes.
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
virtual void prepareIC() override
Prepare the initial condition.
TensorTools::IncrementRank< OutputGradient >::type OutputSecond
A structure for storing the various lists that contain the names of the items to be exported...
bool usesSecondPhiNeighbor() const override final
Whether or not this variable is actually using the shape function second derivative on a neighbor...
virtual void setDofValue(const OutputData &value, unsigned int index) override
Degree of freedom value setters.
const ADTemplateVariableValue< OutputType > & adUDotNeighbor() const override
AD neighbor time derivative getter.
const FieldVariableCurl & curlSlnOld() const
const DoFValue & dofValuesDotDot() const override
const ADTemplateVariableValue< OutputType > & adUDot() const override
AD time derivative getter.
const ADTemplateVariableGradient< OutputType > & adGradSlnNeighborDot() const override
AD grad of time derivative neighbor solution getter.
typename MooseVariableField< Real >::OutputSecond OutputSecond
virtual void insertLower(NumericVector< Number > &vector) override
Insert the currently cached degree of freedom values for a lower-dimensional element into the provide...
virtual void jacobianSetup() override
typename FunctorReturnType< T, FunctorEvaluationKind::Gradient >::type GradientType
This rigmarole makes it so that a user can create functors that return containers (std::vector...
std::vector< GradientType > _current_elem_qp_functor_grad_dot
The values of the gradient of the time derivative for the _current_elem_qp_functor_elem.
const ADTemplateVariableSecond< OutputType > & adSecondSln() const override
AD second solution getter.
bool supportsFaceArg() const override final
Whether this functor supports evaluation with FaceArg.
std::pair< const Elem *, unsigned int > _current_elem_side_qp_functor_elem_side
Keep track of the current elem-side-qp functor element and side in order to enable local caching (e...
OutputData getElementalValue(const Elem *elem, unsigned int idx=0) const
Get the current value of this variable on an element.
const FieldVariableGradient & gradSlnOlderNeighbor() const
Moose::DOFType< OutputType >::type OutputData
virtual void computeNodalValues() override
Compute nodal values of this variable.
const FieldVariableSecond & secondSlnOldNeighbor() const
bool usesSecondPhi() const
Whether or not this variable is computing any second derivatives.
const MooseArray< OutputType > & nodalValueOldArray() const override
const FieldVariablePhiCurl & curlPhiNeighbor() const
const FieldVariableValue & uDot() const
element dots
MooseVariableFE< RealVectorValue > VectorMooseVariable
const FieldVariablePhiGradient & gradPhiFaceNeighbor() const override final
Return the gradients of the variable's shape functions on a neighboring element face.
GradientType evaluateGradient(const ElemQpArg &elem_qp, const StateArg &state) const override
void prepareLowerD() override
Prepare a lower dimensional element's degrees of freedom.
const FieldVariableCurl & curlSln() const
element curls
typename MooseVariableField< Real >::FieldVariableTestValue FieldVariableTestValue
std::vector< DotType > _current_elem_side_qp_functor_dot
The values of the time derivative for the _current_elem_side_qp_functor_elem_side.
ValueType faceEvaluate(const FaceArg &, const StateArg &, const std::vector< ValueType > &cache_data) const
A common method that both evaluate(FaceArg) and evaluateDot(FaceArg) can call.
unsigned int numberOfDofsNeighbor() override
const VariableValue & duDotDotDu() const
const DoFValue & dofValuesOlder() const override
const MappedArrayVariablePhiGradient & arrayGradPhi() const
typename MooseVariableField< Real >::FieldVariableDivergence FieldVariableDivergence
const FieldVariablePhiCurl & curlPhiFace() const
const MooseArray< OutputType > & nodalValueOlderArray() const override
const OutputType & nodalValueDotDot() const
const FieldVariableValue & uDotDotOldNeighbor() const
const OutputType & nodalValueDotDotNeighborResidual() const
const std::vector< dof_id_type > & dofIndices() const final
Get local DoF indices.
const ADTemplateVariableTestGradient< OutputShape > & adGradPhiFaceNeighbor() const
const FieldVariableDivergence & divSlnOlder() const
const FieldVariableSecond & secondSlnPreviousNL() const
const OutputType & nodalValueOlder() const
A structure defining a "face" evaluation calling argument for Moose functors.
void reinitAuxNeighbor() override
const MappedArrayVariablePhiGradient & arrayGradPhiNeighbor() const
TensorTools::DecrementRank< OutputShape >::type OutputShapeDivergence
virtual void getDofIndices(const Elem *elem, std::vector< dof_id_type > &dof_indices) const override
virtual void computeElemValuesFace() override
Compute values at facial quadrature points.
FEContinuity getContinuity() const override
Return the continuity of this variable.
const FieldVariableValue & slnPreviousNL() const
const OutputType & nodalValueDotNeighbor() const
unsigned int numberOfDofs() const final
Get the number of local DoFs.
const FieldVariableValue & uDotDot() const
const FieldVariableValue & sln() const override
element solutions
void setActiveTags(const std::set< TagID > &vtags) override
Set the active vector tags.
const FieldVariableSecond & secondSlnNeighbor() const
neighbor solution seconds
const FieldVariablePhiValue & phi() const override
Return the variable's elemental shape functions.
MooseVariableFE< RealEigenVector > ArrayMooseVariable
std::vector< std::vector< Eigen::Map< RealDIMValue > > > MappedArrayVariablePhiGradient
std::size_t phiLowerSize() const final
Return the number of shape functions on the lower dimensional element for this variable.
typename OutputTools< typename Moose::ADType< T >::type >::VariableTestGradient ADTemplateVariableTestGradient
typename MooseVariableField< Real >::FieldVariableTestDivergence FieldVariableTestDivergence
const DoFValue & dofValuesOld() const override
const FieldVariableSecond & secondSlnOlder() const
std::vector< GradientType > _current_elem_side_qp_functor_grad_dot
The values of the gradient of the time derivative for the _current_elem_side_qp_functor_elem_side.
const DoFValue & dofValuesPreviousNLNeighbor() const override
typename MooseVariableField< Real >::FieldVariableTestSecond FieldVariableTestSecond
typename MooseVariableField< Real >::OutputShapeDivergence OutputShapeDivergence
const FieldVariableValue & uDotDotOld() const
const DoFValue & dofValuesOldNeighbor() const override
typename OutputTools< typename Moose::ADType< T >::type >::VariableGradient ADTemplateVariableGradient
const unsigned int & currentSide() const
Current side this variable is being evaluated on.
virtual void computeNodalNeighborValues() override
Compute nodal values of this variable in the neighbor.
typename MooseVariableField< Real >::FieldVariableSecond FieldVariableSecond
const FieldVariableGradient & vectorTagGradient(TagID tag) const
A structure that is used to evaluate Moose functors logically at an element/cell center.
virtual void meshChanged() override
Called on this object when the mesh changes.
const ADTemplateVariableValue< OutputType > & adSln() const override
AD.
std::vector< ValueType > _current_elem_qp_functor_sln
The values of the solution for the _current_elem_qp_functor_elem.
const FieldVariablePhiSecond & secondPhiFace() const override final
Return the rank-2 tensor of second derivatives of the variable's shape functions on an element face...
const Node *const & nodeNeighbor() const
Argument for requesting functor evaluation at a quadrature point location in an element.
TensorTools::IncrementRank< OutputShape >::type OutputShapeGradient
const FieldVariableValue & uDotNeighbor() const
neighbor dots
const OutputType & nodalValue() const
Methods for retrieving values of variables at the nodes.
const FieldVariableValue & increment() const
typename MooseVariableField< Real >::FieldVariableCurl FieldVariableCurl
OutputData getNodalValueOlder(const Node &node) const
Get the t-2 value of this variable at given node.
virtual void setLowerDofValues(const DenseVector< OutputData > &values) override
Set local DOF values for a lower dimensional element and evaluate the values on quadrature points...
void reinitNodesNeighbor(const std::vector< dof_id_type > &nodes) override
virtual void insert(NumericVector< Number > &vector) override
Set the current local DOF values to the input vector.
const FieldVariablePhiSecond & secondPhiNeighbor() const override final
Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring ele...
std::unique_ptr< MooseVariableData< OutputType > > _lower_data
Holder for all the data associated with the lower dimeensional element.
const FieldVariableSecond & secondSln() const
element seconds
virtual std::size_t phiFaceSize() const final
Return phiFace size.
const DoFValue & dofValuesDotDotOld() const override
typename MooseVariableField< Real >::FieldVariableTestGradient FieldVariableTestGradient
const DoFValue & nodalVectorTagValue(TagID tag) const override
void clearDofIndices() override
Clear out the dof indices.
const FieldVariableValue & slnLower() const
const FieldVariableGradient & gradSlnOldNeighbor() const override
MooseVariableFE< Real > MooseVariable
const MooseArray< ADReal > & adDofValues() const override
Return the AD dof values.
const ADTemplateVariableValue< OutputType > & adUDotDot() const override
AD second time derivative getter.
void computeIncrementAtNode(const NumericVector< Number > &increment_vec)
Compute and store incremental change at the current node based on increment_vec.
const FieldVariableGradient & gradSlnOld() const override
typename MooseVariableField< Real >::FieldVariablePhiGradient FieldVariablePhiGradient
const ADTemplateVariableGradient< OutputType > & adGradSlnNeighbor() const override
AD grad neighbor solution getter.
OutputData getNodalValue(const Node &node) const
Get the value of this variable at given node.
bool isNodal() const override
Is this variable nodal.
const FieldVariableGradient & gradSlnNeighbor() const override
neighbor solution gradients
void evaluateOnElement(const ElemQpArg &elem_qp, const StateArg &state, bool cache_eligible) const
Evaluate solution and gradient for the elem_qp argument.
virtual void computeNeighborValuesFace() override
Compute values at facial quadrature points for the neighbor.
const Elem *const & neighbor() const
Current neighboring element.
OutputTools< Real >::VariableValue VariableValue
const MooseArray< OutputType > & nodalValueArray() const override
Methods for retrieving values of variables at the nodes in a MooseArray for AuxKernelBase.
const FieldVariableValue & slnOlder() const override
const FieldVariablePhiSecond & secondPhiFaceNeighbor() const override final
Return the rank-2 tensor of second derivatives of the variable's shape functions on a neighboring ele...
virtual std::size_t phiSize() const final
Return phi size.
const dof_id_type & nodalDofIndexNeighbor() const override
const OutputType & nodalValueDotOldNeighbor() const
Base class for time integrators.
const OutputType & nodalValueOldNeighbor() const
virtual bool isNodalDefined() const override
Is this variable defined at nodes.
const dof_id_type & nodalDofIndex() const override
const FieldVariableGradient & gradSlnNeighborDot() const
neighbor grad dots
OutputData getElementalValueOld(const Elem *elem, unsigned int idx=0) const
Get the old value of this variable on an element.
TensorTools::IncrementRank< OutputShapeGradient >::type OutputShapeSecond
const DoFValue & dofValuesDotDotNeighborResidual() const
const DoFValue & vectorTagDofValue(TagID tag) const override
const FieldVariableGradient & gradSlnDotDot() const
void addSolutionNeighbor(const DenseVector< Number > &v)
Add passed in local neighbor DOF values onto the current solution.
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.
const FieldVariableCurl & curlSlnOlder() const
const FieldVariablePhiCurl & curlPhi() const override final
Curl of the shape functions.
static InputParameters validParams()
virtual void computeNeighborValues() override
Compute values at quadrature points for the neighbor.
const DoFValue & dofValues() const override
dof values getters
const std::vector< dof_id_type > & dofIndicesNeighbor() const final
Get neighbor DOF indices for currently selected element.
typename MooseVariableField< Real >::OutputShape OutputShape
std::vector< GradientType > _current_elem_qp_functor_gradient
The values of the gradient for the _current_elem_qp_functor_elem.
const FieldVariableValue & matrixTagValue(TagID tag) const override
const FieldVariablePhiDivergence & divPhiFaceNeighbor() const
bool computingSecond() const override final
Whether or not this variable is computing any second derivatives.
std::vector< GradientType > _current_elem_side_qp_functor_gradient
The values of the gradient for the _current_elem_side_qp_functor_elem_side.
const FieldVariableDivergence & divSlnOldNeighbor() const
virtual const FieldVariablePhiValue & phiLower() const override
Return the variable's shape functions on a lower-dimensional element.
const FieldVariablePhiGradient & gradPhiLower() const
bool usesGradPhi() const
Whether or not this variable is actually using the shape function gradient.
const ADTemplateVariableTestGradient< OutputShape > & adGradPhi() const
const FieldVariableValue & uDotOldNeighbor() const
const MooseArray< ADReal > & adDofValuesNeighbor() const override
Return the AD neignbor dof values.
const VariableValue & duDotDu() const
typename MooseVariableField< Real >::DoFValue DoFValue
bool supportsElemSideQpArg() const override final
Whether this functor supports evaluation with ElemSideQpArg.
const Elem * _current_elem_qp_functor_elem
Keep track of the current elem-qp functor element in order to enable local caching (e...
void evaluateOnElementSide(const ElemSideQpArg &elem_side_qp, const StateArg &state, bool cache_eligible) const
Evaluate solution and gradient for the elem_side_qp argument.
const InputParameters & parameters() const
Get the parameters of the object.
State argument for evaluating functors.
const FieldVariablePhiValue & phiFace() const override final
Return the variable's shape functions on an element face.
const DoFValue & dofValuesPreviousNL() const override
bool usesPhi() const
Whether or not this variable is actually using the shape function value.
const FieldVariableGradient & gradSlnOlder() const
void prepare() override
Prepare the elemental degrees of freedom.
const FieldVariableDivergence & divSlnOlderNeighbor() const
const FieldVariableGradient & gradSlnDot() const
element gradient dots
std::vector< ValueType > _current_elem_side_qp_functor_sln
The values of the solution for the _current_elem_side_qp_functor_elem_side.
const VariableValue & duDotDotDuNeighbor() const
void reinitNode() override
const Moose::ADType< OutputType >::type & adNodalValue() const
const DoFValue & dofValuesDotNeighbor() const override
const FieldVariablePhiGradient & gradPhi() const override final
Return the gradients of the variable's elemental shape functions.
bool isArray() const override
const FieldVariableCurl & curlSlnOlderNeighbor() const
const DoFValue & nodalMatrixTagValue(TagID tag) const override
typename MooseVariableField< Real >::FieldVariableTestCurl FieldVariableTestCurl
const OutputType & nodalValueDotNeighborResidual() const
unsigned int oldestSolutionStateRequested() const override final
The oldest solution state that is requested for this variable (0 = current, 1 = old, 2 = older, etc).
const ADTemplateVariableValue< OutputType > & adSlnLower() const
lower-d element solution
typename MooseVariableField< Real >::OutputDivergence OutputDivergence
virtual void add(NumericVector< Number > &vector) override
Add the current local DOF values to the input vector.
const FieldVariableDivergence & divSln() const
element divergence
std::unique_ptr< MooseVariableData< OutputType > > _element_data
Holder for all the data associated with the "main" element.
const FieldVariableValue & slnOld() const override
const DoFValue & dofValuesDotDotOldNeighbor() const override
virtual void residualSetup() override
typename MooseVariableField< Real >::FieldVariablePhiDivergence FieldVariablePhiDivergence
const Elem *const & currentElem() const override
Current element this variable is evaluated at.
const OutputType & nodalValueOlderNeighbor() const
const OutputType & nodalValueDotOld() const
const FieldVariableValue & slnOldNeighbor() const override
DotType evaluateDot(const ElemQpArg &elem_qp, const StateArg &state) const override final
virtual std::size_t phiNeighborSize() const final
Return phiNeighbor size.
Argument for requesting functor evaluation at quadrature point locations on an element side...
const FieldVariableValue & slnPreviousNLNeighbor() const
virtual void computeElemValues() override
Actually compute variable values from the solution vectors.
Moose::ShapeType< OutputType >::type OutputShape
const DoFValue & dofValuesDot() const override
const MappedArrayVariablePhiGradient & arrayGradPhiFace() const
typename Moose::ADType< Real >::type FunctorArg
const FieldVariableDivergence & divSlnNeighbor() const
neighbor solution divergence
const FieldVariablePhiGradient & gradPhiFace() const override final
Return the gradients of the variable's shape functions on an element face.
const FieldVariablePhiDivergence & divPhiFace() const
const FieldVariablePhiValue & phiFaceNeighbor() const override final
Return the variable's shape functions on a neighboring element face.
TensorTools::DecrementRank< OutputType >::type OutputDivergence
const OutputType & nodalValuePreviousNL() const
OutputData getNodalValueOld(const Node &node) const
Get the old value of this variable at given node.
const ADTemplateVariableValue< OutputType > & adUDotDotNeighbor() const override
AD neighbor second time derivative getter.
void prepareAux() override
void clearAllDofIndices() final