MindlinSpecies.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 MINDLINSPECIES_H
6 #define MINDLINSPECIES_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
41 
43  void setSlidingDissipation(Mdouble new_dispt);
44 
47 
49  //mu has to be set to allow tangential forces (sets dispt=disp as default)
51 
54 
57 
60 
63 
65  void setEffectiveShearModulus(Mdouble shearModulus);
66 
69 
73  bool getUseAngularDOFs() const override;
74 
77 
78 private:
79 
89 
92 
95 
98 
99 
100 };
101 
102 #endif
#define MERCURYDPM_DEPRECATED
Definition: GeneralDefine.h:16
Definition: BaseFrictionForce.h:10
Computes the forces corresponding to sliding friction.
Definition: MindlinInteraction.h:22
MindlinSpecies contains the parameters used to describe sliding friction.
Definition: MindlinSpecies.h:17
Mdouble slidingFrictionCoefficient_
(dynamic) Coulomb friction coefficient
Definition: MindlinSpecies.h:91
void mix(MindlinSpecies *S, MindlinSpecies *T)
creates default values for mixed species
Definition: MindlinSpecies.cc:190
MERCURYDPM_DEPRECATED void setPoissonRatio(Mdouble poissonRatio)
Allows the poisson ratio to be changed.
Definition: MindlinSpecies.cc:135
Mdouble getSlidingDissipation() const
Allows the tangential viscosity to be accessed.
Definition: MindlinSpecies.cc:95
void setEffectiveShearModulus(Mdouble shearModulus)
allows the shear modulus to be changed
Definition: MindlinSpecies.cc:154
bool getUseAngularDOFs() const override
Returns true if torques have to be calculated.
Definition: MindlinSpecies.cc:179
Mdouble getEffectiveShearModulus() const
Allows the shear modulus to be accessed.
Definition: MindlinSpecies.cc:162
void setSlidingFrictionCoefficientStatic(Mdouble new_mu)
Allows the static Coulomb friction coefficient to be changed.
Definition: MindlinSpecies.cc:122
~MindlinSpecies()
The default destructor.
Definition: MindlinSpecies.cc:41
virtual std::string getBaseName() const
Used in Species::getName to obtain a unique name for each Species.
Definition: MindlinSpecies.cc:77
void write(std::ostream &os) const
Writes the species properties to an output stream.
Definition: MindlinSpecies.cc:52
Mdouble getSlidingFrictionCoefficientStatic() const
Allows the static Coulomb friction coefficient to be accessed.
Definition: MindlinSpecies.cc:168
MindlinSpecies()
The default constructor.
Definition: MindlinSpecies.cc:16
Mdouble slidingDissipation_
tangential dissipation coefficient.
Definition: MindlinSpecies.h:88
Mdouble getSlidingFrictionCoefficient() const
Allows the (dynamic) Coulomb friction coefficient to be accessed.
Definition: MindlinSpecies.cc:116
void read(std::istream &is)
Reads the species properties from an input stream.
Definition: MindlinSpecies.cc:64
MindlinInteraction InteractionType
The correct Interaction type for this FrictionForceSpecies.
Definition: MindlinSpecies.h:20
void setSlidingFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.
Definition: MindlinSpecies.cc:102
void setSlidingDissipation(Mdouble new_dispt)
Allows the tangential viscosity to be changed.
Definition: MindlinSpecies.cc:84
Mdouble shearModulus_
tangential spring constant
Definition: MindlinSpecies.h:97
Mdouble slidingFrictionCoefficientStatic_
static Coulomb friction coefficient (by default set equal to mu)
Definition: MindlinSpecies.h:94
RealScalar s
Definition: level1_cplx_impl.h:130
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
@ S
Definition: quadtree.h:62