13 #include "MooseVariable.h"
21 InputParameters params = validParams<InterfaceKernel>();
22 params.addClassDescription(
"Lagrange multiplier kernel for EqualGradientLagrangeInterface.");
23 params.addRequiredParam<
unsigned int>(
"component",
"Gradient component to constrain");
24 params.addCoupledVar(
"element_var",
25 "The gradient constrained variable on this side of the interface.");
26 params.addParam<Real>(
"jacobian_fill",
28 "Compensate on diagonal Jacobian fill term when "
29 "using a NullKernel on the Lagrange multiplier "
35 : InterfaceKernel(parameters),
36 _component(getParam<unsigned int>(
"component")),
37 _grad_element_value(getVar(
"element_var", 0)->gradSln()),
38 _element_jvar(getVar(
"element_var", 0)->number()),
39 _neighbor_jvar(_neighbor_var.number()),
40 _jacobian_fill(getParam<Real>(
"jacobian_fill"))
47 if (type == Moose::Element)
57 if (type == Moose::ElementNeighbor)
58 return -_grad_phi_neighbor[_j][_qp](
_component) * _test[_i][_qp];
60 if (type == Moose::ElementElement)
71 return _grad_phi[_j][_qp](
_component) * _test[_i][_qp];