|
ESyS-Particle
2.3.4
|
Hertzian Elastic Interaction between free particles. More...
#include <HertzianElasticInteraction.h>


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 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) |
| 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 | |
| CParticle * | m_p1 |
| CParticle * | m_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 |
Hertzian Elastic Interaction between free particles.
| typedef pair<bool,double>(CHertzianElasticInteraction::* CHertzianElasticInteraction::CheckedScalarFieldFunction) () const |
| typedef double(CHertzianElasticInteraction::* CHertzianElasticInteraction::ScalarFieldFunction) () const |
| typedef Vec3(CHertzianElasticInteraction::* CHertzianElasticInteraction::VectorFieldFunction) () const |
| CHertzianElasticInteraction::CHertzianElasticInteraction | ( | CParticle * | p1, |
| CParticle * | p2, | ||
| const CHertzianElasticIGP & | param | ||
| ) |
References m_dn, CHertzianElasticIGP::m_E, m_E, m_force, CHertzianElasticIGP::m_nu, and m_nu.
|
inlinevirtual |
|
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().

|
static |
dummy
References NULL.
| Vec3 CHertzianElasticInteraction::getForce | ( | ) | const |
"field function" returning force currently exerted by interaction
References m_force.
Referenced by getVectorFieldFunction().

|
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().


|
static |
Get the particle member function which returns a scalar field of a given name.
| name | the name of the field |
References AInteraction::Count(), getPotentialEnergy(), and NULL.

|
static |
Get the particle member function which returns a vector field of a given name.
| name | the name of the field |
References getForce(), and NULL.

|
private |
Referenced by calcForces(), CHertzianElasticInteraction(), and getPotentialEnergy().
|
private |
Young's modulus.
Referenced by calcForces(), and CHertzianElasticInteraction().
|
private |
Referenced by calcForces(), CHertzianElasticInteraction(), getForce(), and getPotentialEnergy().
|
private |
Poisson ratio.
Referenced by calcForces(), and CHertzianElasticInteraction().