ESyS-Particle  4.0.1
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
CRotFrictionInteraction Class Reference

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

#include <RotFricInteraction.h>

Inheritance diagram for CRotFrictionInteraction:
Inheritance graph
[legend]
Collaboration diagram for CRotFrictionInteraction:
Collaboration graph
[legend]

Public Types

typedef CRotFrictionIGP ParameterType
typedef double(CRotFrictionInteraction::* ScalarFieldFunction )() const
typedef pair< bool, double >
(CRotFrictionInteraction::* 
CheckedScalarFieldFunction )() const
typedef Vec3(CRotFrictionInteraction::* VectorFieldFunction )() const

Public Member Functions

 CRotFrictionInteraction (CRotParticle *, CRotParticle *, const CRotFrictionIGP &)
virtual void calcForces ()
virtual void calcSimpleForces ()
virtual void calcRigidBodyForces ()
virtual bool isPersistent ()
void setTimeStepSize (double dt)
void calcNormalForce ()
double getAbsForceDeficit () const
double getPotentialEnergy () const
double getSlipping () const
double getSticking () const
double getDissipatedEnergy () const
virtual double Count () const
virtual Vec3 getPos () const
Vec3 getForce () const
Vec3 getNormalForce () const
virtual void saveRestartData (std::ostream &oStream)
virtual void loadRestartData (std::istream &iStream)
- Public Member Functions inherited from ARotPairInteraction
 ARotPairInteraction (CRotParticle *, CRotParticle *)
const CParticlefirst () const
const CParticlesecond () const
CRotParticlefirst ()
CRotParticlesecond ()
pair< int, int > getPairID () const
void checkIDs ()
virtual bool hasTag (int, int) const
virtual Vec3 getPosFirst () const
virtual Vec3 getPosSecond () const
void setPP (CRotParticle *, CRotParticle *)
void setPP (const vector< CRotParticle * >)
esys::lsm::quintuple< Vec3,
double, Vec3, double, Vec3
getRaw2Data () const
virtual void calcHeatTrans ()
virtual void calcHeatFrict ()
- Public Member Functions inherited from AInteraction
bool initialized () const
vector< int > getAllID () const
int getID ()

Static Public Member Functions

static CheckedScalarFieldFunction getCheckedScalarFieldFunction (const string &)
static ScalarFieldFunction getScalarFieldFunction (const string &)
static VectorFieldFunction getVectorFieldFunction (const string &)
static string getType ()

Friends

class TML_PackedMessageInterface
ostream & operator<< (ostream &, const CRotFrictionInteraction &)

Additional Inherited Members

- Protected Attributes inherited from ARotPairInteraction
CRotParticlem_p1
CRotParticlem_p2

Detailed Description

Frictional+Elastic interaction between particles between rotational particles.

Author
Shane Latham, Steffen Abe $Revision$ $Date$

Member Function Documentation

void CRotFrictionInteraction::calcNormalForce ( )

Calculate the normal force.

void CRotFrictionInteraction::calcRigidBodyForces ( )
virtual

Yucang Wang's friction implementation which takes into account rigid body rotation of particle-pairs.

References CParticle::applyForce(), and CRotParticle::applyMoment().

Here is the call graph for this function:

void CRotFrictionInteraction::calcSimpleForces ( )
virtual

Calculate elastic and frictional forces. Rigid body rotations of particle-pairs are ignored

References CParticle::applyForce(), and CRotParticle::applyMoment().

Here is the call graph for this function:

double CRotFrictionInteraction::Count ( ) const
virtual

return 1 if particles are in contact, 0 otherwise

Reimplemented from AInteraction.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

double CRotFrictionInteraction::getAbsForceDeficit ( ) const

get the force needed to overcome friction and make the interaction slip

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

double CRotFrictionInteraction::getDissipatedEnergy ( ) const

return the amount of energy dissipated during the last time step

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

Vec3 CRotFrictionInteraction::getForce ( ) const

If the particles are in contact, get total force, if not in contact return (0,0,0)

Referenced by getVectorFieldFunction().

Here is the caller graph for this function:

Vec3 CRotFrictionInteraction::getNormalForce ( ) const

If the particles are in contact, get normal force, if not in contact return (0,0,0)

Referenced by getVectorFieldFunction().

Here is the caller graph for this function:

double CRotFrictionInteraction::getPotentialEnergy ( ) const

get the potential energy stored in the interaction

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

CRotFrictionInteraction::ScalarFieldFunction CRotFrictionInteraction::getScalarFieldFunction ( const string &  name)
static

Get the particle member function which returns a scalar field of a given name.

Parameters
namethe name of the field

References Count(), getAbsForceDeficit(), getDissipatedEnergy(), getPotentialEnergy(), getSlipping(), and getSticking().

Here is the call graph for this function:

double CRotFrictionInteraction::getSlipping ( ) const

Get the static/dynamic status of the interaction. Returns 1 for a contact in dynamic friction, 0 for static or no contact

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

double CRotFrictionInteraction::getSticking ( ) const

Get "sticking" contacts, i.e. return 1 if the contact is touching but not slipping, 0 otherwise

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

CRotFrictionInteraction::VectorFieldFunction CRotFrictionInteraction::getVectorFieldFunction ( const string &  name)
static

Get the particle member function which returns a vector field of a given name.

Parameters
namethe name of the field

References getForce(), and getNormalForce().

Here is the call graph for this function:

void CRotFrictionInteraction::loadRestartData ( std::istream &  iStream)
virtual

Load restart data from an open istream

Parameters
iStreamthe input stream

Reimplemented from ARotPairInteraction.

References AInteraction::m_id.

void CRotFrictionInteraction::saveRestartData ( std::ostream &  oStream)
virtual

Save restart data to an open ostream

Parameters
oStreamthe output stream

Reimplemented from ARotPairInteraction.

References AInteraction::m_id.


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