www.mooseframework.org
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 ()
 

Protected Attributes

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

Detailed Description

Definition at line 23 of file GapHeatPointSourceMaster.h.

Constructor & Destructor Documentation

◆ GapHeatPointSourceMaster()

GapHeatPointSourceMaster::GapHeatPointSourceMaster ( const InputParameters &  parameters)

Definition at line 41 of file GapHeatPointSourceMaster.C.

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

Member Function Documentation

◆ addPoints()

void GapHeatPointSourceMaster::addPoints ( )
virtual

Definition at line 61 of file GapHeatPointSourceMaster.C.

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

◆ computeQpJacobian()

Real GapHeatPointSourceMaster::computeQpJacobian ( )
virtual

Definition at line 94 of file GapHeatPointSourceMaster.C.

95 {
96  return 0.0;
97 }

◆ computeQpResidual()

Real GapHeatPointSourceMaster::computeQpResidual ( )
virtual

Definition at line 84 of file GapHeatPointSourceMaster.C.

85 {
86  PenetrationInfo * pinfo = point_to_info[_current_point];
87  const Node * node = pinfo->_node;
88  long int dof_number = node->dof_number(_sys.number(), _var.number(), 0);
89 
90  return -_test[_i][_qp] * _slave_flux(dof_number);
91 }
NumericVector< Number > & _slave_flux
std::map< Point, PenetrationInfo * > point_to_info

Member Data Documentation

◆ _penetration_locator

PenetrationLocator& GapHeatPointSourceMaster::_penetration_locator
protected

Definition at line 33 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and GapHeatPointSourceMaster().

◆ _slave_flux

NumericVector<Number>& GapHeatPointSourceMaster::_slave_flux
protected

Definition at line 35 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().

◆ point_to_info

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

Definition at line 34 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().


The documentation for this class was generated from the following files: