43 #ifdef DEBUG_CONSTRUCTOR
44 std::cout<<
"MindlinSpecies::MindlinSpecies() finished"<<std::endl;
57 #ifdef DEBUG_CONSTRUCTOR
58 std::cout<<
"MindlinSpecies::MindlinSpecies(const MindlinSpecies &p) finished"<<std::endl;
64 #ifdef DEBUG_DESTRUCTOR
65 std::cout<<
"MindlinSpecies::~MindlinSpecies() finished"<<std::endl;
132 logger(
ERROR,
"Error in setSlidingFrictionCoefficient");
151 logger(
ERROR,
"Error in setSlidingFrictionCoefficientStatic");
159 logger.assert_debug(hertz,
"setPoissonRatio only works with HertzianViscoelastic*Species.");
160 shearModulus_ = hertz->getEffectiveElasticModulus() / 2 * (1 + poissonRatio);
161 logger(
INFO,
"Effective shear modulus set to %, based on effective elastic modulus % and Poisson's ratio %",
163 hertz->getEffectiveElasticModulus(), poissonRatio);
177 logger.assert_debug(shearModulus > 0,
178 "setEffectiveShearModulus(%): value needs to be positive",shearModulus);
Mdouble getSlidingDissipation() const
Allows the tangential viscosity to be accessed.
Mdouble slidingDissipation_
tangential dissipation coefficient.
void write(std::ostream &os) const
Writes the species properties to an output stream.
Mdouble getSlidingFrictionCoefficient() const
Allows the (dynamic) Coulomb friction coefficient to be accessed.
void mix(MindlinSpecies *S, MindlinSpecies *T)
creates default values for mixed species
Mdouble getEffectiveShearModulus() const
Allows the shear modulus to be accessed.
BaseSpecies * getBaseSpecies() const
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here...
void read(std::istream &is)
Reads the species properties from an input stream.
Mdouble getSlidingFrictionCoefficientStatic() const
Allows the static Coulomb friction coefficient to be accessed.
MERCURY_DEPRECATED void setPoissonRatio(Mdouble poissonRatio)
Allows the poisson ratio to be changed.
MindlinSpecies contains the parameters used to describe sliding friction.
Mdouble slidingFrictionCoefficient_
(dynamic) Coulomb friction coefficient
void setSlidingFrictionCoefficient(Mdouble new_mu)
Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default...
virtual std::string getBaseName() const
Used in Species::getName to obtain a unique name for each Species.
static Mdouble average(Mdouble a, Mdouble b)
Returns the harmonic mean of two variables.
Mdouble slidingFrictionCoefficientStatic_
static Coulomb friction coefficient (by default set equal to mu)
~MindlinSpecies()
The default destructor.
void setSlidingDissipation(Mdouble new_dispt)
Allows the tangential viscosity to be changed.
void setEffectiveShearModulus(Mdouble shearModulus)
allows the shear modulus to be changed
Mdouble shearModulus_
tangential spring constant
Defines the basic properties that a interactable object can have.
HertzianViscoelasticNormalSpecies contains the parameters used to describe a Hertzian normal force (T...
void setSlidingFrictionCoefficientStatic(Mdouble new_mu)
Allows the static Coulomb friction coefficient to be changed.
MindlinSpecies()
The default constructor.
bool getUseAngularDOFs() const override
Returns true if torques have to be calculated.