www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
GapHeatPointSourceMaster Class Reference

#include <GapHeatPointSourceMaster.h>

Inheritance diagram for GapHeatPointSourceMaster:
[legend]

Public Member Functions

 GapHeatPointSourceMaster (const InputParameters &parameters)
 
virtual void addPoints ()
 
virtual Real computeQpResidual ()
 
virtual Real computeQpJacobian ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

PenetrationLocator & _penetration_locator
 
std::map< Point, PenetrationInfo * > point_to_info
 
NumericVector< Number > & _slave_flux
 

Detailed Description

Definition at line 22 of file GapHeatPointSourceMaster.h.

Constructor & Destructor Documentation

◆ GapHeatPointSourceMaster()

GapHeatPointSourceMaster::GapHeatPointSourceMaster ( const InputParameters &  parameters)

Definition at line 42 of file GapHeatPointSourceMaster.C.

43  : DiracKernel(parameters),
45  getPenetrationLocator(getParam<BoundaryName>("boundary"),
46  getParam<BoundaryName>("slave"),
47  Utility::string_to_enum<Order>(getParam<MooseEnum>("order")))),
48  _slave_flux(_sys.getVector("slave_flux"))
49 {
50  if (parameters.isParamValid("tangential_tolerance"))
51  _penetration_locator.setTangentialTolerance(getParam<Real>("tangential_tolerance"));
52 
53  if (parameters.isParamValid("normal_smoothing_distance"))
54  _penetration_locator.setNormalSmoothingDistance(getParam<Real>("normal_smoothing_distance"));
55 
56  if (parameters.isParamValid("normal_smoothing_method"))
57  _penetration_locator.setNormalSmoothingMethod(
58  parameters.get<std::string>("normal_smoothing_method"));
59 }

Member Function Documentation

◆ addPoints()

void GapHeatPointSourceMaster::addPoints ( )
virtual

Definition at line 62 of file GapHeatPointSourceMaster.C.

63 {
64  point_to_info.clear();
65  _slave_flux.close();
66 
67  std::map<dof_id_type, PenetrationInfo *>::iterator
68  it = _penetration_locator._penetration_info.begin(),
69  end = _penetration_locator._penetration_info.end();
70 
71  for (; it != end; ++it)
72  {
73  PenetrationInfo * pinfo = it->second;
74 
75  // Skip this pinfo if there are no DOFs on this node.
76  if (!pinfo || pinfo->_node->n_comp(_sys.number(), _var.number()) < 1)
77  continue;
78 
79  addPoint(pinfo->_elem, pinfo->_closest_point);
80  point_to_info[pinfo->_closest_point] = pinfo;
81  }
82 }

◆ computeQpJacobian()

Real GapHeatPointSourceMaster::computeQpJacobian ( )
virtual

Definition at line 95 of file GapHeatPointSourceMaster.C.

96 {
97  return 0.0;
98 }

◆ computeQpResidual()

Real GapHeatPointSourceMaster::computeQpResidual ( )
virtual

Definition at line 85 of file GapHeatPointSourceMaster.C.

86 {
87  PenetrationInfo * pinfo = point_to_info[_current_point];
88  const Node * node = pinfo->_node;
89  long int dof_number = node->dof_number(_sys.number(), _var.number(), 0);
90 
91  return -_test[_i][_qp] * _slave_flux(dof_number);
92 }

◆ validParams()

InputParameters GapHeatPointSourceMaster::validParams ( )
static

Definition at line 22 of file GapHeatPointSourceMaster.C.

23 {
24  MooseEnum orders("CONSTANT FIRST SECOND THIRD FOURTH", "FIRST");
25 
26  InputParameters params = DiracKernel::validParams();
27  params.addRequiredParam<BoundaryName>("boundary", "The master boundary");
28  params.addRequiredParam<BoundaryName>("slave", "The slave boundary");
29  params.addParam<MooseEnum>("order", orders, "The finite element order");
30  params.set<bool>("use_displaced_mesh") = true;
31  params.addParam<Real>("tangential_tolerance",
32  "Tangential distance to extend edges of contact surfaces");
33  params.addParam<Real>(
34  "normal_smoothing_distance",
35  "Distance from edge in parametric coordinates over which to smooth contact normal");
36  params.addParam<std::string>("normal_smoothing_method",
37  "Method to use to smooth normals (edge_based|nodal_normal_based)");
38 
39  return params;
40 }

Member Data Documentation

◆ _penetration_locator

PenetrationLocator& GapHeatPointSourceMaster::_penetration_locator
protected

Definition at line 34 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and GapHeatPointSourceMaster().

◆ _slave_flux

NumericVector<Number>& GapHeatPointSourceMaster::_slave_flux
protected

Definition at line 36 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().

◆ point_to_info

std::map<Point, PenetrationInfo *> GapHeatPointSourceMaster::point_to_info
protected

Definition at line 35 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().


The documentation for this class was generated from the following files:
GapHeatPointSourceMaster::_penetration_locator
PenetrationLocator & _penetration_locator
Definition: GapHeatPointSourceMaster.h:34
GapHeatPointSourceMaster::point_to_info
std::map< Point, PenetrationInfo * > point_to_info
Definition: GapHeatPointSourceMaster.h:35
validParams
InputParameters validParams()
GapHeatPointSourceMaster::_slave_flux
NumericVector< Number > & _slave_flux
Definition: GapHeatPointSourceMaster.h:36