ESyS-Particle  2.3.4
CShortBondedInteraction Class Reference

class for a "short" bonded interaction More...

#include <ShortBondedInteraction.h>

Inheritance diagram for CShortBondedInteraction:
Collaboration diagram for CShortBondedInteraction:

Public Types

typedef CBondedIGP ParameterType
 
typedef ShortBondedInteractionCpData CheckPointable
 
typedef double(CShortBondedInteraction::* ScalarFieldFunction) () const
 
typedef pair< bool, double >(CShortBondedInteraction::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CShortBondedInteraction::* VectorFieldFunction) () const
 
- Public Types inherited from CBondedInteraction
typedef CBondedIGP ParameterType
 
typedef BondedInteractionCpData CheckPointable
 
typedef double(CBondedInteraction::* ScalarFieldFunction) () const
 
typedef pair< bool, double >(CBondedInteraction::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CBondedInteraction::* VectorFieldFunction) () const
 

Public Member Functions

 CShortBondedInteraction ()
 
 CShortBondedInteraction (CParticle *, CParticle *, const CBondedIGP &)
 
virtual ~CShortBondedInteraction ()
 
double getEquiDist () const
 
void saveCheckPointData (std::ostream &oStream)
 
void loadCheckPointData (std::istream &iStream)
 
- Public Member Functions inherited from CBondedInteraction
 CBondedInteraction ()
 
 CBondedInteraction (CParticle *particle1, CParticle *particle2, const CBondedIGP &params)
 
virtual ~CBondedInteraction ()
 
virtual void calcForces ()
 
void setBreak (double)
 
bool broken ()
 
int getTag () const
 
void setTag (int tag)
 
double getCriterion () const
 
double getPotentialEnergy () const
 
double getStrain () const
 
Vec3 getForce () const
 
virtual Vec3 getPos () 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 CParticlefirst () const
 
const CParticlesecond () const
 
CParticlefirst ()
 
CParticlesecond ()
 
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, Vec3getRaw2Data () 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 &)
 
static string getType ()
 
- Static Public Member Functions inherited from CBondedInteraction
static ScalarFieldFunction getScalarFieldFunction (const string &)
 
static CheckedScalarFieldFunction getCheckedScalarFieldFunction (const string &)
 
static VectorFieldFunction getVectorFieldFunction (const string &)
 
static string getType ()
 

Friends

class TML_PackedMessageInterface
 
ostream & operator<< (ostream &, const CBondedInteraction &)
 

Additional Inherited Members

- Protected Member Functions inherited from CBondedInteraction
 CBondedInteraction (CParticle *, CParticle *)
 
- Protected Attributes inherited from CBondedInteraction
double m_k
 spring constant More...
 
double m_r0
 equilibrium distance More...
 
double m_dist
 current distance, cached from last calcForces() More...
 
double m_break
 breaking distance More...
 
Vec3 m_force
 current force, cached for E_pot calculation More...
 
Vec3 m_cpos
 
int m_tag
 Interaction tag;. More...
 
bool m_scaling
 scaling k with particle radius More...
 
- Protected Attributes inherited from APairInteraction
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

class for a "short" bonded interaction

A bonded interaction where the equilibrium distance is not determined by the radii of the particles but by the initial distance, i.e. it allows for overlapping particles. Uses the same parameter class as "normal" bonded interactions

Member Typedef Documentation

◆ CheckedScalarFieldFunction

typedef pair<bool,double>(CShortBondedInteraction::* CShortBondedInteraction::CheckedScalarFieldFunction) () const

◆ CheckPointable

Used by PIS to save/load check-point data for objects of this type.

◆ ParameterType

◆ ScalarFieldFunction

typedef double(CShortBondedInteraction::* CShortBondedInteraction::ScalarFieldFunction) () const

◆ VectorFieldFunction

typedef Vec3(CShortBondedInteraction::* CShortBondedInteraction::VectorFieldFunction) () const

Constructor & Destructor Documentation

◆ CShortBondedInteraction() [1/2]

CShortBondedInteraction::CShortBondedInteraction ( )

◆ CShortBondedInteraction() [2/2]

CShortBondedInteraction::CShortBondedInteraction ( CParticle p1,
CParticle p2,
const CBondedIGP param 
)

Construct valid short bonded interaction. The equilibrium distance is calculated from the initial distance of the two particles.

Parameters
p1pointer to 1st particle
p2pointer to 2nd particles
paramthe interaction parameters

References CBasicParticle::getPos(), CBondedIGP::k, CBondedInteraction::m_break, CBondedInteraction::m_dist, CBondedInteraction::m_force, CBondedInteraction::m_k, CBondedInteraction::m_r0, CBondedInteraction::m_tag, CBondedIGP::rbreak, and CBondedIGP::tag.

Here is the call graph for this function:

◆ ~CShortBondedInteraction()

CShortBondedInteraction::~CShortBondedInteraction ( )
virtual

Member Function Documentation

◆ getCheckedScalarFieldFunction()

CShortBondedInteraction::CheckedScalarFieldFunction CShortBondedInteraction::getCheckedScalarFieldFunction ( const string &  name)
static

References NULL.

◆ getEquiDist()

double CShortBondedInteraction::getEquiDist ( ) const
inline

References CBondedInteraction::m_r0.

Referenced by ShortBondedInteractionCpData::ShortBondedInteractionCpData().

Here is the caller graph for this function:

◆ getScalarFieldFunction()

CShortBondedInteraction::ScalarFieldFunction CShortBondedInteraction::getScalarFieldFunction ( const string &  name)
static

References AInteraction::Count(), CBondedInteraction::getPotentialEnergy(), CBondedInteraction::getStrain(), and NULL.

Here is the call graph for this function:

◆ getType()

static string CShortBondedInteraction::getType ( )
inlinestatic

◆ getVectorFieldFunction()

CShortBondedInteraction::VectorFieldFunction CShortBondedInteraction::getVectorFieldFunction ( const string &  name)
static

References CBondedInteraction::getForce(), and NULL.

Here is the call graph for this function:

◆ loadCheckPointData()

void CShortBondedInteraction::loadCheckPointData ( std::istream &  iStream)

◆ saveCheckPointData()

void CShortBondedInteraction::saveCheckPointData ( std::ostream &  oStream)
virtual

Save snapshot data (non-restartable, viz/postprocessing only) to an output stream.

Parameters
oStreamthe output stream

Reimplemented from CBondedInteraction.

References ShortBondedInteractionCpData::saveCheckPointData().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

ostream& operator<< ( ostream &  ost,
const CBondedInteraction BI 
)
friend

◆ TML_PackedMessageInterface

friend class TML_PackedMessageInterface
friend

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