www.mooseframework.org
ContactSlipDamper.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 "GeneralDamper.h"
14 
15 // Forward Declarations
16 class ContactSlipDamper;
17 class AuxiliarySystem;
18 class DisplacedProblem;
19 class PenetrationLocator;
20 
21 template <>
22 InputParameters validParams<ContactSlipDamper>();
23 
29 class ContactSlipDamper : public GeneralDamper
30 {
31 public:
32  ContactSlipDamper(const InputParameters & parameters);
33 
34  virtual void timestepSetup();
35 
36 protected:
37  AuxiliarySystem & _aux_sys;
38  MooseSharedPointer<DisplacedProblem> _displaced_problem;
39 
43  virtual Real computeDamping(const NumericVector<Number> & solution,
44  const NumericVector<Number> & update);
45 
50  bool operateOnThisInteraction(const PenetrationLocator & pen_loc);
51 
52  std::set<std::pair<int, int>> _interactions;
53 
64 
66  typedef std::map<std::pair<unsigned int, unsigned int>, PenetrationLocator *>::iterator
68 };
ContactSlipDamper::_interactions
std::set< std::pair< int, int > > _interactions
Definition: ContactSlipDamper.h:52
ContactSlipDamper::_displaced_problem
MooseSharedPointer< DisplacedProblem > _displaced_problem
Definition: ContactSlipDamper.h:38
ContactSlipDamper::_num_contact_nodes
int _num_contact_nodes
Definition: ContactSlipDamper.h:54
ContactSlipDamper::_min_damping_factor
Real _min_damping_factor
Definition: ContactSlipDamper.h:61
ContactSlipDamper::_num_sticking
int _num_sticking
Definition: ContactSlipDamper.h:55
ContactSlipDamper::computeDamping
virtual Real computeDamping(const NumericVector< Number > &solution, const NumericVector< Number > &update)
Compute the amount of damping.
Definition: ContactSlipDamper.C:115
ContactSlipDamper
Simple constant damper.
Definition: ContactSlipDamper.h:29
ContactSlipDamper::_max_iterative_slip
Real _max_iterative_slip
Definition: ContactSlipDamper.h:60
ContactSlipDamper::pl_iterator
std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * >::iterator pl_iterator
Convenient typedef for frequently used iterator.
Definition: ContactSlipDamper.h:67
ContactSlipDamper::_damping_threshold_factor
Real _damping_threshold_factor
Definition: ContactSlipDamper.h:62
ContactSlipDamper::_num_slipping
int _num_slipping
Definition: ContactSlipDamper.h:56
ContactSlipDamper::_num_slipping_friction
int _num_slipping_friction
Definition: ContactSlipDamper.h:57
validParams< ContactSlipDamper >
InputParameters validParams< ContactSlipDamper >()
Definition: ContactSlipDamper.C:21
ContactSlipDamper::ContactSlipDamper
ContactSlipDamper(const InputParameters &parameters)
Definition: ContactSlipDamper.C:45
ContactSlipDamper::_num_slip_reversed
int _num_slip_reversed
Definition: ContactSlipDamper.h:59
ContactSlipDamper::_num_stick_locked
int _num_stick_locked
Definition: ContactSlipDamper.h:58
ContactSlipDamper::operateOnThisInteraction
bool operateOnThisInteraction(const PenetrationLocator &pen_loc)
Determine whether the damper should operate on the interaction corresponding to the supplied Penetrat...
Definition: ContactSlipDamper.C:238
ContactSlipDamper::timestepSetup
virtual void timestepSetup()
Definition: ContactSlipDamper.C:80
ContactSlipDamper::_debug_output
bool _debug_output
Definition: ContactSlipDamper.h:63
ContactSlipDamper::_aux_sys
AuxiliarySystem & _aux_sys
Definition: ContactSlipDamper.h:37