MercuryDPM  Alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FrictionSpecies Class Reference

FrictionSpecies contains the parameters used to describe sliding, rolling and torsional friction. More...

#include <FrictionSpecies.h>

+ Inheritance diagram for FrictionSpecies:

Public Types

typedef FrictionInteraction InteractionType
 The correct Interaction type for this FrictionForceSpecies. More...
 
- Public Types inherited from SlidingFrictionSpecies
typedef SlidingFrictionInteraction InteractionType
 The correct Interaction type for this FrictionForceSpecies. More...
 

Public Member Functions

 FrictionSpecies ()
 The default constructor. More...
 
 FrictionSpecies (const FrictionSpecies &s)
 The default copy constructor. More...
 
virtual ~FrictionSpecies ()
 The default destructor. More...
 
void read (std::istream &is)
 Reads the species properties from an input stream. More...
 
void write (std::ostream &os) const
 Writes the species properties to an output stream. More...
 
std::string getBaseName () const
 Used in Species::getName to obtain a unique name for each Species. More...
 
bool getUseAngularDOFs () const
 Returns true if torques have to be calculated. More...
 
void mix (FrictionSpecies *const S, FrictionSpecies *const T)
 creates default values for mixed species More...
 
void setRollingStiffness (Mdouble new_kt)
 Allows the spring constant to be changed. More...
 
Mdouble getRollingStiffness () const
 Allows the spring constant to be accessed. More...
 
void setRollingDissipation (Mdouble new_dispt)
 Allows the tangential viscosity to be changed. More...
 
Mdouble getRollingDissipation () const
 Allows the tangential viscosity to be accessed. More...
 
void setRollingFrictionCoefficient (Mdouble new_mu)
 Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default. More...
 
Mdouble getRollingFrictionCoefficient () const
 Allows the (dynamic) Coulomb friction coefficient to be accessed. More...
 
void setRollingFrictionCoefficientStatic (Mdouble new_mu)
 Allows the static Coulomb rolling friction coefficient to be changed. More...
 
Mdouble getRollingFrictionCoefficientStatic () const
 Allows the static Coulomb rolling friction coefficient to be accessed. More...
 
void setTorsionStiffness (Mdouble new_kt)
 Allows the torsion stiffness to be changed. More...
 
Mdouble getTorsionStiffness () const
 Allows the torsion stiffness to be accessed. More...
 
void setTorsionDissipation (Mdouble new_dispt)
 Allows the torsion viscosity to be changed. More...
 
Mdouble getTorsionDissipation () const
 Allows the torsion viscosity to be accessed. More...
 
void setTorsionFrictionCoefficient (Mdouble new_mu)
 Allows the (dynamic) Coulomb torsion friction coefficient to be changed; also sets mu_s by default. More...
 
Mdouble getTorsionFrictionCoefficient () const
 Allows the (dynamic) Coulomb torsion friction coefficient to be accessed. More...
 
void setTorsionFrictionCoefficientStatic (Mdouble new_mu)
 Allows the static Coulomb torsion friction coefficient to be accessed. More...
 
Mdouble getTorsionFrictionCoefficientStatic () const
 Allows the static Coulomb torsion friction coefficient to be accessed. More...
 
- Public Member Functions inherited from SlidingFrictionSpecies
 SlidingFrictionSpecies ()
 The default constructor. More...
 
 SlidingFrictionSpecies (const SlidingFrictionSpecies &s)
 The default copy constructor. More...
 
virtual ~SlidingFrictionSpecies ()
 The default destructor. More...
 
void read (std::istream &is)
 Reads the species properties from an input stream. More...
 
void write (std::ostream &os) const
 Writes the species properties to an output stream. More...
 
void setSlidingStiffness (Mdouble new_kt)
 Allows the spring constant to be changed. More...
 
Mdouble getSlidingStiffness () const
 Allows the spring constant to be accessed. More...
 
void setSlidingDissipation (Mdouble new_dispt)
 Allows the tangential viscosity to be changed. More...
 
Mdouble getSlidingDissipation () const
 Allows the tangential viscosity to be accessed. More...
 
void setSlidingFrictionCoefficient (Mdouble new_mu)
 Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default. More...
 
Mdouble getSlidingFrictionCoefficient () const
 Allows the (dynamic) Coulomb friction coefficient to be accessed. More...
 
