ESyS-Particle  2.3.4
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, Vec3getRaw2Data () 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

◆ CheckedScalarFieldFunction

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

◆ ParameterType

◆ ScalarFieldFunction

typedef double(CHertzianElasticInteraction::* CHertzianElasticInteraction::ScalarFieldFunction) () const

◆ VectorFieldFunction

typedef Vec3(CHertzianElasticInteraction::* CHertzianElasticInteraction::VectorFieldFunction) () const

Constructor & Destructor Documentation

◆ CHertzianElasticInteraction()

CHertzianElasticInteraction::CHertzianElasticInteraction ( CParticle p1,
CParticle p2,
const CHertzianElasticIGP param 
)

◆ ~CHertzianElasticInteraction()

virtual CHertzianElasticInteraction::~CHertzianElasticInteraction ( )
inlinevirtual

Member Function Documentation

◆ calcForces()

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:

◆ getCheckedScalarFieldFunction()

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

dummy

References NULL.

◆ getForce()

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:

◆ getPos()

virtual Vec3 CHertzianElasticInteraction::getPos ( ) const
inlinevirtual

Implements APairInteraction.

References m_cpos.

◆ getPotentialEnergy()

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:

◆ getScalarFieldFunction()

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:

◆ getVectorFieldFunction()

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

◆ m_cpos

Vec3 CHertzianElasticInteraction::m_cpos
private

Referenced by getPos().

◆ m_dn

double CHertzianElasticInteraction::m_dn
private

◆ m_E

double CHertzianElasticInteraction::m_E
private

Young's modulus.

Referenced by calcForces(), and CHertzianElasticInteraction().

◆ m_force

Vec3 CHertzianElasticInteraction::m_force
private

◆ m_nu

double CHertzianElasticInteraction::m_nu
private

Poisson ratio.

Referenced by calcForces(), and CHertzianElasticInteraction().


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