ESyS-Particle
4.0.1
|
Frictional+adhesive Elastic interaction between particles. More...
#include <AdhesiveFriction.h>
Public Types | |
typedef CAdhesiveFrictionIGP | ParameterType |
typedef double(CAdhesiveFriction::* | ScalarFieldFunction )() const |
typedef pair< bool, double > (CAdhesiveFriction::* | CheckedScalarFieldFunction )() const |
typedef Vec3(CAdhesiveFriction::* | VectorFieldFunction )() 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 | |
CAdhesiveFriction () | |
CAdhesiveFriction (CParticle *, CParticle *, const CAdhesiveFrictionIGP &) | |
virtual | ~CAdhesiveFriction () |
virtual void | calcForces () |
![]() | |
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 CheckedScalarFieldFunction | getCheckedScalarFieldFunction (const string &) |
static VectorFieldFunction | getVectorFieldFunction (const string &) |
Protected Attributes | |
double | m_r_cut |
double | m_r_cut_h |
![]() | |
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 | |
![]() | |
CParticle * | m_p1 |
CParticle * | m_p2 |
![]() | |
vector< int > | m_id |
id's of the particles involved | |
int | m_iid |
interaction id | |
bool | m_init |
Friends | |
class | TML_PackedMessageInterface |
Frictional+adhesive Elastic interaction between particles.
CAdhesiveFriction::CAdhesiveFriction | ( | ) |
Default constructor for CAdhesiveFriction interaction Zero all coefficients
References CFrictionInteraction::m_dt, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, and CFrictionInteraction::m_r0.
CAdhesiveFriction::CAdhesiveFriction | ( | CParticle * | p1, |
CParticle * | p2, | ||
const CAdhesiveFrictionIGP & | param | ||
) |
Construct a CAdhesiveFriction interaction from 2 particle pointers and the parameters
p1 | pointer to the first particle |
p2 | pointer to the second particle |
param | the interaction parameters |
References CFrictionInteraction::m_dt, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, and CFrictionInteraction::m_r0.
|
virtual |
destruct a CAdehsiveFriction interaction, i.e.do nothing
|
virtual |
Calculate elastic and frictional forces.
Reimplemented from CFrictionInteraction.
References CParticle::applyForce(), CFrictionInteraction::m_Ffric, CFrictionInteraction::m_k, CFrictionInteraction::m_normal_force, and CFrictionInteraction::m_r0.