void setSlidingFrictionCoefficientStatic (Mdouble new_mu)
 Allows the static Coulomb friction coefficient to be changed. More...
 
Mdouble getSlidingFrictionCoefficientStatic () const
 Allows the static Coulomb friction coefficient to be accessed. More...
 
bool getUseAngularDOFs () const
 Returns true if torques have to be calculated. More...
 
void mix (SlidingFrictionSpecies *const S, SlidingFrictionSpecies *const T)
 creates default values for mixed species More...
 
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 masses m0,m1. More...
 
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 particles of mass m. More...
 
- Public Member Functions inherited from BaseSpecies
 BaseSpecies ()
 The default constructor. More...
 
 BaseSpecies (const BaseSpecies &p)
 The copy constructor. More...
 
virtual ~BaseSpecies ()
 The default destructor. More...
 
virtual BaseSpeciescopy () const =0
 Creates a deep copy of the object from which it is called. More...
 
void setHandler (SpeciesHandler *handler)
 Sets the pointer to the handler to which this species belongs. More...
 
SpeciesHandlergetHandler () const
 Returns the pointer to the handler to which this species belongs. More...
 
Mdouble average (Mdouble a, Mdouble b)
 defines the average of two variables by the harmonic mean. More...
 
virtual void mixAll (BaseSpecies *const S, BaseSpecies *const T)=0
 creates default values for mixed species More...
 
virtual Mdouble getInteractionDistance () const =0
 returns the largest separation distance at which adhesive short-range forces can occur. More...
 
virtual BaseInteractiongetNewInteraction (BaseInteractable *P, BaseInteractable *I, Mdouble timeStamp) const =0
 returns new Interaction object. More...
 
- Public Member Functions inherited from BaseObject
 BaseObject ()
 Default constructor. More...
 
 BaseObject (const BaseObject &p)
 Copy constructor, copies all the objects BaseObject contains. More...
 
virtual ~BaseObject ()
 virtual destructor More...
 
virtual std::string getName () const =0
 A purely virtual function. More...
 
virtual void moveInHandler (const unsigned int index)
 Except that it is virtual, it does the same thing as setIndex() does. More...
 
void setIndex (const unsigned int index)
 Allows one to assign an index to an object in the handler/container. More...
 
void setId (const unsigned int id)
 Assigns a unique identifier to each object in the handler (container) which remains constant even after the object is deleted from the container/handler. More...
 
unsigned int getIndex () const
 Returns the index of the object in the handler. More...
 
unsigned int getId () const
 Returns the unique identifier of any particular object. More...
 

Private Attributes

Mdouble rollingStiffness_
 rolling stiffness. More...
 
Mdouble rollingDissipation_
 rolling dissipation coefficient. More...
 
Mdouble rollingFrictionCoefficient_
 (dynamic) Coulomb rolling friction coefficient. More...
 
Mdouble rollingFrictionCoefficientStatic_
 static Coulomb rolling friction coefficient (by default set equal to the dynamic one). More...
 
Mdouble torsionStiffness_
 rolling stiffness. More...
 
Mdouble torsionDissipation_
 rolling dissipation coefficient. More...
 
Mdouble torsionFrictionCoefficient_
 (dynamic) Coulomb torsion friction coefficient. More...
 
Mdouble torsionFrictionCoefficientStatic_
 static Coulomb torsion friction coefficient (by default set equal to the dynamic one). More...
 

Detailed Description

FrictionSpecies contains the parameters used to describe sliding, rolling and torsional friction.

See FrictionInteraction::computeForce for a description of the force law.

Todo:
TW: should this class be renamed SlidingRollingTorsionFrictionSpecies?

Definition at line 37 of file FrictionSpecies.h.

Member Typedef Documentation

The correct Interaction type for this FrictionForceSpecies.

Definition at line 41 of file FrictionSpecies.h.

Constructor & Destructor Documentation

FrictionSpecies::FrictionSpecies ( )

The default constructor.

Definition at line 33 of file FrictionSpecies.cc.

References rollingDissipation_, rollingFrictionCoefficient_, rollingFrictionCoefficientStatic_, rollingStiffness_, torsionDissipation_, torsionFrictionCoefficient_, torsionFrictionCoefficientStatic_, and torsionStiffness_.

