ESyS-Particle  2.3.4
CAdhesiveFriction Class Reference

Frictional+adhesive Elastic interaction between particles. More...

#include <AdhesiveFriction.h>

Inheritance diagram for CAdhesiveFriction:
Collaboration diagram for CAdhesiveFriction:

Public Types

typedef CAdhesiveFrictionIGP ParameterType
 
typedef double(CAdhesiveFriction::* ScalarFieldFunction) () const
 
typedef pair< bool, double >(CAdhesiveFriction::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CAdhesiveFriction::* VectorFieldFunction) () const
 
- Public Types inherited from CFrictionInteraction
typedef CFrictionIGP ParameterType
 
typedef double(CFrictionInteraction::* ScalarFieldFunction) () const
 
typedef std::pair< bool, double >(CFrictionInteraction::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CFrictionInteraction::* VectorFieldFunction) () const
 

Public Member Functions

 CAdhesiveFriction ()
 
 CAdhesiveFriction (CParticle *, CParticle *, const CAdhesiveFrictionIGP &)
 
virtual ~CAdhesiveFriction ()
 
virtual void calcForces ()
 
- Public Member Functions inherited from CFrictionInteraction
 CFrictionInteraction ()
 
 CFrictionInteraction (CParticle *, CParticle *)
 
 CFrictionInteraction (CParticle *, CParticle *, const CFrictionIGP &)
 
virtual ~CFrictionInteraction ()
 
virtual bool isPersistent ()
 
void setTimeStepSize (double dt)
 
std::pair< bool, double > getAbsFrictionalForce () const
 
std::pair< bool, double > getAbsFN () const
 
std::pair< bool, double > getAbsMuFN () const
 
std::pair< bool, double > getSlipVelocity () const
 
std::pair< bool, double > getNormalStress () const
 
std::pair< bool, double > getMaxFricStress () const
 
std::pair< bool, double > getAbsFrictionalStress () const
 
double getAbsForceDeficit () const
 
double getPotentialEnergy () const
 
double getSlipping () const
 
double getSticking () const
 
double getDissipatedEnergy () const
 
virtual double Count () const
 
Vec3 getForce () const
 
Vec3 getNormalForce () const
 
virtual Vec3 getPos () const
 
std::pair< bool, double > getMuEff (const Vec3 &, const Vec3 &) const
 
std::pair< bool, double > getMuEffXY () const
 
std::pair< bool, double > getMuEffXZ () const
 
virtual void saveRestartData (std::ostream &oStream)
 
virtual void loadRestartData (std::istream &iStream)
 
- Public Member Functions inherited from APairInteraction
 APairInteraction ()
 
 APairInteraction (CParticle *, CParticle *)
 
virtual ~APairInteraction ()
 
const CParticlefirst () const
 
const CParticlesecond () const
 
CParticlefirst ()
 
CParticlesecond ()
 
pair< int, int > getPairID () const
 
void setPP (CParticle *, CParticle *)
 
void checkIDs ()
 
virtual bool hasTag (int, int) const
 
virtual Vec3 getPosFirst () const
 
virtual Vec3 getPosSecond () const
 
esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3getRaw2Data () const
 
template<class TmplParticle >
void setPP (const vector< TmplParticle * > &pp)
 
- Public Member Functions inherited from AInteraction
 AInteraction ()
 
virtual ~AInteraction ()
 
bool initialized () const
 
virtual void calcHeatTrans ()
 
virtual void calcHeatFrict ()
 
vector< int > getAllID () const
 
int getID ()
 
double Count () const
 

Static Public Member Functions

static string getType ()
 
- Static Public Member Functions inherited from CFrictionInteraction
static ScalarFieldFunction getScalarFieldFunction (const string &)
 
static CheckedScalarFieldFunction getCheckedScalarFieldFunction (const string &)
 
static VectorFieldFunction getVectorFieldFunction (const string &)
 
static string getType ()
 

Protected Attributes

double m_r_cut
 
double m_r_cut_h
 
- Protected Attributes inherited from CFrictionInteraction
double m_k
 spring constant More...
 
double m_r0
 equilibrium distance More...
 
double m_mu
 coefficient of friction More...
 
double m_ks
 shear stiffness (Cundall) More...
 
double m_dt
 time step More...
 
Vec3 m_Ffric
 current frictional force More...
 
Vec3 m_force_deficit
 difference between fric. force & force necessary for slip More...
 
Vec3 m_cpos
 contact position More...
 
Vec3 m_normal_force
 current normal force More...
 
bool m_is_slipping
 static/dynamic status of the interaction More...
 
bool m_is_touching
 contact status of the interaction More...
 
double m_E_diss
 dissipated energy More...
 
bool m_scaling
 scaling k with particle radius More...
 
- Protected Attributes inherited from APairInteraction
CParticlem_p1
 
CParticlem_p2
 
- Protected Attributes inherited from AInteraction
vector< int > m_id
 id's of the particles involved More...
 
int m_iid
 interaction id More...
 
bool m_init
 

Friends

class TML_PackedMessageInterface
 

Detailed Description

Frictional+adhesive Elastic interaction between particles.

Member Typedef Documentation

◆ CheckedScalarFieldFunction

typedef pair<bool,double>(CAdhesiveFriction::* CAdhesiveFriction::CheckedScalarFieldFunction) () const

◆ ParameterType

◆ ScalarFieldFunction

typedef double(CAdhesiveFriction::* CAdhesiveFriction::ScalarFieldFunction) () const

◆ VectorFieldFunction

typedef Vec3(CAdhesiveFriction::* CAdhesiveFriction::VectorFieldFunction) () const

Constructor & Destructor Documentation

◆ CAdhesiveFriction() [1/2]

CAdhesiveFriction::CAdhesiveFriction ( )

◆ CAdhesiveFriction() [2/2]

CAdhesiveFriction::CAdhesiveFriction ( CParticle p1,
CParticle p2,
const CAdhesiveFrictionIGP param 
)

Construct a CAdhesiveFriction interaction from 2 particle pointers and the parameters

Parameters
p1pointer to the first particle
p2pointer to the second particle
paramthe interaction parameters

References CAdhesiveFrictionIGP::dt, CBasicParticle::getRad(), CAdhesiveFrictionIGP::k, CAdhesiveFrictionIGP::k_s, CFrictionInteraction::m_dt, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_r0, m_r_cut, m_r_cut_h, and CAdhesiveFrictionIGP::r_cut.

Here is the call graph for this function:

◆ ~CAdhesiveFriction()

CAdhesiveFriction::~CAdhesiveFriction ( )
virtual

destruct a CAdehsiveFriction interaction, i.e.do nothing

Member Function Documentation

◆ calcForces()

◆ getType()

static string CAdhesiveFriction::getType ( )
inlinestatic

Friends And Related Function Documentation

◆ TML_PackedMessageInterface

friend class TML_PackedMessageInterface
friend

Member Data Documentation

◆ m_r_cut

double CAdhesiveFriction::m_r_cut
protected

◆ m_r_cut_h

double CAdhesiveFriction::m_r_cut_h
protected

The documentation for this class was generated from the following files: