ESyS-Particle  4.0.1
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends
CRotThermParticle Class Reference

#include <RotThermParticle.h>

Inheritance diagram for CRotThermParticle:
Inheritance graph
[legend]
Collaboration diagram for CRotThermParticle:
Collaboration graph
[legend]

List of all members.

Classes

class  exchangeType

Public Types

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

Public Member Functions

 CRotThermParticle (const esys::lsm::SimpleParticleData &data)
 CRotThermParticle (const CRotParticleVi &p)
 CRotThermParticle (const CParticle &p)
 CRotThermParticle (double rad, double mass, const Vec3 &pos, const Vec3 &vel, const Vec3 &force, int id, bool is_dyn)
 CRotThermParticle (double rad, double mass, const Vec3 &pos, const Vec3 &vel, const Vec3 &force, int id, Quaternion &quat, double inertRot, const Vec3 &moment, const Vec3 &angvel, const Vec3 &angvel_t, double temperature, double temperature_ini, double Cp, double heat_frict, double heat_trans, double therm_expansion0, double therm_expansion1, double therm_expansion2)
 CRotThermParticle (double rad, double mass, const Vec3 &pos, const Vec3 &oldpos, const Vec3 &initpos, const Vec3 &vel, const Vec3 &force, int id, const Quaternion &quat, const Quaternion &initquat, double inertRot, const Vec3 &moment, const Vec3 &angvel, const Vec3 &angvel_t, double temperature, double temperature_ini, double Cp, double heat_frict, double heat_trans, double therm_expansion0, double therm_expansion1, double therm_expansion2)
void applyHeatTrans (const double)
void applyHeatFrict (const double)
void integrateTherm (double)
void zeroHeat ()
void thermExpansion ()
void integrate (double)
void setTemperature (double t)
double get_y ()
void setCp (double t)
void setThermExpansion0 (double t)
void setThermExpansion1 (double t)
void setThermExpansion2 (double t)
void setCircular (const Vec3 &cv)
Vec3 getDisplacement () const
void resetDisplacement ()
void print ()
CRotThermParticle::exchangeType getExchangeValues ()
void setExchangeValues (const CRotThermParticle::exchangeType &e)
template<typename TmplVisitor >
void visit (TmplVisitor &visitor)

Static Public Member Functions

static ScalarFieldFunction getScalarFieldFunction (const string &)
static VectorFieldFunction getVectorFieldFunction (const string &)
static map< string, AField * > generateFields (ParallelParticleArray< CRotThermParticle > *)
static void get_type ()

Friends

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

Detailed Description

Thermal Particle class.


Constructor & Destructor Documentation

CRotThermParticle::CRotThermParticle ( double  rad,
double  mass,
const Vec3 pos,
const Vec3 vel,
const Vec3 force,
int  id,
Quaternion quat,
double  inertRot,
const Vec3 moment,
const Vec3 angvel,
const Vec3 angvel_t,
double  temperature,
double  temperature_ini,
double  Cp,
double  heat_frict,
double  heat_trans,
double  therm_expansion0,
double  therm_expansion1,
double  therm_expansion2 
)

Construct particle. Old and initial position are assumed to be identical to current position.

Parameters:
radradius
massmass
poscurrent position
velcurrent velocity
forcecurrently applied force
idparticle id
quatparticel quaternion
inertRotinert of rotation
momentcurrently applied tarque
angvelcurrent angular velocity

Member Function Documentation

get values to be exchanged, i.e. pos and vel

Reimplemented from CRotParticleVi.

References CParticle::m_circular_shift, CParticle::m_initpos, and CBasicParticle::m_pos.

CRotThermParticle::ScalarFieldFunction CRotThermParticle::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

Reimplemented from CRotParticleVi.

References CRotParticleVi::getKineticEnergy(), and CParticle::sigma_d().

Here is the call graph for this function:

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

Reimplemented from CRotParticleVi.

void CRotThermParticle::integrate ( double  dt) [virtual]

Do the time integration for the particle.

Parameters:
dtthe time step

Reimplemented from CRotParticleVi.

void CRotThermParticle::setCircular ( const Vec3 cv)

set circular shift vector

Parameters:
cvthe circular shift vector

Reimplemented from CRotParticleVi.

Set pos, vel and angular vel from exchangeType

Parameters:
Ethe exchanged values

References CParticle::m_circular_shift, CParticle::m_initpos, and CBasicParticle::m_pos.

void CRotThermParticle::zeroHeat ( ) [virtual]

Save check-point data.

Reimplemented from CRotParticleVi.


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