#include <TaggingInterface.h>
Classes | |
class | MatrixTagsKey |
Class that is used as a parameter to some of our matrix tag APIs that allows only blessed framework classes to call them. More... | |
class | VectorTagsKey |
Class that is used as a parameter to some of our vector tag APIs that allows only blessed framework classes to call them. More... | |
Public Types | |
enum | ResidualTagType { ResidualTagType::NonReference, ResidualTagType::Reference } |
Enumerate whether a (residual) vector tag is to be of a non-reference or reference tag type. More... | |
Public Member Functions | |
TaggingInterface (const MooseObject *moose_object) | |
TaggingInterface (const TaggingInterface &object, const Moose::Kokkos::FunctorCopy &key) | |
Special constructor used for Kokkos functor copy during parallel dispatch. More... | |
virtual | ~TaggingInterface () |
void | useVectorTag (const TagName &tag_name, VectorTagsKey) |
void | useMatrixTag (const TagName &tag_name, MatrixTagsKey) |
void | useVectorTag (TagID tag_id, VectorTagsKey) |
void | useMatrixTag (TagID tag_id, MatrixTagsKey) |
bool | isVectorTagged () |
bool | isMatrixTagged () |
bool | hasVectorTags () const |
const std::set< TagID > & | getVectorTags (VectorTagsKey) const |
const std::set< TagID > & | getMatrixTags (MatrixTagsKey) const |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
void | prepareVectorTag (Assembly &assembly, unsigned int ivar) |
Prepare data for computing element residual according to active tags. More... | |
void | prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type) |
Prepare vector tags in a reference residual problem context. More... | |
void | prepareVectorTagNeighbor (Assembly &assembly, unsigned int ivar) |
Prepare data for computing element residual the according to active tags for DG and interface kernels. More... | |
void | prepareVectorTagLower (Assembly &assembly, unsigned int ivar) |
Prepare data for computing the residual according to active tags for mortar constraints. More... | |
void | prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar) |
Prepare data for computing element jacobian according to the active tags. More... | |
void | prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar, DenseMatrix< Number > &k) const |
void | prepareMatrixTagNonlocal (Assembly &assembly, unsigned int ivar, unsigned int jvar) |
Prepare data for computing nonlocal element jacobian according to the active tags. More... | |
void | prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type) |
Prepare data for computing element jacobian according to the active tags for DG and interface kernels. More... | |
void | prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, DenseMatrix< Number > &k) const |
void | prepareMatrixTagLower (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::ConstraintJacobianType type) |
Prepare data for computing the jacobian according to the active tags for mortar. More... | |
void | accumulateTaggedLocalResidual () |
Local residual blocks will be appended by adding the current local kernel residual. More... | |
void | assignTaggedLocalResidual () |
Local residual blocks will assigned as the current local kernel residual. More... | |
void | accumulateTaggedLocalMatrix () |
Local Jacobian blocks will be appended by adding the current local kernel Jacobian. More... | |
void | accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, const DenseMatrix< Number > &k) |
void | accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, const DenseMatrix< Number > &k) |
void | accumulateTaggedNonlocalMatrix () |
Nonlocal Jacobian blocks will be appended by adding the current nonlocal kernel Jacobian. More... | |
void | assignTaggedLocalMatrix () |
Local Jacobian blocks will assigned as the current local kernel Jacobian. More... | |
template<typename Residuals , typename Indices > | |
void | addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided incoming residuals corresponding to the provided dof indices. More... | |
template<typename T , typename Indices > | |
void | addResiduals (Assembly &assembly, const DenseVector< T > &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided incoming residuals corresponding to the provided dof indices. More... | |
template<typename Residuals , typename Indices > | |
void | addResidualsAndJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices. More... | |
template<typename Residuals , typename Indices > | |
void | addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided residual derivatives into the Jacobian for the provided dof indices. More... | |
void | addResiduals (Assembly &assembly, const ADResidualsPacket &packet) |
Add the provided incoming residuals corresponding to the provided dof indices. More... | |
void | addResidualsAndJacobian (Assembly &assembly, const ADResidualsPacket &packet) |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices. More... | |
void | addJacobian (Assembly &assembly, const ADResidualsPacket &packet) |
Add the provided residual derivatives into the Jacobian for the provided dof indices. More... | |
template<typename Residuals , typename Indices > | |
void | addResidualsWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided incoming residuals corresponding to the provided dof indices. More... | |
template<typename Residuals , typename Indices > | |
void | addResidualsAndJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices. More... | |
template<typename Residuals , typename Indices > | |
void | addJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor) |
Add the provided residual derivatives into the Jacobian for the provided dof indices. More... | |
void | addJacobianElement (Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor) |
Add into a single Jacobian element. More... | |
void | addJacobian (Assembly &assembly, DenseMatrix< Real > &local_k, const std::vector< dof_id_type > &row_indices, const std::vector< dof_id_type > &column_indices, Real scaling_factor) |
Add a local Jacobian matrix. More... | |
template<typename T > | |
void | setResidual (SystemBase &sys, const T &residual, MooseVariableFE< T > &var) |
Set residual using the variables' insertion API. More... | |
void | setResidual (SystemBase &sys, Real residual, dof_id_type dof_index) |
Set residual at a specified degree of freedom index. More... | |
template<typename SetResidualFunctor > | |
void | setResidual (SystemBase &sys, SetResidualFunctor set_residual_functor) |
Set residuals using the provided functor. More... | |
Protected Attributes | |
SubProblem & | _subproblem |
SubProblem that contains tag info. More... | |
DenseVector< Number > | _local_re |
Holds local residual entries as they are accumulated by this Kernel. More... | |
DenseMatrix< Number > | _local_ke |
Holds local Jacobian entries as they are accumulated by this Kernel. More... | |
DenseMatrix< Number > | _nonlocal_ke |
Holds nonlocal Jacobian entries as they are accumulated by this Kernel. More... | |
Private Member Functions | |
void | prepareVectorTagInternal (Assembly &assembly, unsigned int ivar, const std::set< TagID > &vector_tags, const std::set< TagID > &absolute_value_vector_tags) |
Prepare data for computing element residual according to the specified tags Residual blocks for different tags will be extracted from Assembly. More... | |
Private Attributes | |
std::set< TagID > | _vector_tags |
The vector tag ids this Kernel will contribute to. More... | |
std::set< TagID > | _abs_vector_tags |
The absolute value residual tag ids. More... | |
std::set< TagID > | _matrix_tags |
The matrices this Kernel will contribute to. More... | |
std::set< TagID > | _non_ref_vector_tags |
A set to hold vector tags excluding the reference residual tag. More... | |
std::set< TagID > | _non_ref_abs_vector_tags |
A set to hold absolute value vector tags excluding the reference residual tag. More... | |
std::set< TagID > | _ref_vector_tags |
A set of either size 1 or 0. More... | |
std::set< TagID > | _ref_abs_vector_tags |
A set of either size 1 or 0. More... | |
const MooseObject & | _moose_object |
Moose objct this tag works on. More... | |
const InputParameters & | _tag_params |
Parameters from moose object. More... | |
std::vector< DenseVector< Number > * > | _re_blocks |
Residual blocks Vectors For each Tag. More... | |
std::vector< DenseVector< Number > * > | _absre_blocks |
Residual blocks for absolute value residual tags. More... | |
std::vector< DenseMatrix< Number > * > | _ke_blocks |
Kernel blocks Vectors For each Tag. More... | |
std::vector< Real > | _absolute_residuals |
A container to hold absolute values of residuals passed into addResiduals . More... | |
Friends | |
class | NonlinearSystemBase |
Definition at line 55 of file TaggingInterface.h.
|
strong |
Enumerate whether a (residual) vector tag is to be of a non-reference or reference tag type.
Enumerator | |
---|---|
NonReference | |
Reference |
Definition at line 112 of file TaggingInterface.h.
TaggingInterface::TaggingInterface | ( | const MooseObject * | moose_object | ) |
Definition at line 56 of file TaggingInterface.C.
TaggingInterface::TaggingInterface | ( | const TaggingInterface & | object, |
const Moose::Kokkos::FunctorCopy & | key | ||
) |
Special constructor used for Kokkos functor copy during parallel dispatch.
Definition at line 160 of file TaggingInterface.C.
|
virtual |
Definition at line 453 of file TaggingInterface.C.
|
protected |
Local Jacobian blocks will be appended by adding the current local kernel Jacobian.
It should be called after the local element matrix has been computed.
Definition at line 397 of file TaggingInterface.C.
Referenced by DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), MassLumpedTimeDerivative::computeJacobian(), TimeDerivative::computeJacobian(), VectorTimeDerivative::computeJacobian(), ScalarKernel::computeJacobian(), Kernel::computeJacobian(), ODEKernel::computeJacobian(), VectorKernel::computeJacobian(), ArrayKernel::computeJacobian(), IntegratedBC::computeJacobian(), VectorIntegratedBC::computeJacobian(), EigenKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), NodeElemConstraint::computeJacobian(), NonlocalIntegratedBC::computeJacobian(), KernelGrad::computeJacobian(), KernelValue::computeJacobian(), NonlocalKernel::computeJacobian(), MortarConstraint::computeJacobian(), NodeFaceConstraint::computeJacobian(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), Kernel::computeOffDiagJacobian(), VectorKernel::computeOffDiagJacobian(), EigenKernel::computeOffDiagJacobian(), ArrayKernel::computeOffDiagJacobian(), VectorIntegratedBC::computeOffDiagJacobian(), IntegratedBC::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), NodeElemConstraint::computeOffDiagJacobian(), NonlocalIntegratedBC::computeOffDiagJacobian(), NonlocalKernel::computeOffDiagJacobian(), KernelValue::computeOffDiagJacobian(), KernelGrad::computeOffDiagJacobian(), NodeFaceConstraint::computeOffDiagJacobian(), ODEKernel::computeOffDiagJacobianScalar(), VectorKernel::computeOffDiagJacobianScalar(), ArrayKernel::computeOffDiagJacobianScalar(), IntegratedBC::computeOffDiagJacobianScalar(), VectorIntegratedBC::computeOffDiagJacobianScalar(), Kernel::computeOffDiagJacobianScalar(), ArrayIntegratedBC::computeOffDiagJacobianScalar(), ScalarLagrangeMultiplier::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), and ArrayDGLowerDKernel::computeOffDiagLowerDJacobian().
|
protected |
Definition at line 404 of file TaggingInterface.C.
|
protected |
Definition at line 421 of file TaggingInterface.C.
|
protected |
Local residual blocks will be appended by adding the current local kernel residual.
It should be called after the local element vector has been computed.
Definition at line 377 of file TaggingInterface.C.
Referenced by FVInterfaceKernel::addResidual(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), DGLowerDKernel::computeLowerDResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), ScalarKernel::computeResidual(), Kernel::computeResidual(), VectorKernel::computeResidual(), ArrayKernel::computeResidual(), LowerDIntegratedBC::computeResidual(), ODETimeKernel::computeResidual(), VectorTimeKernel::computeResidual(), ADScalarKernel::computeResidual(), TimeKernel::computeResidual(), ODEKernel::computeResidual(), VectorIntegratedBC::computeResidual(), IntegratedBC::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), ArrayIntegratedBC::computeResidual(), NodeElemConstraint::computeResidual(), EigenKernel::computeResidual(), ADMortarConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVFluxBC::computeResidual(), MortarConstraint::computeResidual(), KernelValue::computeResidual(), KernelGrad::computeResidual(), FVElementalKernel::computeResidual(), FVFluxKernel::computeResidual(), and NodeFaceConstraint::computeResidual().
|
protected |
Nonlocal Jacobian blocks will be appended by adding the current nonlocal kernel Jacobian.
It should be called after the nonlocal element matrix has been computed.
Definition at line 440 of file TaggingInterface.C.
Referenced by NonlocalIntegratedBC::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalOffDiagJacobian(), and NonlocalIntegratedBC::computeNonlocalOffDiagJacobian().
|
protected |
Add the provided residual derivatives into the Jacobian for the provided dof indices.
Definition at line 536 of file TaggingInterface.h.
Referenced by addJacobian(), addResidualsAndJacobian(), ADScalarKernel::computeADJacobian(), ADDGKernel::computeElemNeighJacobian(), DiffusionLHDGDirichletBC::computeJacobian(), DiffusionLHDGPrescribedGradientBC::computeJacobian(), IPHDGBC::computeJacobian(), DiffusionLHDGKernel::computeJacobian(), IPHDGKernel::computeJacobian(), ADNodeElemConstraint::computeJacobian(), FVElementalKernel::computeJacobian(), ADNodalKernel::computeJacobian(), NodalConstraint::computeJacobian(), DiffusionLHDGKernel::computeJacobianOnSide(), IPHDGKernel::computeJacobianOnSide(), ADDGKernel::computeOffDiagElemNeighJacobian(), FVScalarLagrangeMultiplierConstraint::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), KernelScalarBase::computeOffDiagJacobianScalarLocal(), MortarScalarBase::computeScalarJacobian(), KernelScalarBase::computeScalarJacobian(), MortarScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobianScalar(), and MortarScalarBase::computeScalarOffDiagJacobianScalar().
|
inlineprotected |
Add the provided residual derivatives into the Jacobian for the provided dof indices.
Definition at line 629 of file TaggingInterface.h.
|
inlineprotected |
Add a local Jacobian matrix.
Definition at line 579 of file TaggingInterface.h.
|
inlineprotected |
Add into a single Jacobian element.
Definition at line 568 of file TaggingInterface.h.
Referenced by ArrayNodalBC::computeJacobian(), VectorNodalBC::computeJacobian(), NodalBC::computeJacobian(), NodalKernel::computeJacobian(), NodalConstraint::computeJacobian(), ArrayNodalBC::computeOffDiagJacobian(), VectorNodalBC::computeOffDiagJacobian(), NodalBC::computeOffDiagJacobian(), NodalKernel::computeOffDiagJacobian(), and MortarConstraintBase::zeroInactiveLMDofs().
|
protected |
Add the provided residual derivatives into the Jacobian for the provided dof indices.
This API should only be used if the caller knows that no libMesh-level constraints (hanging nodes or periodic boundary conditions) apply to the provided dof indices
Definition at line 558 of file TaggingInterface.h.
Referenced by addResidualsAndJacobianWithoutConstraints().
|
protected |
Add the provided incoming residuals corresponding to the provided dof indices.
Definition at line 469 of file TaggingInterface.h.
Referenced by addResiduals(), addResidualsAndJacobian(), FVScalarLagrangeMultiplierInterface::computeResidual(), DiffusionLHDGKernel::computeResidual(), IPHDGKernel::computeResidual(), DiffusionLHDGDirichletBC::computeResidual(), DiffusionLHDGPrescribedGradientBC::computeResidual(), IPHDGBC::computeResidual(), ADNodeElemConstraint::computeResidual(), TimeNodalKernel::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), NodalKernel::computeResidual(), ADNodalKernel::computeResidual(), ADKernelScalarBase::computeResidual(), NodalConstraint::computeResidual(), ADMortarScalarBase::computeResidual(), MortarScalarBase::computeResidual(), DiffusionLHDGKernel::computeResidualOnSide(), IPHDGKernel::computeResidualOnSide(), KernelScalarBase::computeScalarResidual(), and MortarConstraintBase::zeroInactiveLMDofs().
|
protected |
Add the provided incoming residuals corresponding to the provided dof indices.
Definition at line 492 of file TaggingInterface.h.
|
inlineprotected |
Add the provided incoming residuals corresponding to the provided dof indices.
Definition at line 617 of file TaggingInterface.h.
|
protected |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices.
Definition at line 525 of file TaggingInterface.h.
Referenced by addResidualsAndJacobian(), FVScalarLagrangeMultiplierInterface::computeJacobian(), FVBoundaryScalarLagrangeMultiplierConstraint::computeJacobian(), FVFluxBC::computeJacobian(), ADKernelScalarBase::computeJacobian(), FVFluxKernel::computeJacobian(), FVInterfaceKernel::computeJacobian(), IPHDGBC::computeResidualAndJacobian(), IPHDGKernel::computeResidualAndJacobian(), FVScalarLagrangeMultiplierConstraint::computeResidualAndJacobian(), FVElementalKernel::computeResidualAndJacobian(), ADKernelScalarBase::computeResidualAndJacobian(), and IPHDGKernel::computeResidualAndJacobianOnSide().
|
inlineprotected |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices.
Definition at line 623 of file TaggingInterface.h.
|
protected |
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided dof indices.
This API should only be used if the caller knows that no libMesh-level constraints (hanging nodes or periodic boundary conditions) apply to the provided dof indices
Definition at line 547 of file TaggingInterface.h.
Referenced by ADMortarConstraint::computeJacobian(), and ADMortarScalarBase::computeJacobian().
|
protected |
Add the provided incoming residuals corresponding to the provided dof indices.
This API should only be used if the caller knows that no libMesh-level constraints (hanging nodes or periodic boundary conditions) apply to the provided dof indices
Definition at line 502 of file TaggingInterface.h.
Referenced by addResidualsAndJacobianWithoutConstraints().
|
protected |
Local Jacobian blocks will assigned as the current local kernel Jacobian.
It should be called after the local element matrix has been computed.
Definition at line 447 of file TaggingInterface.C.
Referenced by NodalEqualValueConstraint::computeJacobian().
|
protected |
Local residual blocks will assigned as the current local kernel residual.
It should be called after the local element vector has been computed.
Definition at line 387 of file TaggingInterface.C.
Referenced by NodalEqualValueConstraint::computeResidual(), and NodeFaceConstraint::computeResidual().
|
inline |
Definition at line 134 of file TaggingInterface.h.
Referenced by LinearSystemContributionObject::linkTaggedVectorsAndMatrices().
|
inline |
Definition at line 132 of file TaggingInterface.h.
Referenced by LinearSystemContributionObject::linkTaggedVectorsAndMatrices().
|
inline |
Definition at line 130 of file TaggingInterface.h.
Referenced by Kernel::computeResidual().
|
inline |
Definition at line 128 of file TaggingInterface.h.
|
inline |
Definition at line 126 of file TaggingInterface.h.
|
protected |
Prepare data for computing element jacobian according to the active tags.
Jacobian blocks for different tags will be extracted from Assembly. A local Jacobian will be zeroed. It should be called right before the local element matrix is computed.
Definition at line 293 of file TaggingInterface.C.
Referenced by DGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), VectorTimeDerivative::computeJacobian(), ScalarKernel::computeJacobian(), TimeDerivative::computeJacobian(), MassLumpedTimeDerivative::computeJacobian(), Kernel::computeJacobian(), ODEKernel::computeJacobian(), VectorKernel::computeJacobian(), ArrayKernel::computeJacobian(), VectorIntegratedBC::computeJacobian(), IntegratedBC::computeJacobian(), ArrayIntegratedBC::computeJacobian(), EigenKernel::computeJacobian(), NodalEqualValueConstraint::computeJacobian(), NonlocalIntegratedBC::computeJacobian(), KernelGrad::computeJacobian(), KernelValue::computeJacobian(), NonlocalKernel::computeJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), VectorKernel::computeOffDiagJacobian(), Kernel::computeOffDiagJacobian(), EigenKernel::computeOffDiagJacobian(), ArrayKernel::computeOffDiagJacobian(), VectorIntegratedBC::computeOffDiagJacobian(), IntegratedBC::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), NonlocalIntegratedBC::computeOffDiagJacobian(), NonlocalKernel::computeOffDiagJacobian(), KernelValue::computeOffDiagJacobian(), KernelGrad::computeOffDiagJacobian(), ODEKernel::computeOffDiagJacobianScalar(), VectorKernel::computeOffDiagJacobianScalar(), ArrayKernel::computeOffDiagJacobianScalar(), VectorIntegratedBC::computeOffDiagJacobianScalar(), IntegratedBC::computeOffDiagJacobianScalar(), ArrayIntegratedBC::computeOffDiagJacobianScalar(), Kernel::computeOffDiagJacobianScalar(), and ScalarLagrangeMultiplier::computeOffDiagJacobianScalar().
|
protected |
Definition at line 305 of file TaggingInterface.C.
|
protected |
Prepare data for computing the jacobian according to the active tags for mortar.
Jacobian blocks for different tags will be extracted from Assembly. A local Jacobian will be zeroed. It should be called right before the local element matrix is computed.
Definition at line 361 of file TaggingInterface.C.
Referenced by MortarConstraint::computeJacobian(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), and ArrayDGLowerDKernel::computeOffDiagLowerDJacobian().
|
protected |
Prepare data for computing element jacobian according to the active tags for DG and interface kernels.
Jacobian blocks for different tags will be extracted from Assembly. A local Jacobian will be zeroed. It should be called right before the local element matrix is computed.
Definition at line 332 of file TaggingInterface.C.
Referenced by DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), NodeElemConstraint::computeJacobian(), NodeFaceConstraint::computeJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), NodeElemConstraint::computeOffDiagJacobian(), and NodeFaceConstraint::computeOffDiagJacobian().
|
protected |
Definition at line 348 of file TaggingInterface.C.
|
protected |
Prepare data for computing nonlocal element jacobian according to the active tags.
Jacobian blocks for different tags will be extracted from Assembly. A nonlocal Jacobian will be zeroed. It should be called right before the nonlocal element matrix is computed.
Definition at line 317 of file TaggingInterface.C.
Referenced by NonlocalIntegratedBC::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalOffDiagJacobian(), and NonlocalIntegratedBC::computeNonlocalOffDiagJacobian().
Prepare data for computing element residual according to active tags.
Residual blocks for different tags will be extracted from Assembly. A local residual will be zeroed. It should be called right before the local element vector is computed.
Definition at line 206 of file TaggingInterface.C.
Referenced by FVInterfaceKernel::addResidual(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), ScalarKernel::computeResidual(), Kernel::computeResidual(), VectorKernel::computeResidual(), ArrayKernel::computeResidual(), VectorTimeKernel::computeResidual(), ODEKernel::computeResidual(), TimeKernel::computeResidual(), ODETimeKernel::computeResidual(), ADScalarKernel::computeResidual(), IntegratedBC::computeResidual(), VectorIntegratedBC::computeResidual(), EigenKernel::computeResidual(), NodeElemConstraint::computeResidual(), ArrayIntegratedBC::computeResidual(), NodalEqualValueConstraint::computeResidual(), ADMortarConstraint::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), MortarConstraint::computeResidual(), FVFluxBC::computeResidual(), KernelValue::computeResidual(), KernelGrad::computeResidual(), FVElementalKernel::computeResidual(), FVFluxKernel::computeResidual(), and NodeFaceConstraint::computeResidual().
|
protected |
Prepare vector tags in a reference residual problem context.
Assembly | The assembly object that we obtain the local residual blocks from |
ivar | The variable which we are retrieving the local residual blocks for |
ref_problem | A pointer to a reference residual problem. This can be a nullptr |
tag_type | What type of tags to prepare |
Definition at line 212 of file TaggingInterface.C.
|
private |
Prepare data for computing element residual according to the specified tags Residual blocks for different tags will be extracted from Assembly.
A local residual will be zeroed. It should be called right before the local element vector is computed.
Definition at line 223 of file TaggingInterface.C.
Referenced by prepareVectorTag().
Prepare data for computing the residual according to active tags for mortar constraints.
Residual blocks for different tags will be extracted from Assembly. A local residual will be zeroed. It should be called right before the local element vector is computed.
Definition at line 271 of file TaggingInterface.C.
Referenced by DGLowerDKernel::computeLowerDResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), LowerDIntegratedBC::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), ADMortarConstraint::computeResidual(), and MortarConstraint::computeResidual().
|
protected |
Prepare data for computing element residual the according to active tags for DG and interface kernels.
Residual blocks for different tags will be extracted from Assembly. A local residual will be zeroed. It should be called right before the local element vector is computed.
Definition at line 248 of file TaggingInterface.C.
Referenced by FVInterfaceKernel::addResidual(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), NodeElemConstraint::computeResidual(), ADMortarConstraint::computeResidual(), FVFluxBC::computeResidual(), MortarConstraint::computeResidual(), FVFluxKernel::computeResidual(), and NodeFaceConstraint::computeResidual().
|
protected |
Set residual using the variables' insertion API.
Definition at line 592 of file TaggingInterface.h.
Referenced by ArrayNodalBC::computeResidual(), VectorNodalBC::computeResidual(), and NodalBC::computeResidual().
|
inlineprotected |
Set residual at a specified degree of freedom index.
Definition at line 600 of file TaggingInterface.h.
|
protected |
Set residuals using the provided functor.
Definition at line 609 of file TaggingInterface.h.
void TaggingInterface::useMatrixTag | ( | const TagName & | tag_name, |
MatrixTagsKey | |||
) |
Definition at line 179 of file TaggingInterface.C.
void TaggingInterface::useMatrixTag | ( | TagID | tag_id, |
MatrixTagsKey | |||
) |
Definition at line 197 of file TaggingInterface.C.
void TaggingInterface::useVectorTag | ( | const TagName & | tag_name, |
VectorTagsKey | |||
) |
Definition at line 170 of file TaggingInterface.C.
void TaggingInterface::useVectorTag | ( | TagID | tag_id, |
VectorTagsKey | |||
) |
Definition at line 188 of file TaggingInterface.C.
|
static |
Definition at line 20 of file TaggingInterface.C.
Referenced by ResidualObject::validParams(), LinearSystemContributionObject::validParams(), LinearFVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), and FVBoundaryCondition::validParams().
|
friend |
Definition at line 451 of file TaggingInterface.h.
|
private |
The absolute value residual tag ids.
Definition at line 409 of file TaggingInterface.h.
Referenced by addResiduals(), addResidualsWithoutConstraints(), prepareVectorTag(), prepareVectorTagLower(), prepareVectorTagNeighbor(), and TaggingInterface().
|
private |
A container to hold absolute values of residuals passed into addResiduals
.
We maintain this data member to avoid constant dynamic heap allocations
Definition at line 449 of file TaggingInterface.h.
Referenced by addResiduals(), and addResidualsWithoutConstraints().
|
private |
Residual blocks for absolute value residual tags.
Definition at line 442 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalResidual(), assignTaggedLocalResidual(), prepareVectorTagInternal(), prepareVectorTagLower(), prepareVectorTagNeighbor(), and TaggingInterface().
|
private |
Kernel blocks Vectors For each Tag.
Definition at line 445 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalMatrix(), accumulateTaggedNonlocalMatrix(), assignTaggedLocalMatrix(), prepareMatrixTag(), prepareMatrixTagLower(), prepareMatrixTagNeighbor(), prepareMatrixTagNonlocal(), and TaggingInterface().
|
protected |
Holds local Jacobian entries as they are accumulated by this Kernel.
Definition at line 388 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalMatrix(), assignTaggedLocalMatrix(), ADDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), MassLumpedTimeDerivative::computeJacobian(), TimeDerivative::computeJacobian(), VectorTimeDerivative::computeJacobian(), ScalarKernel::computeJacobian(), Kernel::computeJacobian(), ODEKernel::computeJacobian(), VectorKernel::computeJacobian(), ArrayKernel::computeJacobian(), IntegratedBC::computeJacobian(), VectorIntegratedBC::computeJacobian(), EigenKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), NodalEqualValueConstraint::computeJacobian(), NodeElemConstraint::computeJacobian(), NonlocalIntegratedBC::computeJacobian(), KernelGrad::computeJacobian(), KernelValue::computeJacobian(), NonlocalKernel::computeJacobian(), MortarConstraint::computeJacobian(), NodeFaceConstraint::computeJacobian(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), VectorKernel::computeOffDiagJacobian(), Kernel::computeOffDiagJacobian(), ArrayKernel::computeOffDiagJacobian(), EigenKernel::computeOffDiagJacobian(), VectorIntegratedBC::computeOffDiagJacobian(), IntegratedBC::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), NodeElemConstraint::computeOffDiagJacobian(), NonlocalIntegratedBC::computeOffDiagJacobian(), NonlocalKernel::computeOffDiagJacobian(), KernelGrad::computeOffDiagJacobian(), KernelValue::computeOffDiagJacobian(), NodeFaceConstraint::computeOffDiagJacobian(), ODEKernel::computeOffDiagJacobianScalar(), VectorKernel::computeOffDiagJacobianScalar(), ArrayKernel::computeOffDiagJacobianScalar(), IntegratedBC::computeOffDiagJacobianScalar(), VectorIntegratedBC::computeOffDiagJacobianScalar(), Kernel::computeOffDiagJacobianScalar(), ArrayIntegratedBC::computeOffDiagJacobianScalar(), ScalarLagrangeMultiplier::computeOffDiagJacobianScalar(), MortarScalarBase::computeOffDiagJacobianScalar(), KernelScalarBase::computeOffDiagJacobianScalarLocal(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), MortarScalarBase::computeScalarJacobian(), KernelScalarBase::computeScalarJacobian(), MortarScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobian(), KernelScalarBase::computeScalarOffDiagJacobianScalar(), MortarScalarBase::computeScalarOffDiagJacobianScalar(), prepareMatrixTag(), prepareMatrixTagLower(), and prepareMatrixTagNeighbor().
|
protected |
Holds local residual entries as they are accumulated by this Kernel.
Definition at line 385 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalResidual(), FVInterfaceKernel::addResidual(), assignTaggedLocalResidual(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), DGLowerDKernel::computeLowerDResidual(), ArrayDGLowerDKernel::computeLowerDResidual(), ScalarKernel::computeResidual(), VectorKernel::computeResidual(), Kernel::computeResidual(), LowerDIntegratedBC::computeResidual(), ArrayKernel::computeResidual(), ADScalarKernel::computeResidual(), VectorTimeKernel::computeResidual(), TimeKernel::computeResidual(), ODETimeKernel::computeResidual(), ODEKernel::computeResidual(), ArrayLowerDIntegratedBC::computeResidual(), VectorIntegratedBC::computeResidual(), IntegratedBC::computeResidual(), ArrayIntegratedBC::computeResidual(), EigenKernel::computeResidual(), NodeElemConstraint::computeResidual(), NodalEqualValueConstraint::computeResidual(), ADMortarConstraint::computeResidual(), FVScalarLagrangeMultiplierConstraint::computeResidual(), FVBoundaryScalarLagrangeMultiplierConstraint::computeResidual(), FVFluxBC::computeResidual(), MortarConstraint::computeResidual(), KernelValue::computeResidual(), KernelGrad::computeResidual(), FVElementalKernel::computeResidual(), FVFluxKernel::computeResidual(), NodeFaceConstraint::computeResidual(), prepareVectorTagInternal(), prepareVectorTagLower(), and prepareVectorTagNeighbor().
|
private |
The matrices this Kernel will contribute to.
Definition at line 412 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalMatrix(), addJacobian(), addJacobianElement(), addJacobianWithoutConstraints(), getMatrixTags(), isMatrixTagged(), prepareMatrixTag(), prepareMatrixTagLower(), prepareMatrixTagNeighbor(), prepareMatrixTagNonlocal(), TaggingInterface(), and useMatrixTag().
|
private |
Moose objct this tag works on.
Definition at line 433 of file TaggingInterface.h.
Referenced by TaggingInterface().
|
private |
A set to hold absolute value vector tags excluding the reference residual tag.
If there is no reference residual problem, this container is the same as _abs_vector_tags
;
Definition at line 420 of file TaggingInterface.h.
Referenced by prepareVectorTag(), and TaggingInterface().
|
private |
A set to hold vector tags excluding the reference residual tag.
If there is no reference residual problem, this container is the same as _vector_tags
;
Definition at line 416 of file TaggingInterface.h.
Referenced by prepareVectorTag(), and TaggingInterface().
|
protected |
Holds nonlocal Jacobian entries as they are accumulated by this Kernel.
Definition at line 391 of file TaggingInterface.h.
Referenced by accumulateTaggedNonlocalMatrix(), NonlocalIntegratedBC::computeNonlocalJacobian(), NonlocalKernel::computeNonlocalJacobian(), NonlocalIntegratedBC::computeNonlocalOffDiagJacobian(), NonlocalKernel::computeNonlocalOffDiagJacobian(), and prepareMatrixTagNonlocal().
|
private |
Residual blocks Vectors For each Tag.
Definition at line 439 of file TaggingInterface.h.
Referenced by accumulateTaggedLocalResidual(), assignTaggedLocalResidual(), prepareVectorTagInternal(), prepareVectorTagLower(), prepareVectorTagNeighbor(), and TaggingInterface().
|
private |
A set of either size 1 or 0.
If we have a reference residual problem and _abs_vector_tags
holds the reference vector tag, then this set holds the reference vector tags, otherwise it holds nothing
Definition at line 430 of file TaggingInterface.h.
Referenced by prepareVectorTag(), and TaggingInterface().
|
private |
A set of either size 1 or 0.
If we have a reference residual problem and _vector_tags
holds the reference vector tag, then this set holds the reference vector tags, otherwise it holds nothing
Definition at line 425 of file TaggingInterface.h.
Referenced by prepareVectorTag(), and TaggingInterface().
|
protected |
SubProblem that contains tag info.
Definition at line 382 of file TaggingInterface.h.
Referenced by prepareVectorTagInternal(), prepareVectorTagLower(), prepareVectorTagNeighbor(), TaggingInterface(), useMatrixTag(), and useVectorTag().
|
private |
Parameters from moose object.
Definition at line 436 of file TaggingInterface.h.
Referenced by TaggingInterface().
|
private |
The vector tag ids this Kernel will contribute to.
Definition at line 406 of file TaggingInterface.h.
Referenced by addResiduals(), addResidualsWithoutConstraints(), getVectorTags(), hasVectorTags(), isVectorTagged(), prepareVectorTag(), prepareVectorTagLower(), prepareVectorTagNeighbor(), setResidual(), TaggingInterface(), and useVectorTag().