ESyS-Particle  2.3
AdhesiveFriction.h
Go to the documentation of this file.
1 // //
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
Definition: vec3.h:46
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:28
virtual ~CAdhesiveFriction()
Definition: AdhesiveFriction.cpp:51
double m_r_cut_h
Definition: AdhesiveFriction.h:52
virtual std::string getTypeString() const
Definition: AdhesiveFriction.h:24
CAdhesiveFriction()
Definition: AdhesiveFriction.cpp:21
Interaction parameters for adhesive frictional interaction.
Definition: AdhesiveFriction.h:21
double mu
Definition: AdhesiveFriction.h:32
void setTimeStepSize(double timeStepSize)
Definition: AdhesiveFriction.h:26
double r_cut
Definition: AdhesiveFriction.h:35
CAdhesiveFrictionIGP ParameterType
Definition: AdhesiveFriction.h:44
double k_s
Definition: AdhesiveFriction.h:33
double m_r_cut
Definition: AdhesiveFriction.h:51
virtual void calcForces()
Definition: AdhesiveFriction.cpp:54
Frictional+Elastic interaction between particles.
Definition: FrictionInteraction.h:52
pair< bool, double >(CAdhesiveFriction::* CheckedScalarFieldFunction)() const
Definition: AdhesiveFriction.h:47
double dt
Definition: AdhesiveFriction.h:34
Frictional+adhesive Elastic interaction between particles.
Definition: AdhesiveFriction.h:41
static string getType()
Definition: AdhesiveFriction.h:59
double(CAdhesiveFriction::* ScalarFieldFunction)() const
Definition: AdhesiveFriction.h:46
double k
Definition: AdhesiveFriction.h:31
Class for a basic particle.
Definition: Particle.h:50
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:28
Vec3(CAdhesiveFriction::* VectorFieldFunction)() const
Definition: AdhesiveFriction.h:48