ESyS-Particle  2.3
CRotThermBondedInteraction Class Reference

#include <RotThermBondedInteraction.h>

Inheritance diagram for CRotThermBondedInteraction:
Collaboration diagram for CRotThermBondedInteraction:

Public Types

typedef CRotThermBondedIGP ParameterType
 
typedef BondedInteractionCpData CheckPointable
 
typedef double(CRotThermBondedInteraction::* ScalarFieldFunction )() const
 
typedef pair< bool, double >
(CRotThermBondedInteraction::* 
CheckedScalarFieldFunction )() const
 
typedef Vec3(CRotThermBondedInteraction::* VectorFieldFunction )() const
 

Public Member Functions

 CRotThermBondedInteraction ()
 
 CRotThermBondedInteraction (CRotThermParticle *, CRotThermParticle *, const CRotThermBondedIGP &)
 
virtual ~CRotThermBondedInteraction ()
 
int getTag () const
 
void setTag (int tag)
 
void calcForces ()
 
void calcHeatTrans ()
 
bool broken ()
 
Vec3 getBondedVector1 () const
 
Vec3 getBondedVector2 () const
 
double getPotentialEnergy () const
 
double getNormalPotentialEnergy () const
 
double getShearPotentialEnergy () const
 
double getTwistPotentialEnergy () const
 
double getBendPotentialEnergy () const
 
double getCriterion () const
 
Vec3 getForce () const
 
virtual Vec3 getPos () const
 
Vec3 getCentrePtDiff () const
 
Vec3 getInitialCentrePtDiff () const
 
Vec3 getInitialMidPoint () const
 
Vec3 getShearDiff () const
 
virtual void saveCheckPointData (std::ostream &oStream)
 
virtual void loadCheckPointData (std::istream &iStream)
 
virtual void saveRestartData (std::ostream &oStream)
 
virtual void loadRestartData (std::istream &iStream)
 
- Public Member Functions inherited from ARotThermPairInteraction
 ARotThermPairInteraction ()
 
 ARotThermPairInteraction (CRotThermParticle *, CRotThermParticle *)
 
virtual ~ARotThermPairInteraction ()
 
const CRotThermParticlefirst () const
 
const CRotThermParticlesecond () const
 
CRotThermParticlefirst ()
 
CRotThermParticlesecond ()
 
pair< int, int > getPairID () const
 
virtual void calcHeatFrict ()
 
void checkIDs ()
 
virtual bool hasTag (int, int) const
 
virtual Vec3 getPosFirst () const
 
virtual Vec3 getPosSecond () const
 
void setPP (CRotThermParticle *, CRotThermParticle *)
 
void setPP (const vector< CRotThermParticle * >)
 
esys::lsm::quintuple< Vec3,
double, Vec3, double, Vec3
getRaw2Data () const
 
- 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_dist
 current distance, cached from last calcForces() More...
 
double m_min_r
 
double m_kr
 spring constant More...
 
double m_ks
 
double m_kb
 
double m_kt
 
double m_diffusivity
 
double m_max_nForce
 
double m_max_shForce
 
double m_max_tMoment
 
double m_max_bMoment
 
double m_nForce
 
double m_shForce
 
double m_tMoment
 
double m_bMoment
 
Vec3 m_force
 current force, cached for E_pot calculation More...
 
Vec3 m_moment
 
Vec3 m_cpos
 
int m_tag
 

Friends

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

Additional Inherited Members

- Protected Attributes inherited from ARotThermPairInteraction
CRotThermParticlem_p1
 
CRotThermParticlem_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

Interaction between bonded, thermal, rotational particles

Member Typedef Documentation

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

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

typedef double(CRotThermBondedInteraction::* CRotThermBondedInteraction::ScalarFieldFunction)() const
typedef Vec3(CRotThermBondedInteraction::* CRotThermBondedInteraction::VectorFieldFunction)() const

Constructor & Destructor Documentation

CRotThermBondedInteraction::CRotThermBondedInteraction ( )
CRotThermBondedInteraction::~CRotThermBondedInteraction ( )
virtual

Member Function Documentation

void CRotThermBondedInteraction::calcHeatTrans ( )
virtual
double CRotThermBondedInteraction::getBendPotentialEnergy ( ) const

References m_bMoment, and m_kb.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

Vec3 CRotThermBondedInteraction::getBondedVector1 ( ) const
Vec3 CRotThermBondedInteraction::getBondedVector2 ( ) const
Vec3 CRotThermBondedInteraction::getCentrePtDiff ( ) const

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

Here is the call graph for this function:

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

Get the particle member function which returns a checked scalar field of a given name.

Parameters
namethe name of the field

References NULL.

double CRotThermBondedInteraction::getCriterion ( ) const

References m_bMoment, m_max_bMoment, m_max_nForce, m_max_shForce, m_max_tMoment, m_nForce, m_shForce, and m_tMoment.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

Vec3 CRotThermBondedInteraction::getForce ( ) const

