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 AuxiliarySystem;
17 class DisplacedProblem;
18 class PenetrationLocator;
19 
26 {
27 public:
29 
31 
32  virtual void timestepSetup();
33 
34 protected:
36  MooseSharedPointer<DisplacedProblem> _displaced_problem;
37 
41  virtual Real computeDamping(const NumericVector<Number> & solution,
42  const NumericVector<Number> & update);
43 
48  bool operateOnThisInteraction(const PenetrationLocator & pen_loc);
49 
50  std::set<std::pair<int, int>> _interactions;
51 
62 
64  typedef std::map<std::pair<unsigned int, unsigned int>, PenetrationLocator *>::iterator
66 };
virtual Real computeDamping(const NumericVector< Number > &solution, const NumericVector< Number > &update)
Compute the amount of damping.
std::set< std::pair< int, int > > _interactions
static InputParameters validParams()
virtual void timestepSetup()
Simple constant damper.
MooseSharedPointer< DisplacedProblem > _displaced_problem
std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * >::iterator pl_iterator
Convenient typedef for frequently used iterator.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
ContactSlipDamper(const InputParameters &parameters)
AuxiliarySystem & _aux_sys
bool operateOnThisInteraction(const PenetrationLocator &pen_loc)
Determine whether the damper should operate on the interaction corresponding to the supplied Penetrat...