Go to the documentation of this file.
13 #ifndef __HERTZMINDLINVISCOINTERACTION_H
14 #define __HERTZMINDLINVISCOINTERACTION_H
33 const std::string &name,
43 return "HertzMindlinVisco";
70 std::pair<bool,double>
109 static string getType() {
return "CHertzMindlinViscoInteraction";};
117 std::pair<bool,double>
getAbsFN()
const;
129 double Count()
const;
151 #endif //__HERTZMINDLINVISCOINTERACTION_H
double m_dt
time step
Definition: HertzMindlinViscoInteraction.h:89
double m_dn
caching displacement for E_pot
Definition: HertzMindlinViscoInteraction.h:94
std::pair< bool, double >(CHertzMindlinViscoInteraction::* CheckedScalarFieldFunction)() const
Definition: HertzMindlinViscoInteraction.h:71
std::pair< bool, double > getMuEff(const Vec3 &, const Vec3 &) const
Definition: HertzMindlinViscoInteraction.cpp:478
double m_mu
coefficient of friction
Definition: HertzMindlinViscoInteraction.h:87
double getSlipping() const
Definition: HertzMindlinViscoInteraction.cpp:414
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
CHertzMindlinViscoInteraction()
Definition: HertzMindlinViscoInteraction.cpp:42
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: HertzMindlinViscoInteraction.cpp:541
double m_E
Definition: HertzMindlinViscoInteraction.h:48
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: HertzMindlinViscoInteraction.cpp:584
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: HertzMindlinViscoInteraction.cpp:644
double getMass() const
Definition: Particle.h:118
Vec3 m_Ffric
current frictional force
Definition: HertzMindlinViscoInteraction.h:90
double m_COR
coefficient of restitution
Definition: HertzMindlinViscoInteraction.h:88
std::pair< bool, double > getAbsFN() const
Definition: HertzMindlinViscoInteraction.cpp:347
std::pair< bool, double > getMuEffXY() const
Definition: HertzMindlinViscoInteraction.h:135
std::pair< bool, double > getMaxFricStress() const
Definition: HertzMindlinViscoInteraction.cpp:305
void setTimeStepSize(double dt)
Definition: HertzMindlinViscoInteraction.cpp:105
double m_E_diss
dissipated energy
Definition: HertzMindlinViscoInteraction.h:97
VEC3_INLINE Vec3 unit() const
Definition: vec3.hpp:225
virtual Vec3 pop_vec3()=0
double getAbsForceDeficit() const
Definition: HertzMindlinViscoInteraction.cpp:201
double m_nu
Definition: HertzMindlinViscoInteraction.h:49
CParticle * m_p1
Definition: Interaction.h:71
std::pair< bool, double > getAbsFrictionalForce() const
Definition: HertzMindlinViscoInteraction.cpp:210
CHertzMindlinViscoIGP()
Definition: HertzMindlinViscoInteraction.cpp:19
virtual Vec3 getPos() const
Definition: HertzMindlinViscoInteraction.h:132
bool m_is_slipping
static/dynamic status of the interaction
Definition: HertzMindlinViscoInteraction.h:95
Vec3 m_force_deficit
difference between fric. force & force necessary for slip
Definition: HertzMindlinViscoInteraction.h:91
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
Interaction group parameters for Hertz-Mindlin interactions.
Definition: HertzMindlinViscoInteraction.h:28
std::pair< bool, double > getSlipVelocity() const
Definition: HertzMindlinViscoInteraction.cpp:380
void applyForce(const Vec3 &, const Vec3 &)
Definition: Particle.cpp:384
virtual double pop_double()=0
Vec3 m_normal_force
current normal force
Definition: HertzMindlinViscoInteraction.h:93
ostream & operator<<(ostream &ost, const CHertzMindlinViscoInteraction &BI)
Definition: HertzMindlinViscoInteraction.cpp:715
#define NULL
Definition: t_list.h:17
std::pair< bool, double > getAbsMuFN() const
Definition: HertzMindlinViscoInteraction.cpp:262
std::pair< bool, double > getNormalStress() const
Definition: HertzMindlinViscoInteraction.cpp:356
void setTimeStepSize(double dt)
Definition: HertzMindlinViscoInteraction.cpp:56
CHertzMindlinViscoIGP ParameterType
Definition: HertzMindlinViscoInteraction.h:64
double m_r0
equilibrium distance
Definition: HertzMindlinViscoInteraction.h:86
Vec3 getForce() const
Definition: HertzMindlinViscoInteraction.cpp:443
double getPotentialEnergy() const
Definition: HertzMindlinViscoInteraction.cpp:404
Vec3 getNormalForce() const
Definition: HertzMindlinViscoInteraction.cpp:453
virtual void append(int)=0
std::pair< bool, double > getMuEffXZ() const
Definition: HertzMindlinViscoInteraction.h:139
friend std::ostream & operator<<(std::ostream &, const CHertzMindlinViscoInteraction &)
double m_E
Young's modulus.
Definition: HertzMindlinViscoInteraction.h:84
double(CHertzMindlinViscoInteraction::* ScalarFieldFunction)() const
Definition: HertzMindlinViscoInteraction.h:67
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:29
Vec3 getVel() const
Definition: Particle.h:114
virtual bool isPersistent()
Definition: HertzMindlinViscoInteraction.cpp:190
std::pair< bool, double > getAbsFrictionalStress() const
Definition: HertzMindlinViscoInteraction.cpp:236
static string getType()
Definition: HertzMindlinViscoInteraction.h:109
double Count() const
Definition: HertzMindlinViscoInteraction.cpp:462
virtual void calcForces()
Definition: HertzMindlinViscoInteraction.cpp:113
Vec3 m_cpos
contact position
Definition: HertzMindlinViscoInteraction.h:92
double mu
Definition: HertzMindlinViscoInteraction.h:50
double m_nu
Poisson ratio.
Definition: HertzMindlinViscoInteraction.h:85
virtual ~CHertzMindlinViscoInteraction()
Definition: HertzMindlinViscoInteraction.cpp:101
int getID() const
Definition: BasicParticle.h:65
double getRad() const
Definition: BasicParticle.h:64
Vec3(CHertzMindlinViscoInteraction::* VectorFieldFunction)() const
Definition: HertzMindlinViscoInteraction.h:74
double m_COR
Definition: HertzMindlinViscoInteraction.h:51
Vec3 getPos() const
Definition: BasicParticle.h:62
double getSticking() const
Definition: HertzMindlinViscoInteraction.cpp:425
vector< int > m_id
id's of the particles involved
Definition: Interaction.h:39
Class for a basic particle.
Definition: Particle.h:51
bool m_is_touching
contact status of the interaction
Definition: HertzMindlinViscoInteraction.h:96
virtual std::string getTypeString() const
Definition: HertzMindlinViscoInteraction.h:41
double getDissipatedEnergy() const
Definition: HertzMindlinViscoInteraction.cpp:434
Frictional+ViscoElastic interaction between particles.
Definition: HertzMindlinViscoInteraction.h:62
double dt
Definition: HertzMindlinViscoInteraction.h:52