|
ESyS-Particle
2.3.4
|
Frictional+Elastic interaction between particles with velocity weakening friction. More...
#include <VWFrictionInteraction.h>


Public Types | |
| typedef VWFrictionIGP | ParameterType |
| typedef double(CVWFriction::* | ScalarFieldFunction) () const |
| typedef Vec3(CVWFriction::* | VectorFieldFunction) () const |
| typedef pair< bool, double >(CVWFriction::* | CheckedScalarFieldFunction) () 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 | |
| CVWFriction () | |
| CVWFriction (CParticle *, CParticle *, const VWFrictionIGP &) | |
| virtual | ~CVWFriction () |
| virtual void | calcForces () |
| pair< bool, double > | getCurrentMu () const |
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 CParticle * | first () const |
| const CParticle * | second () const |
| CParticle * | first () |
| CParticle * | second () |
| 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, Vec3 > | getRaw2Data () 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 ScalarFieldFunction | getScalarFieldFunction (const string &) |
| static VectorFieldFunction | getVectorFieldFunction (const string &) |
| static CheckedScalarFieldFunction | getCheckedScalarFieldFunction (const string &) |
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 () |
Private Attributes | |
| double | m_alpha |
Friends | |
| class | TML_PackedMessageInterface |
Additional Inherited Members | |
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 | |
| CParticle * | m_p1 |
| CParticle * | m_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 |
Frictional+Elastic interaction between particles with velocity weakening friction.
| typedef pair<bool,double>(CVWFriction::* CVWFriction::CheckedScalarFieldFunction) () const |
| typedef double(CVWFriction::* CVWFriction::ScalarFieldFunction) () const |
| typedef Vec3(CVWFriction::* CVWFriction::VectorFieldFunction) () const |
| CVWFriction::CVWFriction | ( | ) |
Default constructor
References m_alpha.
| CVWFriction::CVWFriction | ( | CParticle * | p1, |
| CParticle * | p2, | ||
| const VWFrictionIGP & | Param | ||
| ) |
References VWFrictionIGP::m_alpha, and m_alpha.
|
virtual |
|
virtual |
Calculate elastic & frictional forces. The current coefficient of friction is calculated by a velocity weakening friction law
Reimplemented from CFrictionInteraction.
References CParticle::applyForce(), CBasicParticle::getPos(), CBasicParticle::getRad(), CParticle::getVel(), m_alpha, CFrictionInteraction::m_cpos, CFrictionInteraction::m_dt, CFrictionInteraction::m_Ffric, CFrictionInteraction::m_force_deficit, CFrictionInteraction::m_is_slipping, CFrictionInteraction::m_is_touching, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, CFrictionInteraction::m_normal_force, APairInteraction::m_p1, APairInteraction::m_p2, Vec3::norm(), and Vec3::unit().

|
static |
References CFrictionInteraction::getAbsFrictionalForce(), CFrictionInteraction::getAbsMuFN(), getCurrentMu(), CFrictionInteraction::getMuEffXY(), CFrictionInteraction::getMuEffXZ(), CFrictionInteraction::getSlipVelocity(), and NULL.

| pair< bool, double > CVWFriction::getCurrentMu | ( | ) | const |
get current coefficient of friction
References CBasicParticle::getPos(), CBasicParticle::getRad(), CParticle::getVel(), m_alpha, CFrictionInteraction::m_mu, APairInteraction::m_p1, APairInteraction::m_p2, Vec3::norm(), and Vec3::unit().
Referenced by getCheckedScalarFieldFunction().


|
static |
References CFrictionInteraction::Count(), CFrictionInteraction::getPotentialEnergy(), CFrictionInteraction::getSlipping(), CFrictionInteraction::getSticking(), and NULL.

|
inlinestatic |
|
static |
References NULL.
|
friend |
|
private |