MercuryDPM
Beta
|
HertzianViscoelasticNormalSpecies contains the parameters used to describe a Hertzian normal force (The Mindlin model). More...
#include <HertzianViscoelasticNormalSpecies.h>
Public Types | |
typedef HertzianViscoelasticInteraction | InteractionType |
The correct Interaction type for this FrictionForceSpecies. More... | |
Public Member Functions | |
HertzianViscoelasticNormalSpecies () | |
The default constructor. More... | |
HertzianViscoelasticNormalSpecies (const HertzianViscoelasticNormalSpecies &p) | |
The default copy constructor. More... | |
virtual | ~HertzianViscoelasticNormalSpecies () |
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... | |
void | mix (HertzianViscoelasticNormalSpecies *const SBase, HertzianViscoelasticNormalSpecies *const TBase) |
Calculates collision time for two copies of a particle of given disp, k, mass. More... | |
void | setElasticModulus (Mdouble elasticModulus) |
Allows the spring constant to be changed. More... | |
Mdouble | getElasticModulus () const |
Allows the spring constant to be accessed. More... | |
void | setDissipation (Mdouble dissipation) |
Allows the normal dissipation to be changed. More... | |
Mdouble | getDissipation () const |
Allows the normal dissipation to be accessed. 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 BaseSpecies * | copy () 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... | |
SpeciesHandler * | getHandler () 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 bool | getUseAngularDOFs () const =0 |
Returns true if torques (i.e. angular degrees of freedom) have to be calculated. More... | |
virtual BaseInteraction * | getNewInteraction (BaseInteractable *P, BaseInteractable *I, Mdouble timeStamp)=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 | elasticModulus_ |
normal spring constant More... | |
Mdouble | dissipation_ |
normal dissipation constant More... | |
HertzianViscoelasticNormalSpecies contains the parameters used to describe a Hertzian normal force (The Mindlin model).
See HertzianViscoelasticNormalInteraction::computeForce for a description of the force law.
Definition at line 36 of file HertzianViscoelasticNormalSpecies.h.
The correct Interaction type for this FrictionForceSpecies.
Definition at line 40 of file HertzianViscoelasticNormalSpecies.h.
HertzianViscoelasticNormalSpecies::HertzianViscoelasticNormalSpecies | ( | ) |
The default constructor.
Definition at line 35 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_, and elasticModulus_.
HertzianViscoelasticNormalSpecies::HertzianViscoelasticNormalSpecies | ( | const HertzianViscoelasticNormalSpecies & | p | ) |
The default copy constructor.
[in] | the | species that is copied |
Definition at line 47 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_, and elasticModulus_.
|
virtual |
The default destructor.
Definition at line 56 of file HertzianViscoelasticNormalSpecies.cc.
std::string HertzianViscoelasticNormalSpecies::getBaseName | ( | ) | const |
Used in Species::getName to obtain a unique name for each Species.
Definition at line 85 of file HertzianViscoelasticNormalSpecies.cc.
Mdouble HertzianViscoelasticNormalSpecies::getDissipation | ( | ) | const |
Allows the normal dissipation to be accessed.
Definition at line 123 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_.
Referenced by HertzianViscoelasticInteraction::computeNormalForce(), and mix().
Mdouble HertzianViscoelasticNormalSpecies::getElasticModulus | ( | ) | const |
Allows the spring constant to be accessed.
Definition at line 103 of file HertzianViscoelasticNormalSpecies.cc.
References elasticModulus_.
Referenced by HertzianViscoelasticInteraction::computeNormalForce(), HertzianViscoelasticInteraction::getElasticEnergy(), and mix().
void HertzianViscoelasticNormalSpecies::mix | ( | HertzianViscoelasticNormalSpecies *const | S, |
HertzianViscoelasticNormalSpecies *const | T | ||
) |
Calculates collision time for two copies of a particle of given disp, k, mass.
Calculates restitution coefficient for two copies of given disp, k, masscreates 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.
[in] | S,T | the two species whose properties are mixed to create the new species |
Definition at line 195 of file HertzianViscoelasticNormalSpecies.cc.
References BaseSpecies::average(), dissipation_, elasticModulus_, getDissipation(), and getElasticModulus().
|
virtual |
Reads the species properties from an input stream.
[in] | input | stream (typically the restart file) |
Implements BaseObject.
Definition at line 75 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_, and elasticModulus_.
void HertzianViscoelasticNormalSpecies::setDissipation | ( | Mdouble | dissipation | ) |
Allows the normal dissipation to be changed.
Definition at line 109 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_.
void HertzianViscoelasticNormalSpecies::setElasticModulus | ( | Mdouble | elasticModulus | ) |
Allows the spring constant to be changed.
Definition at line 91 of file HertzianViscoelasticNormalSpecies.cc.
References elasticModulus_.
|
virtual |
Writes the species properties to an output stream.
[out] | output | stream (typically the restart file) |
Implements BaseObject.
Definition at line 66 of file HertzianViscoelasticNormalSpecies.cc.
References dissipation_, and elasticModulus_.
|
private |
normal dissipation constant
Definition at line 108 of file HertzianViscoelasticNormalSpecies.h.
Referenced by getDissipation(), HertzianViscoelasticNormalSpecies(), mix(), read(), setDissipation(), and write().
|
private |
normal spring constant
Definition at line 105 of file HertzianViscoelasticNormalSpecies.h.
Referenced by getElasticModulus(), HertzianViscoelasticNormalSpecies(), mix(), read(), setElasticModulus(), and write().