ESyS-Particle  2.3.2
AdhesiveFriction.h
Go to the documentation of this file.
1 
2 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef __ADHESIVEFRICTION_H
14 #define __ADHESIVEFRICTION_H
15 
17 
22 {
23 public:
24  virtual std::string getTypeString() const {return "AdhesiveFriction";}
25 
26  void setTimeStepSize(double timeStepSize)
27  {
28  this->dt = timeStepSize;
29  }
30 
31  double k;
32  double mu;
33  double k_s;
34  double dt;
35  double r_cut;
36 };
37 
42 {
43 public: // types
45 
46  typedef double (CAdhesiveFriction::* ScalarFieldFunction)() const;
47  typedef pair<bool,double> (CAdhesiveFriction::* CheckedScalarFieldFunction)() const;
49 
50 protected:
51  double m_r_cut;
52  double m_r_cut_h;
53 
54 public:
57  virtual ~CAdhesiveFriction();
58 
59  static string getType() {return "AdhesiveFriction";};
60 
61  virtual void calcForces();
62 
64 };
65 
66 #endif // __ADHESIVEFRICTION_H