16 template <ComputeStage compute_stage>
21 params.addClassDescription(
22 "Computes the residual and Jacobian contributions for the 'Lagrange Multiplier' "
23 "implementation of the thermal contact problem. For more information, see the "
24 "detailed description here: http://tinyurl.com/gmmhbe9");
25 params.addRequiredParam<Real>(
"k",
"Gap conductance");
29 template <ComputeStage compute_stage>
31 const InputParameters & parameters)
32 : ADMortarConstraint<compute_stage>(parameters), _k(getParam<Real>(
"k"))
36 template <ComputeStage compute_stage>
42 case Moose::MortarType::Master:
43 return _lambda[_qp] * _test_master[_i][_qp];
44 case Moose::MortarType::Slave:
45 return -_lambda[_qp] * _test_slave[_i][_qp];
46 case Moose::MortarType::Lower:
48 auto l = (_phys_points_master[_qp] - _phys_points_slave[_qp]).norm();
49 return (_k * (_u_master[_qp] - _u_slave[_qp]) / l - _lambda[_qp]) * _test[_i][_qp];