SlidingFrictionSpecies.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef SLIDINGFRICTIONSPECIES_H
6 #define SLIDINGFRICTIONSPECIES_H
7 
9 #include "Math/ExtendedMath.h"
11 
17 {
18 public:
21 
24 
27 
30 
32  void read(std::istream& is);
33 
35  void write(std::ostream& os) const;
36 
38  virtual std::string getBaseName() const;
39 
40 //setters and getters
42  void setSlidingStiffness(Mdouble new_kt);
43 
46 
48  void setSlidingDissipation(Mdouble new_dispt);
49 
52 
54  //mu has to be set to allow tangential forces (sets dispt=disp as default)
56 
59 
62 
65 
69  bool getUseAngularDOFs() const override;
70 
73 
75  void
77 
80  Mdouble mass);
81 
82  void setIsSuperquadricSpecies(bool isSuperquadricSpecies);
83  bool getIsSuperquadricSpecies() const;
84 
85 private:
93 
103 
106 
109 
111 };
112 
113 #endif
Definition: BaseFrictionForce.h:10
Computes the forces corresponding to sliding friction.
Definition: SlidingFrictionInteraction.h:22
SlidingFrictionSpecies contains the parameters used to describe sliding friction.
Definition: SlidingFrictionSpecies.h:17
Mdouble slidingStiffness_
tangential stiffness.
Definition: SlidingFrictionSpecies.h:92
virtual std::string getBaseName() const
Used in Species::getName to obtain a unique name for each Species.
Definition: SlidingFrictionSpecies.cc:77
void write(std::ostream &os) const
Writes the species properties to an output stream.
Definition: SlidingFrictionSpecies.cc:52
Mdouble getSlidingFrictionCoefficientStatic() const
Allows the static Coulomb friction coefficient to be accessed.
Definition: SlidingFrictionSpecies.cc:153
void setSlidingStiffness(Mdouble new_kt)
Allows the spring constant to be changed.
Definition: SlidingFrictionSpecies.cc:83
Mdouble slidingFrictionCoefficientStatic_
static Coulomb friction coefficient (by default set equal to mu)
Definition: SlidingFrictionSpecies.h:108
bool getUseAngularDOFs() const override
Returns true if torques have to be calculated.
Definition: SlidingFrictionSpecies.cc:164
Mdouble getSlidingFrictionCoefficient() const
Allows the (dynamic) Coulomb friction coefficient to be accessed.
Definition: SlidingFrictionSpecies.cc:134
void mix(SlidingFrictionSpecies *S, SlidingFrictionSpecies *T)
creates default values for mixed species
Definition: SlidingFrictionSpecies.cc:175
SlidingFrictionInteraction InteractionType
The correct Interaction type for this FrictionForceSpecies.
Definition: SlidingFrictionSpecies.h:20
Mdouble getSlidingStiffness() const
Allows the spring constant to be accessed.
Definition: SlidingFrictionSpecies.cc:96
void setSlidingDissipation(Mdouble new_dispt)
Allows the tangential viscosity to be changed.
Definition: SlidingFrictionSpecies.cc:102
void setSlidingFrictionCoefficientStatic(Mdouble new_mu)
Allows the static Coulomb friction coefficient to be changed.
Definition: SlidingFrictionSpecies.cc:140
Mdouble getSlidingDissipation() const
Allows the tangential viscosity to be accessed.
Definition: SlidingFrictionSpecies.cc:113
Mdouble slidingFrictionCoefficient_
(dynamic) Coulomb friction coefficient
Definition: SlidingFrictionSpecies.h:105
void setSlidingFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.
Definition: SlidingFrictionSpecies.cc:120
~SlidingFrictionSpecies()
The default destructor.
Definition: SlidingFrictionSpecies.cc:42
void read(std::istream &is)
Reads the species properties from an input stream.
Definition: SlidingFrictionSpecies.cc:64
void setCollisionTimeAndNormalAndTangentialRestitutionCoefficientNoDispt(Mdouble tc, Mdouble eps, Mdouble beta, Mdouble mass)
Sets k, disp, kt (with dispt=0) such that it matches a given tc and eps for a collision of two partic...
Definition: SlidingFrictionSpecies.cc:228
Mdouble slidingDissipation_
tangential dissipation coefficient.
Definition: SlidingFrictionSpecies.h:102
bool getIsSuperquadricSpecies() const
Definition: SlidingFrictionSpecies.cc:250
SlidingFrictionSpecies()
The default constructor.
Definition: SlidingFrictionSpecies.cc:15
bool isSuperquadricSpecies_
Definition: SlidingFrictionSpecies.h:110
void setIsSuperquadricSpecies(bool isSuperquadricSpecies)
Definition: SlidingFrictionSpecies.cc:245
void setCollisionTimeAndNormalAndTangentialRestitutionCoefficient(Mdouble tc, Mdouble eps, Mdouble beta, Mdouble mass)
Sets k, disp, kt, dispt such that it matches a given tc and eps for a collision of two particles of m...
Definition: SlidingFrictionSpecies.cc:186
RealScalar s
Definition: level1_cplx_impl.h:130
Scalar beta
Definition: level2_cplx_impl.h:36
double eps
Definition: crbond_bessel.cc:24
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
@ S
Definition: quadtree.h:62