www.mooseframework.org
contact
include
dirackernels
ContactMaster.h
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
10
#pragma once
11
12
// Moose Includes
13
#include "DiracKernel.h"
14
#include "PenetrationLocator.h"
15
16
// Forward Declarations
17
class
ContactMaster
;
18
enum class
ContactModel
;
19
enum class
ContactFormulation
;
20
21
template
<>
22
InputParameters
validParams<ContactMaster>
();
23
24
class
ContactMaster
:
public
DiracKernel
25
{
26
public
:
27
ContactMaster
(
const
InputParameters & parameters);
28
29
virtual
void
timestepSetup
()
override
;
30
31
virtual
void
addPoints
()
override
;
32
void
computeContactForce
(PenetrationInfo * pinfo,
bool
update_contact_set);
33
virtual
Real
computeQpResidual
()
override
;
34
virtual
Real
computeQpJacobian
()
override
;
35
36
virtual
void
updateContactStatefulData
();
37
38
protected
:
39
Real
nodalArea
(PenetrationInfo & pinfo);
40
Real
getPenalty
(PenetrationInfo & pinfo);
41
42
const
unsigned
int
_component
;
43
const
ContactModel
_model
;
44
const
ContactFormulation
_formulation
;
45
const
bool
_normalize_penalty
;
46
PenetrationLocator &
_penetration_locator
;
47
48
const
Real
_penalty
;
49
const
Real
_friction_coefficient
;
50
const
Real
_tension_release
;
51
const
Real
_capture_tolerance
;
52
53
NumericVector<Number> &
_residual_copy
;
54
55
std::map<Point, PenetrationInfo *>
_point_to_info
;
56
57
const
unsigned
int
_mesh_dimension
;
58
59
std::vector<unsigned int>
_vars
;
60
61
MooseVariable *
_nodal_area_var
;
62
SystemBase &
_aux_system
;
63
const
NumericVector<Number> *
_aux_solution
;
64
};
ContactModel
ContactModel
Definition:
ContactAction.h:16
ContactMaster::_component
const unsigned int _component
Definition:
ContactMaster.h:42
ContactMaster::computeQpJacobian
virtual Real computeQpJacobian() override
Definition:
ContactMaster.C:342
ContactMaster::_aux_system
SystemBase & _aux_system
Definition:
ContactMaster.h:62
ContactMaster::_penetration_locator
PenetrationLocator & _penetration_locator
Definition:
ContactMaster.h:46
ContactMaster
Definition:
ContactMaster.h:24
ContactMaster::_aux_solution
const NumericVector< Number > * _aux_solution
Definition:
ContactMaster.h:63
ContactMaster::_residual_copy
NumericVector< Number > & _residual_copy
Definition:
ContactMaster.h:53
ContactMaster::_point_to_info
std::map< Point, PenetrationInfo * > _point_to_info
Definition:
ContactMaster.h:55
ContactMaster::_formulation
const ContactFormulation _formulation
Definition:
ContactMaster.h:44
ContactMaster::nodalArea
Real nodalArea(PenetrationInfo &pinfo)
Definition:
ContactMaster.C:412
ContactMaster::_vars
std::vector< unsigned int > _vars
Definition:
ContactMaster.h:59
ContactMaster::computeQpResidual
virtual Real computeQpResidual() override
Definition:
ContactMaster.C:334
ContactMaster::_tension_release
const Real _tension_release
Definition:
ContactMaster.h:50
ContactMaster::_capture_tolerance
const Real _capture_tolerance
Definition:
ContactMaster.h:51
ContactMaster::addPoints
virtual void addPoints() override
Definition:
ContactMaster.C:163
ContactMaster::_normalize_penalty
const bool _normalize_penalty
Definition:
ContactMaster.h:45
ContactFormulation
ContactFormulation
Definition:
ContactAction.h:23
validParams< ContactMaster >
InputParameters validParams< ContactMaster >()
Definition:
ContactMaster.C:26
ContactMaster::_nodal_area_var
MooseVariable * _nodal_area_var
Definition:
ContactMaster.h:61
ContactMaster::computeContactForce
void computeContactForce(PenetrationInfo *pinfo, bool update_contact_set)
Definition:
ContactMaster.C:194
ContactMaster::getPenalty
Real getPenalty(PenetrationInfo &pinfo)
Definition:
ContactMaster.C:430
ContactMaster::_mesh_dimension
const unsigned int _mesh_dimension
Definition:
ContactMaster.h:57
ContactMaster::_friction_coefficient
const Real _friction_coefficient
Definition:
ContactMaster.h:49
ContactMaster::_penalty
const Real _penalty
Definition:
ContactMaster.h:48
ContactMaster::_model
const ContactModel _model
Definition:
ContactMaster.h:43
ContactMaster::updateContactStatefulData
virtual void updateContactStatefulData()
Definition:
ContactMaster.C:139
ContactMaster::timestepSetup
virtual void timestepSetup() override
Definition:
ContactMaster.C:132
ContactMaster::ContactMaster
ContactMaster(const InputParameters ¶meters)
Definition:
ContactMaster.C:72
Generated on Sat Jan 25 2020 12:04:35 for www.mooseframework.org by
1.8.16