ESyS-Particle  2.3
CHertzianViscoElasticInteraction Class Reference

Hertzian ViscoElastic Interaction between free particles. More...

#include <HertzianViscoElasticInteraction.h>

Inheritance diagram for CHertzianViscoElasticInteraction:
Collaboration diagram for CHertzianViscoElasticInteraction:

Public Types

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

Public Member Functions

 CHertzianViscoElasticInteraction (CParticle *, CParticle *, const CHertzianViscoElasticIGP &)
 
virtual ~CHertzianViscoElasticInteraction ()
 
virtual Vec3 getPos () const
 
double getPotentialEnergy () const
 
virtual void calcForces ()
 
Vec3 getForce () const
 
- 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, Vec3
getRaw2Data () const
 
template<class TmplParticle >
void setPP (const vector< TmplParticle * > &pp)
 
virtual void saveRestartData (std::ostream &)
 
virtual void loadRestartData (std::istream &)
 
- 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 ScalarFieldFunction getScalarFieldFunction (const string &)
 
static VectorFieldFunction getVectorFieldFunction (const string &)
 
static CheckedScalarFieldFunction getCheckedScalarFieldFunction (const string &)
 

Private Attributes

double m_A
 Damping constant. More...
 
double m_E
 Young's modulus. More...
 
double m_nu
 Poisson ratio. More...
 
Vec3 m_force
 
double m_dn
 
Vec3 m_cpos
 

Additional Inherited Members

- 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
 

Detailed Description

Hertzian ViscoElastic Interaction between free particles.

Author
Laura Heredia & Pablo Richeri
Revision
1
Date
2009-12-13 19:00:00 -0300 (Sun, 13 Dec 2009)

Member Typedef Documentation

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

Constructor & Destructor Documentation

CHertzianViscoElasticInteraction::CHertzianViscoElasticInteraction ( CParticle p1,
CParticle p2,
const CHertzianViscoElasticIGP param 
)
virtual CHertzianViscoElasticInteraction::~CHertzianViscoElasticInteraction ( )
inlinevirtual

Member Function Documentation

void CHertzianViscoElasticInteraction::calcForces ( )
virtual
CHertzianViscoElasticInteraction::CheckedScalarFieldFunction CHertzianViscoElasticInteraction::getCheckedScalarFieldFunction ( const string &  name)
static

dummy

References NULL.

Vec3 CHertzianViscoElasticInteraction::getForce ( ) const

"field function" returning force currently exerted by interaction

References m_force.

Referenced by getVectorFieldFunction().

Here is the caller graph for this function:

virtual Vec3 CHertzianViscoElasticInteraction::getPos ( ) const
inlinevirtual

Implements APairInteraction.

References m_cpos.

double CHertzianViscoElasticInteraction::getPotentialEnergy ( ) const

"field function" returning potential energy currently stored in interaction

References m_dn, m_force, and Vec3::norm().

Referenced by getScalarFieldFunction().

Here is the call graph for this function:

Here is the caller graph for this function:

CHertzianViscoElasticInteraction::ScalarFieldFunction CHertzianViscoElasticInteraction::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 AInteraction::Count(), getPotentialEnergy(), and NULL.

Here is the call graph for this function:

CHertzianViscoElasticInteraction::VectorFieldFunction CHertzianViscoElasticInteraction::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 NULL.

Here is the call graph for this function:

Member Data Documentation

double CHertzianViscoElasticInteraction::m_A
private

Damping constant.

Referenced by calcForces(), and CHertzianViscoElasticInteraction().

Vec3 CHertzianViscoElasticInteraction::m_cpos
private

Referenced by getPos().

double CHertzianViscoElasticInteraction::m_dn
private
double CHertzianViscoElasticInteraction::m_E
private

Young's modulus.

Referenced by calcForces(), and CHertzianViscoElasticInteraction().

Vec3 CHertzianViscoElasticInteraction::m_force
private
double CHertzianViscoElasticInteraction::m_nu
private

Poisson ratio.

Referenced by calcForces(), and CHertzianViscoElasticInteraction().


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