20 #include "libmesh/quadrature.h" 26 params.
addParam<
unsigned int>(
"interface_id", 0,
"The id of the interface.");
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++)
virtual void computeJacobian() override
Computes the jacobian for the current side.
std::vector< Real > _constraint_weight
Weights of quadrature points used in integration of constraint.
virtual void computeResidual() override
Computes the residual for the current side.
void accumulateTaggedLocalResidual()
Local residual blocks will be appended by adding the current local kernel residual.
unsigned int number() const
Get variable number coming from libMesh.
std::vector< Point > _constraint_q_point
Quadrature points used in integration of constraint.
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
Base class for all Constraint types.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
DenseMatrix< Number > _local_ke
Holds local Jacobian entries as they are accumulated by this Kernel.
ElemElemConstraint(const InputParameters ¶meters)
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...
Enhances MooseVariableInterface interface provide values from neighbor elements.
const VariableTestValue & _test_neighbor
Neighbor test function.
virtual void computeElemNeighJacobian(Moose::DGJacobianType type)
Computes the element/neighbor-element/neighbor Jacobian.
static InputParameters validParams()
std::vector< Point > _elem1_constraint_q_point
virtual Real computeQpJacobian(Moose::DGJacobianType type)=0
Compute the Jacobian for one of the constraint quadrature points.
OutputTools< Real >::VariableTestValue VariableTestValue
VarKindType
Framework-wide stuff.
virtual void reinitConstraintQuadrature(const ElementPairInfo &element_pair_info)
Set information needed for constraint integration.
const VariableTestValue & _test
Test function.
const std::string & type() const
Get the type of this class.
This is the ElementPairInfo class.
const VariablePhiValue & _phi_neighbor
Neighbor shape function.
void accumulateTaggedLocalMatrix()
Local Jacobian blocks will be appended by adding the current local kernel Jacobian.
Assembly & _assembly
Reference to this Kernel's assembly object.
virtual Real computeQpResidual(Moose::DGResidualType type)=0
Compute the residual for one of the constraint quadrature points.
virtual void computeElemNeighResidual(Moose::DGResidualType type)
Computes the residual for this element or the neighbor.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
void prepareVectorTagNeighbor(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual the according to active tags for DG and interface kernels...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void reinit(const ElementPairInfo &element_pair_info)
reinit element-element constraint
DenseVector< Number > _local_re
Holds local residual entries as they are accumulated by this Kernel.
std::vector< Real > _elem1_constraint_JxW
const VariablePhiValue & _phi
Shape function.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual according to active tags.
static InputParameters validParams()
void ErrorVector unsigned int
unsigned int _i
Indices for looping over DOFs.