ESyS-Particle  2.3
CHertzianElasticInteraction Class Reference

Hertzian Elastic Interaction between free particles. More...

#include <HertzianElasticInteraction.h>

Inheritance diagram for CHertzianElasticInteraction:
Collaboration diagram for CHertzianElasticInteraction:

Public Types

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

Public Member Functions

 CHertzianElasticInteraction (CParticle *, CParticle *, const CHertzianElasticIGP &)
 
virtual ~CHertzianElasticInteraction ()
 
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_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 Elastic Interaction between free particles.

Author
Steffen Abe
Revision
1201
Date
2009-07-31 12:25:45 +0200 (Fri, 31 Jul 2009)

Member Typedef Documentation

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

Constructor & Destructor Documentation

CHertzianElasticInteraction::CHertzianElasticInteraction ( CParticle p1,
CParticle p2,
const CHertzianElasticIGP param 
)
virtual CHertzianElasticInteraction::~CHertzianElasticInteraction ( )
inlinevirtual

Member Function Documentation

void CHertzianElasticInteraction::calcForces ( )
virtual

calculate forces

Implements APairInteraction.

References CParticle::applyForce(), CBasicParticle::getPos(), CBasicParticle::getRad(), m_dn, m_E, m_force, m_nu, APairInteraction::m_p1, APairInteraction::m_p2, and Vec3::unit().

Here is the call graph for this function:

CHertzianElasticInteraction::CheckedScalarFieldFunction CHertzianElasticInteraction::getCheckedScalarFieldFunction ( const string &  name)
static

dummy

References NULL.

Vec3 CHertzianElasticInteraction::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 CHertzianElasticInteraction::getPos ( ) const
inlinevirtual

Implements APairInteraction.

References m_cpos.

double CHertzianElasticInteraction::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:

CHertzianElasticInteraction::ScalarFieldFunction CHertzianElasticInteraction::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:

CHertzianElasticInteraction::VectorFieldFunction CHertzianElasticInteraction::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

Vec3 CHertzianElasticInteraction::m_cpos
private

Referenced by getPos().

double CHertzianElasticInteraction::m_dn
private
double CHertzianElasticInteraction::m_E
private

Young's modulus.

Referenced by calcForces(), and CHertzianElasticInteraction().

Vec3 CHertzianElasticInteraction::m_force
private
double CHertzianElasticInteraction::m_nu
private

Poisson ratio.

Referenced by calcForces(), and CHertzianElasticInteraction().


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