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

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() [1/2]

APairInteraction::APairInteraction ( )

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

◆ APairInteraction() [2/2]

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::~APairInteraction ( )
virtual

Member Function Documentation

◆ calcForces()

◆ checkIDs()

void APairInteraction::checkIDs ( )

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

Here is the call graph for this function:

◆ first() [1/2]

CParticle* APairInteraction::first ( )
inline

References m_p1.

◆ first() [2/2]

const CParticle* APairInteraction::first ( ) const
inline

References m_p1.

◆ getPairID()

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

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

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPos()

◆ getPosFirst()

virtual Vec3 APairInteraction::getPosFirst ( ) const
inlinevirtual

Implements AInteraction.

References CBasicParticle::getPos(), and m_p1.

Here is the call graph for this function:

◆ getPosSecond()

virtual Vec3 APairInteraction::getPosSecond ( ) const
inlinevirtual

Reimplemented from AInteraction.

References CBasicParticle::getPos(), and m_p2.

Here is the call graph for this function:

◆ getRaw2Data()

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

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

Here is the call graph for this function:

◆ hasTag()

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:

◆ loadRestartData()

virtual void APairInteraction::loadRestartData ( std::istream &  )
inlinevirtual

◆ saveRestartData()

virtual void APairInteraction::saveRestartData ( std::ostream &  )
inlinevirtual

◆ second() [1/2]

CParticle* APairInteraction::second ( )
inline

References m_p2.

◆ second() [2/2]

const CParticle* APairInteraction::second ( ) const
inline

References m_p2.

◆ setPP() [1/2]

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

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

Here is the call graph for this function:

◆ setPP() [2/2]

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:

Member Data Documentation

◆ m_p1

CParticle* APairInteraction::m_p1
protected

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

◆ m_p2

CParticle * APairInteraction::m_p2
protected

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


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