ESyS-Particle
4.0.1
|
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 |
![]() | |
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 void | calcForces () |
pair< bool, double > | getCurrentMu () const |
![]() | |
CFrictionInteraction (CParticle *, CParticle *) | |
CFrictionInteraction (CParticle *, CParticle *, const CFrictionIGP &) | |
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) |
![]() | |
APairInteraction (CParticle *, CParticle *) | |
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) |
![]() | |
bool | initialized () const |
virtual void | calcHeatTrans () |
virtual void | calcHeatFrict () |
vector< int > | getAllID () const |
int | getID () |
Static Public Member Functions | |
static string | getType () |
static ScalarFieldFunction | getScalarFieldFunction (const string &) |
static VectorFieldFunction | getVectorFieldFunction (const string &) |
static CheckedScalarFieldFunction | getCheckedScalarFieldFunction (const string &) |
Friends | |
class | TML_PackedMessageInterface |
Additional Inherited Members | |
![]() | |
double | m_k |
spring constant | |
double | m_r0 |
equilibrium distance | |
double | m_mu |
coefficient of friction | |
double | m_ks |
shear stiffness (Cundall) | |
double | m_dt |
time step | |
Vec3 | m_Ffric |
current frictional force | |
Vec3 | m_force_deficit |
difference between fric. force & force necessary for slip | |
Vec3 | m_cpos |
contact position | |
Vec3 | m_normal_force |
current normal force | |
bool | m_is_slipping |
static/dynamic status of the interaction | |
bool | m_is_touching |
contact status of the interaction | |
double | m_E_diss |
dissipated energy | |
bool | m_scaling |
scaling k with particle radius |
Frictional+Elastic interaction between particles with velocity weakening friction.
CVWFriction::CVWFriction | ( | ) |
Default constructor
|
virtual |
Calculate elastic & frictional forces. The current coefficient of friction is calculated by a velocity weakening friction law
Reimplemented from CFrictionInteraction.
References CParticle::applyForce(), 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, and CFrictionInteraction::m_normal_force.
|
static |
Get the particle member function which returns a checked scalar field of a given name.
name | the name of the field |
Reimplemented from CFrictionInteraction.
References CFrictionInteraction::getAbsFrictionalForce(), CFrictionInteraction::getAbsMuFN(), getCurrentMu(), and CFrictionInteraction::getSlipVelocity().
pair< bool, double > CVWFriction::getCurrentMu | ( | ) | const |
get current coefficient of friction
References CFrictionInteraction::m_mu.
Referenced by getCheckedScalarFieldFunction().
|
static |
Get the particle member function which returns a scalar field of a given name.
name | the name of the field |
Reimplemented from CFrictionInteraction.
References CFrictionInteraction::Count(), CFrictionInteraction::getPotentialEnergy(), CFrictionInteraction::getSlipping(), and CFrictionInteraction::getSticking().
|
static |
Get the particle member function which returns a vector field of a given name.
name | the name of the field |
Reimplemented from CFrictionInteraction.