References m_force.

Referenced by getVectorFieldFunction().

Here is the caller graph for this function:

Vec3 CRotThermBondedInteraction::getInitialCentrePtDiff ( ) const

References CParticle::getInitPos(), ARotThermPairInteraction::m_p1, and ARotThermPairInteraction::m_p2.

Referenced by getInitialMidPoint().

Here is the call graph for this function:

Here is the caller graph for this function:

Vec3 CRotThermBondedInteraction::getInitialMidPoint ( ) const

References getInitialCentrePtDiff(), CBasicParticle::getRad(), ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, and Vec3::norm().

Referenced by getShearDiff().

Here is the call graph for this function:

Here is the caller graph for this function:

double CRotThermBondedInteraction::getNormalPotentialEnergy ( ) const

References m_kr, and m_nForce.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

virtual Vec3 CRotThermBondedInteraction::getPos ( ) const
inlinevirtual

Implements ARotThermPairInteraction.

References m_cpos.

double CRotThermBondedInteraction::getPotentialEnergy ( ) const

References m_bMoment, m_kb, m_kr, m_ks, m_kt, m_nForce, m_shForce, and m_tMoment.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

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

Get the particle member function which returns a scalar field of a given name.

Parameters
namethe name of the field

References AInteraction::Count(), getBendPotentialEnergy(), getCriterion(), getNormalPotentialEnergy(), getPotentialEnergy(), getShearPotentialEnergy(), getTwistPotentialEnergy(), and NULL.

Here is the call graph for this function:

Vec3 CRotThermBondedInteraction::getShearDiff ( ) const
double CRotThermBondedInteraction::getShearPotentialEnergy ( ) const

References m_ks, and m_shForce.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

int CRotThermBondedInteraction::getTag ( ) const

References m_tag.

Referenced by saveRestartData().

Here is the caller graph for this function:

double CRotThermBondedInteraction::getTwistPotentialEnergy ( ) const

References m_kt, and m_tMoment.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

static string CRotThermBondedInteraction::getType ( )
inlinestatic
CRotThermBondedInteraction::VectorFieldFunction CRotThermBondedInteraction::getVectorFieldFunction ( const string &  name)
static

Get the particle member function which returns a vector field of a given name.

Parameters
namethe name of the field

References getForce(), and NULL.

Here is the call graph for this function:

void CRotThermBondedInteraction::loadCheckPointData ( std::istream &  iStream)
virtual
void CRotThermBondedInteraction::loadRestartData ( std::istream &  iStream)
virtual

load restart data from stream

Parameters
iStreamthe input stream

References m_diffusivity, AInteraction::m_id, AInteraction::m_init, m_kb, m_kr, m_ks, m_kt, m_max_bMoment, m_max_nForce, m_max_shForce, m_max_tMoment, and setTag().

Here is the call graph for this function:

void CRotThermBondedInteraction::saveCheckPointData ( std::ostream &  oStream)
virtual
void CRotThermBondedInteraction::saveRestartData ( std::ostream &  oStream)
virtual

save restart data to ostream

Parameters
oStreamthe output stream

References getTag(), m_diffusivity, AInteraction::m_id, AInteraction::m_init, m_kb, m_kr, m_ks, m_kt, m_max_bMoment, m_max_nForce, m_max_shForce, and m_max_tMoment.

Here is the call graph for this function:

void CRotThermBondedInteraction::setTag ( int  tag)

References m_tag.

Referenced by loadRestartData().

Here is the caller graph for this function:

Friends And Related Function Documentation

ostream& operator<< ( ostream &  ost,
const CRotThermBondedInteraction BI 
)
friend
friend class TML_PackedMessageInterface
friend

Member Data Documentation

double CRotThermBondedInteraction::m_bMoment
private
Vec3 CRotThermBondedInteraction::m_cpos
private

Referenced by calcForces(), and getPos().

double CRotThermBondedInteraction::m_diffusivity
private
double CRotThermBondedInteraction::m_dist
private

current distance, cached from last calcForces()

Referenced by broken(), calcForces(), and CRotThermBondedInteraction().

Vec3 CRotThermBondedInteraction::m_force
private

current force, cached for E_pot calculation

Referenced by calcForces(), CRotThermBondedInteraction(), and getForce().

double CRotThermBondedInteraction::m_kb
private
double CRotThermBondedInteraction::m_kr
private
double CRotThermBondedInteraction::m_max_bMoment
private
double CRotThermBondedInteraction::m_max_nForce
private
double CRotThermBondedInteraction::m_max_shForce
private
double CRotThermBondedInteraction::m_max_tMoment
private
double CRotThermBondedInteraction::m_min_r
private
Vec3 CRotThermBondedInteraction::m_moment
private
double CRotThermBondedInteraction::m_nForce
private
double CRotThermBondedInteraction::m_shForce
private
int CRotThermBondedInteraction::m_tag
private
double CRotThermBondedInteraction::m_tMoment
private

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