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


Public Types | |
| typedef double(CElasticInteraction::* | ScalarFieldFunction) () const |
| typedef pair< bool, double >(CElasticInteraction::* | CheckedScalarFieldFunction) () const |
| typedef Vec3(CElasticInteraction::* | VectorFieldFunction) () const |
| typedef CElasticIGP | ParameterType |
Public Member Functions | |
| CElasticInteraction (CParticle *, CParticle *, const CElasticIGP &) | |
| virtual | ~CElasticInteraction () |
| virtual Vec3 | getPos () const |
| double | getPotentialEnergy () const |
| virtual void | calcForces () |
| Vec3 | getForce () const |
| virtual void | saveRestartData (std::ostream &oStream) |
| virtual void | loadRestartData (std::istream &iStream) |
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) |
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 CheckedScalarFieldFunction | getCheckedScalarFieldFunction (const string &) |
| static VectorFieldFunction | getVectorFieldFunction (const string &) |
Private Attributes | |
| double | m_k |
| spring constant More... | |
| Vec3 | m_force |
| caching force for E_pot More... | |
| Vec3 | m_cpos |
| bool | m_scaling |
| toggles scaling of elastic properties by particle size More... | |
Friends | |
| ostream & | operator<< (ostream &, const CElasticInteraction &) |
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 |
Elastic Interaction between free particles.
| typedef pair<bool,double>(CElasticInteraction::* CElasticInteraction::CheckedScalarFieldFunction) () const |
| typedef double(CElasticInteraction::* CElasticInteraction::ScalarFieldFunction) () const |
| typedef Vec3(CElasticInteraction::* CElasticInteraction::VectorFieldFunction) () const |
| CElasticInteraction::CElasticInteraction | ( | CParticle * | p1, |
| CParticle * | p2, | ||
| const CElasticIGP & | param | ||
| ) |
References CParticle::getDo2dCalculations(), CBasicParticle::getRad(), m_force, CElasticIGP::m_k, m_k, CElasticIGP::m_scaling, and m_scaling.

|
inlinevirtual |
|
virtual |
Calculate free elastic forces. 23 Flops if in contact, 10 Flops if not
Implements APairInteraction.
References CParticle::applyForce(), CBasicParticle::getPos(), CBasicParticle::getRad(), m_cpos, m_force, m_k, APairInteraction::m_p1, and APairInteraction::m_p2.

|
static |
Get the particle member function which returns a checked scalar field of a given name.
| name | the name of the field |
References NULL.
| Vec3 CElasticInteraction::getForce | ( | ) | const |
References m_force.
Referenced by getVectorFieldFunction().

|
inlinevirtual |
Implements APairInteraction.
References m_cpos.
| double CElasticInteraction::getPotentialEnergy | ( | ) | const |
get the potential energy stored in the interaction
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.

|
virtual |
load restart data from stream
| iStream | the input stream |
Reimplemented from APairInteraction.
References AInteraction::m_id, AInteraction::m_init, m_k, and m_scaling.
|
virtual |
save restart data to ostream
| oStream | the output stream |
Reimplemented from APairInteraction.
References AInteraction::m_id, AInteraction::m_init, m_k, and m_scaling.
|
friend |
|
private |
Referenced by calcForces(), and getPos().
|
private |
caching force for E_pot
Referenced by calcForces(), CElasticInteraction(), getForce(), and getPotentialEnergy().
|
private |
spring constant
Referenced by calcForces(), CElasticInteraction(), getPotentialEnergy(), loadRestartData(), and saveRestartData().
|
private |
toggles scaling of elastic properties by particle size
Referenced by CElasticInteraction(), loadRestartData(), and saveRestartData().