Go to the documentation of this file.
13 #ifndef __ROTFRICTIONINTERACTION_H
14 #define __ROTFRICTIONINTERACTION_H
43 const std::string &name,
55 const std::string &name,
130 static string getType() {
return "RotFriction";};
146 virtual double Count()
const;
160 #endif //__ROTFRICTIONINTERACTION_H
double getAbsForceDeficit() const
Definition: RotFricInteraction.cpp:354
void setTimeStepSize(double dt)
Definition: RotFricInteraction.cpp:148
Vec3(CRotFrictionInteraction::* VectorFieldFunction)() const
Definition: RotFricInteraction.h:96
Vec3 getForce() const
Definition: RotFricInteraction.cpp:421
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:29
Interaction parameters for frictional interaction between rotational particles.
Definition: RotFricInteraction.h:38
friend ostream & operator<<(ostream &, const CRotFrictionInteraction &)
Definition: RotFricInteraction.cpp:639
double calc_angle(double, double)
Definition: RotBondedInteraction.cpp:22
void setTimeStepSize(double dt)
Definition: RotFricInteraction.cpp:81
double m_dt
time step
Definition: RotFricInteraction.h:110
double k
Definition: RotFricInteraction.h:72
double m_mu_s
coefficient of static friction
Definition: RotFricInteraction.h:108
Vec3 m_force_deficit
difference between fric. force & force necessary for slip
Definition: RotFricInteraction.h:112
CRotFrictionIGP()
Definition: RotFricInteraction.cpp:21
double(CRotFrictionInteraction::* ScalarFieldFunction)() const
Definition: RotFricInteraction.h:94
double getSticking() const
Definition: RotFricInteraction.cpp:404
double mu_s
Definition: RotFricInteraction.h:74
virtual bool isPersistent()
Definition: RotFricInteraction.cpp:343
double m_r0
equilibrium distance
Definition: RotFricInteraction.h:106
VEC3_INLINE double dot(const Vec3 &v1, const Vec3 &v2)
Definition: vec3.hpp:196
Vec3 m_Ffric
current frictional force
Definition: RotFricInteraction.h:111
double getSlipping() const
Definition: RotFricInteraction.cpp:394
pair< bool, double >(CRotFrictionInteraction::* CheckedScalarFieldFunction)() const
Definition: RotFricInteraction.h:95
bool m_is_touching
contact status of the interaction
Definition: RotFricInteraction.h:116
double mu_d
Definition: RotFricInteraction.h:73
Vec3 getNormalForce() const
Definition: RotFricInteraction.cpp:430
double m_k
spring constant
Definition: RotFricInteraction.h:105
double m_ks
shear stiffness (Cundall)
Definition: RotFricInteraction.h:109
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: RotFricInteraction.cpp:522
virtual void calcForces()
Definition: RotFricInteraction.cpp:158
VEC3_INLINE Vec3 cross(const Vec3 &lhs, const Vec3 &rhs)
Definition: vec3.hpp:187
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
void applyForce(const Vec3 &, const Vec3 &)
Definition: Particle.cpp:384
VEC3_INLINE double & X()
Definition: vec3.h:119
CRotParticle * m_p2
Definition: RotPairInteraction.h:31
virtual std::string getTypeString() const
Definition: RotFricInteraction.h:65
bool m_meanR_scaling
toggles whether to use the mean particle radius or minimum particle radius to define bond radius
Definition: RotFricInteraction.h:120
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: RotFricInteraction.cpp:510
virtual double pop_double()=0
bool scaling
Definition: RotFricInteraction.h:77
Vec3 getTangentialForce() const
Definition: RotFricInteraction.cpp:436
virtual ~CRotFrictionInteraction()
Definition: RotFricInteraction.cpp:153
double getDissipatedEnergy() const
Definition: RotFricInteraction.cpp:413
double getPotentialEnergy() const
Definition: RotFricInteraction.cpp:382
VEC3_INLINE double & Z()
Definition: vec3.h:121
bool meanR_scaling
Definition: RotFricInteraction.h:79
#define NULL
Definition: t_list.h:17
Abstract base class interactions between 2 rotational particles.
Definition: RotPairInteraction.h:29
bool m_is_slipping
static/dynamic status of the interaction
Definition: RotFricInteraction.h:115
double m_mu_d
coefficient of dynamic friction
Definition: RotFricInteraction.h:107
static string getType()
Definition: RotFricInteraction.h:130
CRotParticle * m_p1
Definition: RotPairInteraction.h:31
virtual void append(int)=0
Vec3 m_normal_force
current normal force
Definition: RotFricInteraction.h:114
VEC3_INLINE double & Y()
Definition: vec3.h:120
Frictional+Elastic interaction between particles between rotational particles.
Definition: RotFricInteraction.h:90
virtual void calcRigidBodyForces()
Definition: RotFricInteraction.cpp:235
virtual Vec3 getPos() const
Definition: RotFricInteraction.h:147
double m_E_diss
dissipated energy
Definition: RotFricInteraction.h:117
static bool getDo2dCalculations()
Definition: Particle.h:181
ostream & operator<<(ostream &ost, const CRotFrictionInteraction &BI)
Definition: RotFricInteraction.cpp:639
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:29
Vec3 m_cpos
contact position
Definition: RotFricInteraction.h:113
bool m_rigid
toggles whether to use rigid body friction interactions
Definition: RotFricInteraction.h:119
Vec3 getVel() const
Definition: Particle.h:114
const Vec3 & getAngVel() const
Definition: RotParticle.h:172
double getAbsSlip() const
Definition: RotFricInteraction.cpp:456
virtual double Count() const
Definition: RotFricInteraction.cpp:445
double k_s
Definition: RotFricInteraction.h:75
VEC3_INLINE double norm2() const
Definition: vec3.hpp:218
void calcNormalForce()
Definition: RotFricInteraction.cpp:362
CRotFrictionIGP ParameterType
Definition: RotFricInteraction.h:92
int getID() const
Definition: BasicParticle.h:65
CRotFrictionInteraction()
Definition: RotFricInteraction.cpp:86
double getRad() const
Definition: BasicParticle.h:64
bool m_scaling
toggles scaling of elastic properties by particle size
Definition: RotFricInteraction.h:118
virtual void saveRestartData(std::ostream &oStream)
Definition: RotFricInteraction.cpp:595
virtual void loadRestartData(std::istream &iStream)
Definition: RotFricInteraction.cpp:620
Vec3 getPos() const
Definition: BasicParticle.h:62
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39
virtual void calcSimpleForces()
Definition: RotFricInteraction.cpp:171
void applyMoment(const Vec3 &)
Definition: RotParticle.cpp:327
double dt
Definition: RotFricInteraction.h:76
bool rigid
Definition: RotFricInteraction.h:78
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: RotFricInteraction.cpp:484
Class for a rotational particle.
Definition: RotParticle.h:54