26 #ifndef MindlinRollingTorsionInteraction_H
27 #define MindlinRollingTorsionInteraction_H
72 void read(std::istream& is)
override;
76 void write(std::ostream& os)
const override;
Vec3D rollingSpringVelocity_
Stores the rate at which the rolling spring compresses or relaxes. Set in computeFrictionForce(), used in computing the amount of compression in rolling spring. Used in integrate().
void reverseHistory() override
A useful feature if one wants to return to the initial state of the springs. However, reverse history decrements the current state to the state corresponding to previous time step. Decrements the state or value of rollingSpring_, torsionSpring_ and slidingSpring_.
void write(std::ostream &os) const override
Interaction print function, which accepts an std::ostream as input.
Computes the forces corresponding to sliding friction.
void setTorsionSpring(Vec3D torsionSpring)
Vec3D torsionSpring_
Stores the amount of torsional spring compression. Set in integrate(), used in computing frictional f...
MindlinRollingTorsionInteraction()
const MindlinRollingTorsionSpecies * getSpecies() const
Returns a const pointer of type FrictionSpecies*.
Vec3D rollingSpring_
Stores the amount of rolling spring compression. Set in integrate(), used in computing frictional for...
void setRollingSpring(Vec3D rollingSpring)
void computeFrictionForce()
Computes the forces arising due to all three types of friction, i.e., sliding, rolling and torsional...
Mdouble getElasticEnergy() const override
Returns the global amount of energy stored in all the springs (rolling, sliding and torsional)...
virtual ~MindlinRollingTorsionInteraction()
Destructor.
MindlinRollingTorsionSpecies SpeciesType
An alias for FrictionSpecies.
void rotateHistory(Matrix3D &rotationMatrix) override
When periodic particles are used, some interactions need certain history properties rotated (e...
Vec3D torsionSpringVelocity_
Stores the rate at which the torsional spring compresses or relaxes. Set in computeFrictionForce(), used in computing the amount of compression in torsion spring. Used in integrate().
void read(std::istream &is) override
Interaction read function, which accepts an std::istream as input.
void integrate(Mdouble timeStep) override
Computes the amount of compression in all the springs, i.e., increments the rollingSpring_, slidingSpring_ (see MindlinInteraction.cc) and torsionSpring_.
std::string getBaseName() const
Returns interaction name/type.
This class allows one to take all three types of frictional interactions into account. The sliding, rolling and torsional frictional interaction. See.
Defines the basic properties that a interactable object can have.
Vec3D getRollingSpring() const
Implementation of a 3D matrix.
Implementation of a 3D vector (by Vitaliy).
Vec3D getTorsionSpring() const
MindlinRollingTorsionSpecies contains the parameters used to describe sliding, rolling and torsional ...