20#include "libmesh/quadrature.h"
26 params.
addParam<
unsigned int>(
"interface_id", 0,
"The id of the interface.");
34 this, false,
Moose::VarKindType::VAR_SOLVER,
Moose::VarFieldType::VAR_FIELD_STANDARD),
35 _fe_problem(*getCheckedPointerParam<
FEProblemBase *>(
"_fe_problem_base")),
36 _dim(_mesh.dimension()),
37 _interface_id(getParam<unsigned
int>(
"interface_id")),
38 _var(_sys.getFieldVariable<Real>(_tid, parameters.get<NonlinearVariableName>(
"variable"))),
40 _current_elem(_assembly.elem()),
42 _neighbor_elem(_assembly.neighbor()),
45 _grad_u(_var.gradSln()),
47 _phi(_assembly.phi(_var)),
48 _grad_phi(_assembly.gradPhi(_var)),
51 _grad_test(_var.gradPhi()),
53 _phi_neighbor(_assembly.phiNeighbor(_var)),
54 _grad_phi_neighbor(_assembly.gradPhiNeighbor(_var)),
56 _test_neighbor(_var.phiNeighbor()),
57 _grad_test_neighbor(_var.gradPhiNeighbor()),
59 _u_neighbor(_var.slnNeighbor()),
60 _grad_u_neighbor(_var.gradSlnNeighbor())
99 for (
_i = 0;
_i < test_space.size();
_i++)
124 for (
_i = 0;
_i < test_space.size();
_i++)
125 for (
_j = 0;
_j < loc_phi.size();
_j++)
OutputTools< Real >::VariableTestValue VariableTestValue
void ErrorVector unsigned int
Base class for all Constraint types.
static InputParameters validParams()
const VariableTestValue & _test_neighbor
Neighbor test function.
std::vector< Real > _constraint_weight
Weights of quadrature points used in integration of constraint.
const VariablePhiValue & _phi_neighbor
Neighbor shape function.
const VariablePhiValue & _phi
Shape function.
virtual void reinitConstraintQuadrature(const ElementPairInfo &element_pair_info)
Set information needed for constraint integration.
virtual void computeResidual() override
Computes the residual for the current side.
unsigned int _i
Indices for looping over DOFs.
ElemElemConstraint(const InputParameters ¶meters)
virtual void computeElemNeighJacobian(Moose::DGJacobianType type)
Computes the element/neighbor-element/neighbor Jacobian.
virtual void computeJacobian() override
Computes the jacobian for the current side.
std::vector< Point > _constraint_q_point
Quadrature points used in integration of constraint.
virtual void computeElemNeighResidual(Moose::DGResidualType type)
Computes the residual for this element or the neighbor.
virtual Real computeQpResidual(Moose::DGResidualType type)=0
Compute the residual for one of the constraint quadrature points.
const VariableTestValue & _test
Test function.
virtual Real computeQpJacobian(Moose::DGJacobianType type)=0
Compute the Jacobian for one of the constraint quadrature points.
static InputParameters validParams()
virtual void reinit(const ElementPairInfo &element_pair_info)
reinit element-element constraint
This is the ElementPairInfo class.
std::vector< Real > _elem1_constraint_JxW
std::vector< Point > _elem1_constraint_q_point
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const std::string & type() const
Get the type of this class.
unsigned int number() const
Get variable number coming from libMesh.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
Enhances MooseVariableInterface interface provide values from neighbor elements.
Assembly & _assembly
Reference to this Kernel's assembly object.
DenseMatrix< Number > _local_ke
Holds local Jacobian entries as they are accumulated by this Kernel.
void accumulateTaggedLocalMatrix()
Local Jacobian blocks will be appended by adding the current local kernel Jacobian.
void accumulateTaggedLocalResidual()
Local residual blocks will be appended by adding the current local kernel residual.
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...
void prepareVectorTagNeighbor(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual the according to active tags for DG and interface kernels...
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual according to active tags.
DenseVector< Number > _local_re
Holds local residual entries as they are accumulated by this Kernel.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...