35 {
44 #ifdef DEBUG_CONSTRUCTOR
45  std::cout<<"FrictionSpecies::FrictionSpecies() finished"<<std::endl;
46 #endif
47 }
Mdouble rollingStiffness_
rolling stiffness.
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble torsionStiffness_
rolling stiffness.
SlidingFrictionSpecies()
The default constructor.
FrictionSpecies::FrictionSpecies ( const FrictionSpecies s)

The default copy constructor.

Parameters
[in]thespecies that is copied

Definition at line 52 of file FrictionSpecies.cc.

References rollingDissipation_, rollingFrictionCoefficient_, rollingFrictionCoefficientStatic_, rollingStiffness_, torsionDissipation_, torsionFrictionCoefficient_, torsionFrictionCoefficientStatic_, and torsionStiffness_.

54 {
63 #ifdef DEBUG_CONSTRUCTOR
64  std::cout<<"FrictionSpecies::FrictionSpecies(const FrictionSpecies &p) finished"<<std::endl;
65 #endif
66 }
Mdouble rollingStiffness_
rolling stiffness.
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble torsionStiffness_
rolling stiffness.
SlidingFrictionSpecies()
The default constructor.
FrictionSpecies::~FrictionSpecies ( )
virtual

The default destructor.

Definition at line 68 of file FrictionSpecies.cc.

69 {
70 #ifdef DEBUG_DESTRUCTOR
71  std::cout<<"FrictionSpecies::~FrictionSpecies() finished"<<std::endl;
72 #endif
73 }

Member Function Documentation

std::string FrictionSpecies::getBaseName ( ) const
virtual

Used in Species::getName to obtain a unique name for each Species.

Returns
a string containing the name of the species (minus the word "Species")

Reimplemented from SlidingFrictionSpecies.

Definition at line 111 of file FrictionSpecies.cc.

112 {
113  return "Friction";
114 }
Mdouble FrictionSpecies::getRollingDissipation ( ) const

Allows the tangential viscosity to be accessed.

Definition at line 176 of file FrictionSpecies.cc.

References rollingDissipation_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

177 {
178  return rollingDissipation_;
179 }
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble FrictionSpecies::getRollingFrictionCoefficient ( ) const

Allows the (dynamic) Coulomb friction coefficient to be accessed.

Definition at line 198 of file FrictionSpecies.cc.

References rollingFrictionCoefficient_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

199 {
201 }
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
Mdouble FrictionSpecies::getRollingFrictionCoefficientStatic ( ) const

Allows the static Coulomb rolling friction coefficient to be accessed.

Allows the static Coulomb friction coefficient to be accessed.

Definition at line 218 of file FrictionSpecies.cc.

References rollingFrictionCoefficientStatic_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

219 {
221 }
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble FrictionSpecies::getRollingStiffness ( ) const

Allows the spring constant to be accessed.

Definition at line 159 of file FrictionSpecies.cc.

References rollingStiffness_.

Referenced by FrictionInteraction::computeFrictionForce(), FrictionInteraction::getElasticEnergy(), and mix().

160 {
161  return rollingStiffness_;
162 }
Mdouble rollingStiffness_
rolling stiffness.
Mdouble FrictionSpecies::getTorsionDissipation ( ) const

Allows the torsion viscosity to be accessed.

Allows the tangential viscosity to be accessed.

Definition at line 256 of file FrictionSpecies.cc.

References torsionDissipation_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

257 {
258  return torsionDissipation_;
259 }
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble FrictionSpecies::getTorsionFrictionCoefficient ( ) const

Allows the (dynamic) Coulomb torsion friction coefficient to be accessed.

Allows the (dynamic) Coulomb friction coefficient to be accessed.

Definition at line 278 of file FrictionSpecies.cc.

References torsionFrictionCoefficient_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

279 {
281 }
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble FrictionSpecies::getTorsionFrictionCoefficientStatic ( ) const

Allows the static Coulomb torsion friction coefficient to be accessed.

Allows the static Coulomb friction coefficient to be accessed.

Definition at line 298 of file FrictionSpecies.cc.

References torsionFrictionCoefficientStatic_.

Referenced by FrictionInteraction::computeFrictionForce(), and mix().

299 {
301 }
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble FrictionSpecies::getTorsionStiffness ( ) const

Allows the torsion stiffness to be accessed.

Allows the spring constant to be accessed.

Definition at line 239 of file FrictionSpecies.cc.

References torsionStiffness_.

