www.mooseframework.org
GapConductanceConstraint.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
13 
15 
16 template <ComputeStage compute_stage>
17 InputParameters
19 {
20  InputParameters params = ADMortarConstraint<compute_stage>::validParams();
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");
26  return params;
27 }
28 
29 template <ComputeStage compute_stage>
31  const InputParameters & parameters)
32  : ADMortarConstraint<compute_stage>(parameters), _k(getParam<Real>("k"))
33 {
34 }
35 
36 template <ComputeStage compute_stage>
37 ADReal
39 {
40  switch (mortar_type)
41  {
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:
47  {
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];
50  }
51  default:
52  return 0;
53  }
54 }
GapConductanceConstraint.h
defineADLegacyParams
defineADLegacyParams(GapConductanceConstraint)
GapConductanceConstraint
This Constraint implements thermal contact using a "gap conductance" model in which the flux is repre...
Definition: GapConductanceConstraint.h:15
registerADMooseObject
registerADMooseObject("HeatConductionApp", GapConductanceConstraint)
GapConductanceConstraint::computeQpResidual
virtual ADReal computeQpResidual(Moose::MortarType mortar_type) override
Computes the residual for the LM equation, lambda = (k/l)*(T^(1) - PT^(2)).
Definition: GapConductanceConstraint.C:38
GapConductanceConstraint::GapConductanceConstraint
GapConductanceConstraint(const InputParameters &parameters)
Definition: GapConductanceConstraint.C:30
validParams
InputParameters validParams()
GapConductanceConstraint::validParams
static InputParameters validParams()
Definition: GapConductanceConstraint.C:18