13 #ifndef __ROTTHERMPARTICLE_H
14 #define __ROTTHERMPARTICLE_H
17 #include "Foundation/vec3.h"
18 #include "Foundation/Matrix3.h"
19 #include "Model/ThermParticle.h"
20 #include "Foundation/Quaternion.h"
21 #include "Model/RotParticleVi.h"
46 class SimpleParticleData;
79 const Vec3 &currAngVel,
81 const double temperature,
82 const double temperature_ini
88 m_angVel_t(currAngVel),
90 m_temperature(temperature),
91 m_temperature_ini(temperature_ini)
101 double m_temperature ;
102 double m_temperature_ini ;
153 const Vec3& angvel_t,
155 double temperature_ini,
159 double therm_expansion0,
160 double therm_expansion1,
161 double therm_expansion2
177 const Vec3& angvel_t,
179 double temperature_ini,
183 double therm_expansion0,
184 double therm_expansion1,
185 double therm_expansion2
192 void applyHeatTrans(
const double);
193 void applyHeatFrict(
const double);
194 void integrateTherm(
double);
196 void thermExpansion() ;
199 inline void setTemperature(
double t){m_temperature=t; m_temperature_ini=t;} ;
201 inline double get_y() {
return m_pos.Y(); } ;
202 inline void setCp(
double t) {m_Cp=t; } ;
203 inline void setThermExpansion0(
double t) { m_therm_expansion0=t;} ;
204 inline void setThermExpansion1(
double t) { m_therm_expansion1=t;} ;
205 inline void setThermExpansion2(
double t) { m_therm_expansion2=t;} ;
209 Vec3 getDisplacement()
const {
return CParticle::getDisplacement();};
210 void resetDisplacement() {CParticle::resetDisplacement();}
220 void print(){cout << *
this << endl << flush;};
229 static void get_type() {cout <<
" CRotThermParticle" ;};
232 template <
typename TmplVisitor>
233 void visit(TmplVisitor &visitor)
235 visitor.visitRotThermParticle(*
this);
242 #endif //__ROTTHERMPARTICLE_H