www.mooseframework.org
SlaveConstraint.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef SLAVECONSTRAINT_H
8 #define SLAVECONSTRAINT_H
9 
10 #include "ContactMaster.h" // For the ContactModel
11 
12 // Moose Includes
13 #include "DiracKernel.h"
14 #include "PenetrationLocator.h"
15 
16 // Forward Declarations
17 class SlaveConstraint;
18 
19 template <>
20 InputParameters validParams<SlaveConstraint>();
21 
22 class SlaveConstraint : public DiracKernel
23 {
24 public:
25  SlaveConstraint(const InputParameters & parameters);
26 
27  virtual void addPoints();
28  virtual Real computeQpResidual();
29  virtual Real computeQpJacobian();
30 
31 protected:
32  Real nodalArea(PenetrationInfo & pinfo);
33 
34  const unsigned int _component;
37  const bool _normalize_penalty;
38  PenetrationLocator & _penetration_locator;
39 
40  const Real _penalty;
42 
43  NumericVector<Number> & _residual_copy;
44 
45  std::map<Point, PenetrationInfo *> _point_to_info;
46 
47  std::vector<unsigned int> _vars;
48 
49  const unsigned int _mesh_dimension;
50 
51  MooseVariable * _nodal_area_var;
52  SystemBase & _aux_system;
53  const NumericVector<Number> * _aux_solution;
54 };
55 
56 #endif // SLAVECONSTRAINT_H
MooseVariable * _nodal_area_var
virtual Real computeQpResidual()
virtual Real computeQpJacobian()
const Real _penalty
ContactModel
Definition: ContactMaster.h:14
ContactFormulation
Definition: ContactMaster.h:22
const Real _friction_coefficient
const ContactFormulation _formulation
virtual void addPoints()
std::vector< unsigned int > _vars
const ContactModel _model
SystemBase & _aux_system
const unsigned int _component
SlaveConstraint(const InputParameters &parameters)
InputParameters validParams< SlaveConstraint >()
const unsigned int _mesh_dimension
const bool _normalize_penalty
PenetrationLocator & _penetration_locator
NumericVector< Number > & _residual_copy
std::map< Point, PenetrationInfo * > _point_to_info
Real nodalArea(PenetrationInfo &pinfo)
const NumericVector< Number > * _aux_solution