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


Public Types | |
| typedef double(CRotElasticInteraction::* | ScalarFieldFunction) () const |
| typedef pair< bool, double >(CRotElasticInteraction::* | CheckedScalarFieldFunction) () const |
| typedef Vec3(CRotElasticInteraction::* | VectorFieldFunction) () const |
| typedef CRotElasticIGP | ParameterType |
Public Member Functions | |
| CRotElasticInteraction () | |
| CRotElasticInteraction (CRotParticle *, CRotParticle *, const CRotElasticIGP &) | |
| virtual | ~CRotElasticInteraction () |
| virtual Vec3 | getPos () const |
| virtual void | calcForces () |
| Vec3 | getForce () const |
| double | getPotentialEnergy () const |
| virtual void | saveRestartData (std::ostream &oStream) |
| virtual void | loadRestartData (std::istream &iStream) |
Public Member Functions inherited from ARotPairInteraction | |
| ARotPairInteraction () | |
| ARotPairInteraction (CRotParticle *, CRotParticle *) | |
| virtual | ~ARotPairInteraction () |
| const CParticle * | first () const |
| const CParticle * | second () const |
| CRotParticle * | first () |
| CRotParticle * | second () |
| pair< int, int > | getPairID () const |
| void | checkIDs () |
| virtual bool | hasTag (int, int) const |
| virtual Vec3 | getPosFirst () const |
| virtual Vec3 | getPosSecond () const |
| void | setPP (CRotParticle *, CRotParticle *) |
| void | setPP (const vector< CRotParticle * >) |
| esys::lsm::quintuple< Vec3, double, Vec3, double, Vec3 > | getRaw2Data () const |
| virtual void | calcHeatTrans () |
| virtual void | calcHeatFrict () |
Public Member Functions inherited from AInteraction | |
| AInteraction () | |
| virtual | ~AInteraction () |
| bool | initialized () const |
| 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 &) |
| static string | getType () |
Private Attributes | |
| double | m_kr |
| spring constant More... | |
| Vec3 | m_force |
| caching force for E_pot More... | |
| double | m_nForce |
| normal force, always >= 0 More... | |
| Vec3 | m_cpos |
| current position More... | |
| Vec3 | m_D |
| initial positions of the particles More... | |
| bool | m_scaling |
| scaling of normal stiffness with particle size More... | |
Friends | |
| ostream & | operator<< (ostream &, const CRotElasticInteraction &) |
Additional Inherited Members | |
Protected Attributes inherited from ARotPairInteraction | |
| CRotParticle * | m_p1 |
| CRotParticle * | 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 rotational particles.
| typedef pair<bool,double>(CRotElasticInteraction::* CRotElasticInteraction::CheckedScalarFieldFunction) () const |
| typedef double(CRotElasticInteraction::* CRotElasticInteraction::ScalarFieldFunction) () const |
| typedef Vec3(CRotElasticInteraction::* CRotElasticInteraction::VectorFieldFunction) () const |
| CRotElasticInteraction::CRotElasticInteraction | ( | ) |
| CRotElasticInteraction::CRotElasticInteraction | ( | CRotParticle * | p1, |
| CRotParticle * | p2, | ||
| const CRotElasticIGP & | param | ||
| ) |
References CParticle::getDo2dCalculations(), CBasicParticle::getPos(), CBasicParticle::getRad(), m_D, m_force, CRotElasticIGP::m_kr, m_kr, m_nForce, CRotElasticIGP::m_scaling, and m_scaling.

|
inlinevirtual |
|
virtual |
Calculate free elastic forces.
Implements ARotPairInteraction.
References CParticle::applyForce(), CBasicParticle::getPos(), CBasicParticle::getRad(), m_cpos, m_force, m_kr, m_nForce, ARotPairInteraction::m_p1, ARotPairInteraction::m_p2, and Vec3::norm().

|
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 CRotElasticInteraction::getForce | ( | ) | const |
References m_force.
Referenced by getVectorFieldFunction().

|
inlinevirtual |
Implements ARotPairInteraction.
References m_cpos.
| double CRotElasticInteraction::getPotentialEnergy | ( | ) | const |
Get the potential energy stored in the interaction.
References m_kr, and m_nForce.
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.

|
inlinestatic |
|
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 ARotPairInteraction.
References m_D, AInteraction::m_id, AInteraction::m_init, m_kr, and m_scaling.
|
virtual |
save restart data to ostream
| oStream | the output stream |
Reimplemented from ARotPairInteraction.
References m_D, AInteraction::m_id, AInteraction::m_init, m_kr, and m_scaling.
|
friend |
|
private |
current position
Referenced by calcForces(), and getPos().
|
private |
initial positions of the particles
Referenced by CRotElasticInteraction(), loadRestartData(), and saveRestartData().
|
private |
caching force for E_pot
Referenced by calcForces(), CRotElasticInteraction(), and getForce().
|
private |
spring constant
Referenced by calcForces(), CRotElasticInteraction(), getPotentialEnergy(), loadRestartData(), and saveRestartData().
|
private |
normal force, always >= 0
Referenced by calcForces(), CRotElasticInteraction(), and getPotentialEnergy().
|
private |
scaling of normal stiffness with particle size
Referenced by CRotElasticInteraction(), loadRestartData(), and saveRestartData().