Referenced by FrictionInteraction::computeFrictionForce(), FrictionInteraction::getElasticEnergy(), and mix().

240 {
241  return torsionStiffness_;
242 }
Mdouble torsionStiffness_
rolling stiffness.
bool FrictionSpecies::getUseAngularDOFs ( ) const
virtual

Returns true if torques have to be calculated.

Returns true for any FrictionForceSpecies except EmptyFrictionSpecies, because for spherical particles, torques are only caused by tangential forces. See SpeciesHandler::useAngularDOFs for more details

Returns
true

Implements BaseSpecies.

Definition at line 122 of file FrictionSpecies.cc.

123 {
124  return true;
125 }
void FrictionSpecies::mix ( FrictionSpecies *const  S,
FrictionSpecies *const  T 
)

creates default values for mixed species

For all parameters we assume that the harmonic mean of the parameters of the original two species is a sensible default.

Parameters
[in]S,Tthe two species whose properties are mixed to create the new species

Definition at line 132 of file FrictionSpecies.cc.

References BaseSpecies::average(), getRollingDissipation(), getRollingFrictionCoefficient(), getRollingFrictionCoefficientStatic(), getRollingStiffness(), getTorsionDissipation(), getTorsionFrictionCoefficient(), getTorsionFrictionCoefficientStatic(), getTorsionStiffness(), rollingDissipation_, rollingFrictionCoefficient_, rollingFrictionCoefficientStatic_, rollingStiffness_, torsionDissipation_, torsionFrictionCoefficient_, torsionFrictionCoefficientStatic_, and torsionStiffness_.

133 {
142 }
Mdouble getRollingFrictionCoefficient() const
Allows the (dynamic) Coulomb friction coefficient to be accessed.
Mdouble getTorsionFrictionCoefficient() const
Allows the (dynamic) Coulomb torsion friction coefficient to be accessed.
Mdouble rollingStiffness_
rolling stiffness.
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble getTorsionStiffness() const
Allows the torsion stiffness to be accessed.
Mdouble getRollingDissipation() const
Allows the tangential viscosity to be accessed.
Mdouble getRollingFrictionCoefficientStatic() const
Allows the static Coulomb rolling friction coefficient to be accessed.
Mdouble getRollingStiffness() const
Allows the spring constant to be accessed.
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble average(Mdouble a, Mdouble b)
defines the average of two variables by the harmonic mean.
Definition: BaseSpecies.cc:85
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble torsionStiffness_
rolling stiffness.
Mdouble getTorsionDissipation() const
Allows the torsion viscosity to be accessed.
Mdouble getTorsionFrictionCoefficientStatic() const
Allows the static Coulomb torsion friction coefficient to be accessed.
void FrictionSpecies::read ( std::istream &  is)
virtual

Reads the species properties from an input stream.

Parameters
[in]inputstream (typically the restart file)

Implements BaseObject.

Definition at line 94 of file FrictionSpecies.cc.

References SlidingFrictionSpecies::read(), rollingDissipation_, rollingFrictionCoefficient_, rollingFrictionCoefficientStatic_, rollingStiffness_, torsionDissipation_, torsionFrictionCoefficient_, torsionFrictionCoefficientStatic_, and torsionStiffness_.

95 {
97  std::string dummy;
98  is >> dummy >> rollingStiffness_;
99  is >> dummy >> rollingDissipation_;
100  is >> dummy >> rollingFrictionCoefficient_;
101  is >> dummy >> rollingFrictionCoefficientStatic_;
102  is >> dummy >> torsionStiffness_;
103  is >> dummy >> torsionDissipation_;
104  is >> dummy >> torsionFrictionCoefficient_;
105  is >> dummy >> torsionFrictionCoefficientStatic_;
106 }
void read(std::istream &is)
Reads the species properties from an input stream.
Mdouble rollingStiffness_
rolling stiffness.
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble torsionStiffness_
rolling stiffness.
void FrictionSpecies::setRollingDissipation ( Mdouble  new_dispt)

Allows the tangential viscosity to be changed.

Definition at line 165 of file FrictionSpecies.cc.

References rollingDissipation_.

166 {
167  if (new_dispt >= 0)
168  rollingDissipation_ = new_dispt;
169  else
170  {
171  std::cerr << "Error in setRollingDissipation" << std::endl;
172  exit(-1);
173  }
174 }
Mdouble rollingDissipation_
rolling dissipation coefficient.
void FrictionSpecies::setRollingFrictionCoefficient ( Mdouble  new_mu)

Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.

