ESyS-Particle  2.3.4
CRotThermElasticInteraction Class Reference

#include <RotThermElasticInteraction.h>

Inheritance diagram for CRotThermElasticInteraction:
Collaboration diagram for CRotThermElasticInteraction:

Public Types

typedef double(CRotThermElasticInteraction::* ScalarFieldFunction) () const
 
typedef pair< bool, double >(CRotThermElasticInteraction::* CheckedScalarFieldFunction) () const
 
typedef Vec3(CRotThermElasticInteraction::* VectorFieldFunction) () const
 
typedef CRotThermElasticIGP ParameterType
 

Public Member Functions

 CRotThermElasticInteraction ()
 
 CRotThermElasticInteraction (CRotThermParticle *, CRotThermParticle *, const CRotThermElasticIGP &)
 
virtual ~CRotThermElasticInteraction ()
 
virtual Vec3 getPos () const
 
virtual void calcForces ()
 
void calcHeatTrans ()
 
Vec3 getForce () const
 
double getPotentialEnergy () const
 
Vec3 getBondedVector () const
 
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, Vec3getRaw2Data () 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_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...
 
double m_diffusivity
 thermal diffusivity More...
 

Friends

ostream & operator<< (ostream &, const CRotThermElasticInteraction &)
 

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

Elastic Interaction between free thermal, rotational particles

Member Typedef Documentation

◆ CheckedScalarFieldFunction

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

◆ ParameterType

◆ ScalarFieldFunction

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

◆ VectorFieldFunction

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

Constructor & Destructor Documentation

◆ CRotThermElasticInteraction() [1/2]

CRotThermElasticInteraction::CRotThermElasticInteraction ( )

References m_diffusivity, m_force, m_kr, and m_nForce.

◆ CRotThermElasticInteraction() [2/2]

◆ ~CRotThermElasticInteraction()

virtual CRotThermElasticInteraction::~CRotThermElasticInteraction ( )
inlinevirtual

Member Function Documentation

◆ calcForces()

void CRotThermElasticInteraction::calcForces ( )
virtual

Calculate free elastic forces. 23 Flops if in contact, 10 Flops if not

Implements ARotThermPairInteraction.

References CParticle::applyForce(), CBasicParticle::getPos(), CBasicParticle::getRad(), m_cpos, m_force, m_kr, m_nForce, ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, and Vec3::unit().

Here is the call graph for this function:

◆ calcHeatTrans()

void CRotThermElasticInteraction::calcHeatTrans ( )
virtual

◆ getBondedVector()

Vec3 CRotThermElasticInteraction::getBondedVector ( ) const

◆ getCheckedScalarFieldFunction()

CRotThermElasticInteraction::CheckedScalarFieldFunction CRotThermElasticInteraction::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.

◆ getForce()

Vec3 CRotThermElasticInteraction::getForce ( ) const

References m_force.

Referenced by getVectorFieldFunction().

Here is the caller graph for this function:

◆ getPos()

virtual Vec3 CRotThermElasticInteraction::getPos ( ) const
inlinevirtual

Implements ARotThermPairInteraction.

References m_cpos.

◆ getPotentialEnergy()

double CRotThermElasticInteraction::getPotentialEnergy ( ) const

get the potential energy stored in the interaction

References m_kr, and m_nForce.

Referenced by getScalarFieldFunction().

Here is the caller graph for this function:

◆ getScalarFieldFunction()

CRotThermElasticInteraction::ScalarFieldFunction CRotThermElasticInteraction::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(), getPotentialEnergy(), and NULL.

Here is the call graph for this function:

◆ getType()

static string CRotThermElasticInteraction::getType ( )
inlinestatic

◆ getVectorFieldFunction()

CRotThermElasticInteraction::VectorFieldFunction CRotThermElasticInteraction::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:

◆ loadRestartData()

void CRotThermElasticInteraction::loadRestartData ( std::istream &  iStream)
virtual

load restart data from stream

Parameters
iStreamthe input stream

References m_D, m_diffusivity, AInteraction::m_id, AInteraction::m_init, and m_kr.

◆ saveRestartData()

void CRotThermElasticInteraction::saveRestartData ( std::ostream &  oStream)
virtual

save restart data to ostream

Parameters
oStreamthe output stream

References m_D, m_diffusivity, AInteraction::m_id, AInteraction::m_init, and m_kr.

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ m_cpos

Vec3 CRotThermElasticInteraction::m_cpos
private

current position

Referenced by calcForces(), and getPos().

◆ m_D

Vec3 CRotThermElasticInteraction::m_D
private

initial positions of the particles

Referenced by CRotThermElasticInteraction(), loadRestartData(), and saveRestartData().

◆ m_diffusivity

double CRotThermElasticInteraction::m_diffusivity
private

◆ m_force

Vec3 CRotThermElasticInteraction::m_force
private

caching force for E_pot

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

◆ m_kr

double CRotThermElasticInteraction::m_kr
private

◆ m_nForce

double CRotThermElasticInteraction::m_nForce
private

normal force, always >= 0

Referenced by calcForces(), CRotThermElasticInteraction(), and getPotentialEnergy().


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