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 20 of file GapHeatPointSourceMaster.h.

Constructor & Destructor Documentation

GapHeatPointSourceMaster::GapHeatPointSourceMaster ( const InputParameters &  parameters)

Definition at line 37 of file GapHeatPointSourceMaster.C.

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

Member Function Documentation

void GapHeatPointSourceMaster::addPoints ( )
virtual

Definition at line 57 of file GapHeatPointSourceMaster.C.

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

Definition at line 90 of file GapHeatPointSourceMaster.C.

91 {
92  return 0.0;
93 }
Real GapHeatPointSourceMaster::computeQpResidual ( )
virtual

Definition at line 80 of file GapHeatPointSourceMaster.C.

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

Member Data Documentation

PenetrationLocator& GapHeatPointSourceMaster::_penetration_locator
protected

Definition at line 30 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and GapHeatPointSourceMaster().

NumericVector<Number>& GapHeatPointSourceMaster::_slave_flux
protected

Definition at line 32 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().

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

Definition at line 31 of file GapHeatPointSourceMaster.h.

Referenced by addPoints(), and computeQpResidual().


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