ESyS-Particle  2.3
APairInteraction Class Referenceabstract

Abstract base class for 2-particle interactions. More...

#include <Interaction.h>

Inheritance diagram for APairInteraction:
Collaboration diagram for APairInteraction:

Public Member Functions

 APairInteraction ()
 
 APairInteraction (CParticle *, CParticle *)
 
virtual ~APairInteraction ()
 
const CParticlefirst () const
 
const CParticlesecond () const
 
CParticlefirst ()
 
CParticlesecond ()
 
pair< int, int > getPairID () const
 
virtual Vec3 getPos () const =0
 
virtual void calcForces ()=0
 
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
 

Protected Attributes

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

Abstract base class for 2-particle interactions.

Author
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

APairInteraction::APairInteraction ( )

References AInteraction::m_id, m_p1, m_p2, and NULL.

APairInteraction::APairInteraction ( CParticle p1,
CParticle p2 
)

References CBasicParticle::getID(), AInteraction::m_id, AInteraction::m_init, m_p1, and m_p2.

Here is the call graph for this function:

APairInteraction::~APairInteraction ( )
virtual

Member Function Documentation

void APairInteraction::checkIDs ( )

References cout, CBasicParticle::getID(), AInteraction::m_id, m_p1, and m_p2.

Here is the call graph for this function:

const CParticle* APairInteraction::first ( ) const
inline

References m_p1.

CParticle* APairInteraction::first ( )
inline

References m_p1.

pair<int,int> APairInteraction::getPairID ( ) const
inline

References CBasicParticle::getID().

Referenced by BondedInteractionCpData::set(), and ShortBondedInteractionCpData::ShortBondedInteractionCpData().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual Vec3 APairInteraction::getPos ( ) const
pure virtual
virtual Vec3 APairInteraction::getPosFirst ( ) const
inlinevirtual

Implements AInteraction.

References CBasicParticle::getPos().

Here is the call graph for this function:

virtual Vec3 APairInteraction::getPosSecond ( ) const
inlinevirtual

Reimplemented from AInteraction.

References CBasicParticle::getPos().

Here is the call graph for this function:

esys::lsm::quintuple<Vec3,double,Vec3,double,Vec3> APairInteraction::getRaw2Data ( ) const
inline

References CBasicParticle::getPos(), getPos(), and CBasicParticle::getRad().

Here is the call graph for this function:

bool APairInteraction::hasTag ( int  tag,
int  mask 
) const
virtual

check if any of the particles in the interaction fits tag & mask

Parameters
tagthe tag
maskthe mask

Implements AInteraction.

References CBasicParticle::getTag(), m_p1, and m_p2.

Here is the call graph for this function:

virtual void APairInteraction::loadRestartData ( std::istream &  )
inlinevirtual
virtual void APairInteraction::saveRestartData ( std::ostream &  )
inlinevirtual
const CParticle* APairInteraction::second ( ) const
inline

References m_p2.

CParticle* APairInteraction::second ( )
inline

References m_p2.

void APairInteraction::setPP ( CParticle p1,
CParticle p2 
)

References CBasicParticle::getID(), AInteraction::m_id, m_p1, and m_p2.

Here is the call graph for this function:

template<class TmplParticle >
void APairInteraction::setPP ( const vector< TmplParticle * > &  pp)
inline

References CBasicParticle::getID(), and AInteraction::m_id.

Here is the call graph for this function:

Member Data Documentation

CParticle* APairInteraction::m_p1
protected

Referenced by APairInteraction(), CBondedInteraction::broken(), CVWFriction::calcForces(), CAdhesiveFriction::calcForces(), CLinearDashpotInteraction::calcForces(), CHertzianElasticInteraction::calcForces(), CElasticInteraction::calcForces(), CHertzianViscoElasticInteraction::calcForces(), CFrictionInteraction::calcForces(), CCappedBondedInteraction::calcForces(), CBondedInteraction::calcForces(), CHertzianViscoElasticFrictionInteraction::calcForces(), CCappedBondedInteraction::CCappedBondedInteraction(), checkIDs(), CLinearDashpotInteraction::CLinearDashpotInteraction(), first(), CFrictionInteraction::getAbsFrictionalForce(), CHertzianViscoElasticFrictionInteraction::getAbsFrictionalForce(), CFrictionInteraction::getAbsFrictionalStress(), CHertzianViscoElasticFrictionInteraction::getAbsFrictionalStress(), CFrictionInteraction::getAbsMuFN(), CHertzianViscoElasticFrictionInteraction::getAbsMuFN(), CVWFriction::getCurrentMu(), CFrictionInteraction::getMaxFricStress(), CHertzianViscoElasticFrictionInteraction::getMaxFricStress(), CFrictionInteraction::getMuEff(), CHertzianViscoElasticFrictionInteraction::getMuEff(), CFrictionInteraction::getNormalStress(), CHertzianViscoElasticFrictionInteraction::getNormalStress(), CFrictionInteraction::getSlipVelocity(), CHertzianViscoElasticFrictionInteraction::getSlipVelocity(), hasTag(), CFrictionInteraction::isPersistent(), CHertzianViscoElasticFrictionInteraction::isPersistent(), operator<<(), CBondedInteraction::setBreak(), and setPP().

CParticle * APairInteraction::m_p2
protected

Referenced by APairInteraction(), CBondedInteraction::broken(), CVWFriction::calcForces(), CAdhesiveFriction::calcForces(), CLinearDashpotInteraction::calcForces(), CHertzianElasticInteraction::calcForces(), CElasticInteraction::calcForces(), CHertzianViscoElasticInteraction::calcForces(), CFrictionInteraction::calcForces(), CCappedBondedInteraction::calcForces(), CBondedInteraction::calcForces(), CHertzianViscoElasticFrictionInteraction::calcForces(), CCappedBondedInteraction::CCappedBondedInteraction(), checkIDs(), CLinearDashpotInteraction::CLinearDashpotInteraction(), CFrictionInteraction::getAbsFrictionalForce(), CHertzianViscoElasticFrictionInteraction::getAbsFrictionalForce(), CFrictionInteraction::getAbsFrictionalStress(), CHertzianViscoElasticFrictionInteraction::getAbsFrictionalStress(), CFrictionInteraction::getAbsMuFN(), CHertzianViscoElasticFrictionInteraction::getAbsMuFN(), CVWFriction::getCurrentMu(), CFrictionInteraction::getMaxFricStress(), CHertzianViscoElasticFrictionInteraction::getMaxFricStress(), CFrictionInteraction::getMuEff(), CHertzianViscoElasticFrictionInteraction::getMuEff(), CFrictionInteraction::getNormalStress(), CHertzianViscoElasticFrictionInteraction::getNormalStress(), CFrictionInteraction::getSlipVelocity(), CHertzianViscoElasticFrictionInteraction::getSlipVelocity(), hasTag(), CFrictionInteraction::isPersistent(), CHertzianViscoElasticFrictionInteraction::isPersistent(), operator<<(), second(), CBondedInteraction::setBreak(), and setPP().


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