Definition at line 183 of file FrictionSpecies.cc.

References rollingFrictionCoefficient_, and rollingFrictionCoefficientStatic_.

184 {
185  if (new_mu >= 0)
186  {
189  }
190  else
191  {
192  std::cerr << "Error in setSlidingFrictionCoefficient" << std::endl;
193  exit(-1);
194  }
195 }
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
void FrictionSpecies::setRollingFrictionCoefficientStatic ( Mdouble  new_mu)

Allows the static Coulomb rolling friction coefficient to be changed.

Allows the static Coulomb friction coefficient to be changed; also sets mu_s by default.

Definition at line 204 of file FrictionSpecies.cc.

References rollingFrictionCoefficientStatic_.

205 {
206  if (new_mu >= 0)
207  {
209  }
210  else
211  {
212  std::cerr << "Error in setSlidingFrictionCoefficientStatic" << std::endl;
213  exit(-1);
214  }
215 }
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
void FrictionSpecies::setRollingStiffness ( Mdouble  new_kt)

Allows the spring constant to be changed.

Definition at line 145 of file FrictionSpecies.cc.

References rollingStiffness_.

146 {
147  if (new_kt >= 0)
148  {
149  rollingStiffness_ = new_kt;
150  }
151  else
152  {
153  std::cerr << "Error in setRollingStiffness" << std::endl;
154  exit(-1);
155  }
156 }
Mdouble rollingStiffness_
rolling stiffness.
void FrictionSpecies::setTorsionDissipation ( Mdouble  new_dispt)

Allows the torsion viscosity to be changed.

Allows the tangential viscosity to be changed.

Definition at line 245 of file FrictionSpecies.cc.

References torsionDissipation_.

246 {
247  if (new_dispt >= 0)
248  torsionDissipation_ = new_dispt;
249  else
250  {
251  std::cerr << "Error in setTorsionDissipation" << std::endl;
252  exit(-1);
253  }
254 }
Mdouble torsionDissipation_
rolling dissipation coefficient.
void FrictionSpecies::setTorsionFrictionCoefficient ( Mdouble  new_mu)

Allows the (dynamic) Coulomb torsion friction coefficient to be changed; also sets mu_s by default.

Allows the (dynamic) Coulomb friction coefficient to be changed; also sets mu_s by default.

Definition at line 263 of file FrictionSpecies.cc.

References torsionFrictionCoefficient_, and torsionFrictionCoefficientStatic_.

264 {
265  if (new_mu >= 0)
266  {
269  }
270  else
271  {
272  std::cerr << "Error in setSlidingFrictionCoefficient" << std::endl;
273  exit(-1);
274  }
275 }
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
void FrictionSpecies::setTorsionFrictionCoefficientStatic ( Mdouble  new_mu)

Allows the static Coulomb torsion friction coefficient to be accessed.

Allows the static Coulomb friction coefficient to be changed; also sets mu_s by default.

Definition at line 284 of file FrictionSpecies.cc.

References torsionFrictionCoefficientStatic_.

285 {
286  if (new_mu >= 0)
287  {
289  }
290  else
291  {
292  std::cerr << "Error in setSlidingFrictionCoefficientStatic" << std::endl;
293  exit(-1);
294  }
295 }
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
void FrictionSpecies::setTorsionStiffness ( Mdouble  new_kt)

Allows the torsion stiffness to be changed.

Allows the spring constant to be changed.

Definition at line 225 of file FrictionSpecies.cc.

References torsionStiffness_.

226 {
227  if (new_kt >= 0)
228  {
229  torsionStiffness_ = new_kt;
230  }
231  else
232  {
233  std::cerr << "Error in setTorsionStiffness" << std::endl;
234  exit(-1);
235  }
236 }
Mdouble torsionStiffness_
rolling stiffness.
void FrictionSpecies::write ( std::ostream &  os) const
virtual

Writes the species properties to an output stream.

Parameters
[out]outputstream (typically the restart file)

Implements BaseObject.

Definition at line 78 of file FrictionSpecies.cc.

