Go to the documentation of this file.
13 #ifndef __FRICTIONINTERACTION_H
14 #define __FRICTIONINTERACTION_H
32 CFrictionIGP(
const std::string &name,
double normalK,
double fricCoef,
double shearK,
double dT,
bool scaling=
true);
86 static string getType() {
return "Friction";};
94 std::pair<bool,double>
getAbsFN()
const;
106 virtual double Count()
const;
123 #endif //__FRICTIONINTERACTION_H
CFrictionIGP()
Definition: FrictionInteraction.cpp:17
double m_mu
coefficient of friction
Definition: FrictionInteraction.h:68
Vec3 m_force_deficit
difference between fric. force & force necessary for slip
Definition: FrictionInteraction.h:72
Abstract base class for 2-particle interactions.
Definition: Interaction.h:69
CParticle * m_p2
Definition: Interaction.h:71
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:29
double m_k
spring constant
Definition: FrictionInteraction.h:66
virtual ~CFrictionInteraction()
Definition: FrictionInteraction.cpp:81
std::pair< bool, double >(CFrictionInteraction::* CheckedScalarFieldFunction)() const
Definition: FrictionInteraction.h:58
Frictional+Elastic interaction between particles.
Definition: FrictionInteraction.h:53
bool m_is_slipping
static/dynamic status of the interaction
Definition: FrictionInteraction.h:75
ostream & operator<<(ostream &ost, const CFrictionInteraction &BI)
Definition: FrictionInteraction.cpp:668
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: FrictionInteraction.cpp:511
std::pair< bool, double > getMaxFricStress() const
Definition: FrictionInteraction.cpp:251
Interaction parameters for frictional interaction.
Definition: FrictionInteraction.h:28
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: FrictionInteraction.cpp:566
bool m_is_touching
contact status of the interaction
Definition: FrictionInteraction.h:76
double getDissipatedEnergy() const
Definition: FrictionInteraction.cpp:368
double getSticking() const
Definition: FrictionInteraction.cpp:359
double dt
Definition: FrictionInteraction.h:41
VEC3_INLINE Vec3 unit() const
Definition: vec3.hpp:225
virtual Vec3 pop_vec3()=0
std::pair< bool, double > getMuEff(const Vec3 &, const Vec3 &) const
Definition: FrictionInteraction.cpp:410
virtual void saveRestartData(std::ostream &oStream)
Definition: FrictionInteraction.cpp:628
double m_r0
equilibrium distance
Definition: FrictionInteraction.h:67
CParticle * m_p1
Definition: Interaction.h:71
double getPotentialEnergy() const
Definition: FrictionInteraction.cpp:336
virtual Vec3 getPos() const
Definition: FrictionInteraction.h:109
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
virtual void loadRestartData(std::istream &iStream)
Definition: FrictionInteraction.cpp:651
double mu
Definition: FrictionInteraction.h:39
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: FrictionInteraction.cpp:469
virtual double pop_double()=0
std::pair< bool, double > getAbsFN() const
Definition: FrictionInteraction.cpp:279
VEC3_INLINE double & Z()
Definition: vec3.h:121
double k
Definition: FrictionInteraction.h:38
#define NULL
Definition: t_list.h:17
std::pair< bool, double > getNormalStress() const
Definition: FrictionInteraction.cpp:287
double k_s
Definition: FrictionInteraction.h:40
Vec3(CFrictionInteraction::* VectorFieldFunction)() const
Definition: FrictionInteraction.h:59
Vec3 getForce() const
Definition: FrictionInteraction.cpp:377
std::pair< bool, double > getAbsFrictionalForce() const
Definition: FrictionInteraction.cpp:173
virtual void append(int)=0
VEC3_INLINE double & Y()
Definition: vec3.h:120
void setTimeStepSize(double dt)
Definition: FrictionInteraction.cpp:43
double(CFrictionInteraction::* ScalarFieldFunction)() const
Definition: FrictionInteraction.h:57
static bool getDo2dCalculations()
Definition: Particle.h:181
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:29
Vec3 getNormalForce() const
Definition: FrictionInteraction.cpp:386
std::pair< bool, double > getSlipVelocity() const
Definition: FrictionInteraction.cpp:310
Vec3 getVel() const
Definition: Particle.h:114
friend std::ostream & operator<<(std::ostream &, const CFrictionInteraction &)
std::pair< bool, double > getMuEffXY() const
Definition: FrictionInteraction.h:112
bool m_scaling
Definition: FrictionInteraction.h:42
virtual double Count() const
Definition: FrictionInteraction.cpp:395
double m_ks
shear stiffness (Cundall)
Definition: FrictionInteraction.h:69
static string getType()
Definition: FrictionInteraction.h:86
double m_dt
time step
Definition: FrictionInteraction.h:70
bool m_scaling
scaling k with particle radius
Definition: FrictionInteraction.h:78
std::pair< bool, double > getMuEffXZ() const
Definition: FrictionInteraction.h:113
double getAbsForceDeficit() const
Definition: FrictionInteraction.cpp:165
virtual void calcForces()
Definition: FrictionInteraction.cpp:93
virtual std::string getTypeString() const
Definition: FrictionInteraction.h:34
double getSlipping() const
Definition: FrictionInteraction.cpp:348
virtual bool isPersistent()
Definition: FrictionInteraction.cpp:154
CFrictionIGP ParameterType
Definition: FrictionInteraction.h:55
int getID() const
Definition: BasicParticle.h:65
double getRad() const
Definition: BasicParticle.h:64
void setTimeStepSize(double dt)
Definition: FrictionInteraction.cpp:85
Vec3 getPos() const
Definition: BasicParticle.h:62
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39
Vec3 m_cpos
contact position
Definition: FrictionInteraction.h:73
Class for a basic particle.
Definition: Particle.h:51
std::pair< bool, double > getAbsFrictionalStress() const
Definition: FrictionInteraction.cpp:198
Vec3 m_normal_force
current normal force
Definition: FrictionInteraction.h:74
Vec3 m_Ffric
current frictional force
Definition: FrictionInteraction.h:71
std::pair< bool, double > getAbsMuFN() const
Definition: FrictionInteraction.cpp:224
CFrictionInteraction()
Definition: FrictionInteraction.cpp:31
double m_E_diss
dissipated energy
Definition: FrictionInteraction.h:77