www.mooseframework.org
MultiDContactConstraint.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 "NodeFaceConstraint.h"
14 
15 // Forward Declarations
17 enum class ContactModel;
18 enum class ContactFormulation;
19 
20 template <>
21 InputParameters validParams<MultiDContactConstraint>();
22 
27 class MultiDContactConstraint : public NodeFaceConstraint
28 {
29 public:
30  MultiDContactConstraint(const InputParameters & parameters);
32 
33  virtual void timestepSetup();
34  virtual void jacobianSetup();
35 
36  virtual void updateContactSet();
37 
38  virtual Real computeQpSlaveValue();
39 
40  virtual Real computeQpResidual(Moose::ConstraintType type);
41 
42  virtual Real computeQpJacobian(Moose::ConstraintJacobianType type);
43 
44  bool shouldApply();
45 
46 protected:
47  NumericVector<Number> & _residual_copy;
48 
50 
51  const unsigned int _component;
52 
54 
55  Real _penalty;
56 
57  unsigned int _x_var;
58  unsigned int _y_var;
59  unsigned int _z_var;
60 
61  const unsigned int _mesh_dimension;
62 
63  std::vector<unsigned int> _vars;
64 };
ContactModel
ContactModel
Definition: ContactAction.h:16
MultiDContactConstraint::computeQpJacobian
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type)
Definition: MultiDContactConstraint.C:264
MultiDContactConstraint::MultiDContactConstraint
MultiDContactConstraint(const InputParameters &parameters)
Definition: MultiDContactConstraint.C:58
MultiDContactConstraint::_component
const unsigned int _component
Definition: MultiDContactConstraint.h:51
MultiDContactConstraint::timestepSetup
virtual void timestepSetup()
Definition: MultiDContactConstraint.C:92
MultiDContactConstraint::shouldApply
bool shouldApply()
Definition: MultiDContactConstraint.C:176
MultiDContactConstraint::computeQpSlaveValue
virtual Real computeQpSlaveValue()
Definition: MultiDContactConstraint.C:184
MultiDContactConstraint::_jacobian_update
bool _jacobian_update
Definition: MultiDContactConstraint.h:49
MultiDContactConstraint::_residual_copy
NumericVector< Number > & _residual_copy
Definition: MultiDContactConstraint.h:47
MultiDContactConstraint
A MultiDContactConstraint forces the value of a variable to be the same on both sides of an interface...
Definition: MultiDContactConstraint.h:27
MultiDContactConstraint::_penalty
Real _penalty
Definition: MultiDContactConstraint.h:55
MultiDContactConstraint::_model
const ContactModel _model
Definition: MultiDContactConstraint.h:53
MultiDContactConstraint::computeQpResidual
virtual Real computeQpResidual(Moose::ConstraintType type)
Definition: MultiDContactConstraint.C:208
MultiDContactConstraint::jacobianSetup
virtual void jacobianSetup()
Definition: MultiDContactConstraint.C:99
MultiDContactConstraint::_z_var
unsigned int _z_var
Definition: MultiDContactConstraint.h:59
MultiDContactConstraint::updateContactSet
virtual void updateContactSet()
Definition: MultiDContactConstraint.C:106
MultiDContactConstraint::~MultiDContactConstraint
virtual ~MultiDContactConstraint()
Definition: MultiDContactConstraint.h:31
ContactFormulation
ContactFormulation
Definition: ContactAction.h:23
MultiDContactConstraint::_y_var
unsigned int _y_var
Definition: MultiDContactConstraint.h:58
MultiDContactConstraint::_vars
std::vector< unsigned int > _vars
Definition: MultiDContactConstraint.h:63
MultiDContactConstraint::_mesh_dimension
const unsigned int _mesh_dimension
Definition: MultiDContactConstraint.h:61
MultiDContactConstraint::_x_var
unsigned int _x_var
Definition: MultiDContactConstraint.h:57
validParams< MultiDContactConstraint >
InputParameters validParams< MultiDContactConstraint >()
Definition: MultiDContactConstraint.C:24