References rollingDissipation_, rollingFrictionCoefficient_, rollingFrictionCoefficientStatic_, rollingStiffness_, torsionDissipation_, torsionFrictionCoefficient_, torsionFrictionCoefficientStatic_, torsionStiffness_, and SlidingFrictionSpecies::write().

79 {
81  os << " rollingStiffness " << rollingStiffness_;
82  os << " rollingDissipation " << rollingDissipation_;
83  os << " rollingFrictionCoefficient " << rollingFrictionCoefficient_;
84  os << " rollingFrictionCoefficientStatic " << rollingFrictionCoefficientStatic_;
85  os << " torsionStiffness " << torsionStiffness_;
86  os << " torsionDissipation " << torsionDissipation_;
87  os << " torsionFrictionCoefficient " << torsionFrictionCoefficient_;
88  os << " torsionFrictionCoefficientStatic " << torsionFrictionCoefficientStatic_;
89 }
Mdouble rollingStiffness_
rolling stiffness.
Mdouble rollingDissipation_
rolling dissipation coefficient.
Mdouble rollingFrictionCoefficientStatic_
static Coulomb rolling friction coefficient (by default set equal to the dynamic one).
Mdouble torsionDissipation_
rolling dissipation coefficient.
Mdouble torsionFrictionCoefficient_
(dynamic) Coulomb torsion friction coefficient.
Mdouble rollingFrictionCoefficient_
(dynamic) Coulomb rolling friction coefficient.
void write(std::ostream &os) const
Writes the species properties to an output stream.
Mdouble torsionFrictionCoefficientStatic_
static Coulomb torsion friction coefficient (by default set equal to the dynamic one).
Mdouble torsionStiffness_
rolling stiffness.

Member Data Documentation

Mdouble FrictionSpecies::rollingDissipation_
private

rolling dissipation coefficient.

Typically set to 2/5 of the normal force dissipation, as both the tangential and the normal spring have the same restitution coefficients (if the rolling and normal stiffnesses also have a ratio of 2/5).

Definition at line 136 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getRollingDissipation(), mix(), read(), setRollingDissipation(), and write().

Mdouble FrictionSpecies::rollingFrictionCoefficient_
private

(dynamic) Coulomb rolling friction coefficient.

Definition at line 142 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getRollingFrictionCoefficient(), mix(), read(), setRollingFrictionCoefficient(), and write().

Mdouble FrictionSpecies::rollingFrictionCoefficientStatic_
private

static Coulomb rolling friction coefficient (by default set equal to the dynamic one).

Definition at line 148 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getRollingFrictionCoefficientStatic(), mix(), read(), setRollingFrictionCoefficient(), setRollingFrictionCoefficientStatic(), and write().

Mdouble FrictionSpecies::rollingStiffness_
private

rolling stiffness.

Typically set to 2/5 of the stiffness of the normal force, as both the rolling and the normal spring have the same oscillation frequency (and thus require the same timeStep)in this case.

Definition at line 128 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getRollingStiffness(), mix(), read(), setRollingStiffness(), and write().

Mdouble FrictionSpecies::torsionDissipation_
private

rolling dissipation coefficient.

Typically set to 2/5 of the normal force dissipation, as both the tangential and the normal spring have the same restitution coefficients (if the rolling and normal stiffnesses also have a ratio of 2/5).

Definition at line 164 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getTorsionDissipation(), mix(), read(), setTorsionDissipation(), and write().

Mdouble FrictionSpecies::torsionFrictionCoefficient_
private

(dynamic) Coulomb torsion friction coefficient.

Definition at line 169 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getTorsionFrictionCoefficient(), mix(), read(), setTorsionFrictionCoefficient(), and write().

Mdouble FrictionSpecies::torsionFrictionCoefficientStatic_
private

static Coulomb torsion friction coefficient (by default set equal to the dynamic one).

Definition at line 175 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getTorsionFrictionCoefficientStatic(), mix(), read(), setTorsionFrictionCoefficient(), setTorsionFrictionCoefficientStatic(), and write().

Mdouble FrictionSpecies::torsionStiffness_
private

rolling stiffness.

Typically set to 2/5 of the stiffness of the normal force, as both the rolling and the normal spring have the same oscillation frequency (and thus require the same timeStep)in this case.

Definition at line 156 of file FrictionSpecies.h.

Referenced by FrictionSpecies(), getTorsionStiffness(), mix(), read(), setTorsionStiffness(), and write().


The documentation for this class was generated from the following files: