Go to the documentation of this file.
13 #ifndef __ROTPARTICLEVI_H
14 #define __ROTPARTICLEVI_H
45 class SimpleParticleData;
74 const Vec3 &currAngVel,
207 const double angle = vec.
norm();
208 const double halfAngle = angle/2.0;
209 if (halfAngle > 0.0) {
210 return Quaternion(cos(halfAngle), (vec)*(sin(halfAngle)/angle));
220 void print(){cout << *
this << endl << flush;};
235 static void get_type() {cout <<
" CRotParticleVi" ;};
238 template <
typename TmplVisitor>
241 visitor.visitRotParticleVi(*
this);
246 #endif //__ROTPARTICLEVI_H
Definition: RotParticleVi.h:53
Vec3 m_moment
Angular velocity at time t.
Definition: RotParticleVi.h:104
Vec3 getAngVelNR() const
Definition: RotParticleVi.h:166
Vec3 m_pos
position
Definition: BasicParticle.h:47
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:29
Vec3(CRotParticleVi::* VectorFieldFunction)() const
Definition: RotParticleVi.h:96
void resetDisplacement()
Definition: RotParticleVi.h:161
Vec3 getTotalDisplacement() const
Definition: Particle.h:112
bool m_is_dynamic
Definition: RotParticleVi.h:107
void print()
Definition: RotParticleVi.h:220
QUATERNION_INLINE double return_sca() const
Definition: Quaternion.h:81
const Vec3 getAngVel_t() const
Definition: RotParticleVi.h:164
void setAngVel(const Vec3 &V)
Definition: RotParticleVi.h:167
Vec3 m_vel
Definition: RotParticleVi.h:88
Definition: RotParticleVi.h:57
double getKineticEnergy() const
Definition: RotParticleVi.h:201
virtual double get_y()
Definition: RotParticleVi.h:194
exchangeType()
Definition: RotParticleVi.h:59
double getMass() const
Definition: Particle.h:118
void setCircular(const Vec3 &)
Definition: Particle.cpp:329
double m_rad
radius
Definition: BasicParticle.h:48
int m_global_id
Definition: BasicParticle.h:49
double sigma_xx_2D() const
Definition: RotParticleVi.h:231
Quaternion getQuat() const
Definition: RotParticleVi.h:169
virtual void setNonRot()
Definition: RotParticleVi.h:203
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: RotParticleVi.cpp:437
void rescale()
Definition: RotParticleVi.cpp:331
void zeroForce()
Definition: RotParticleVi.cpp:324
static void get_type()
Definition: RotParticleVi.h:235
friend ostream & operator<<(ostream &, const CRotParticleVi &)
Definition: RotParticleVi.cpp:589
double getInertRot() const
Definition: RotParticleVi.h:171
virtual void setCp(double)
Definition: RotParticleVi.h:189
Abstract base class for MPI send/recv buffer.
Definition: mpibuf.h:34
Vec3 getDisplacement() const
Definition: RotParticleVi.h:160
Quaternion m_quat
Definition: RotParticleVi.h:91
virtual void zeroHeat()
Definition: RotParticleVi.h:186
double(CRotParticleVi::* ScalarFieldFunction)() const
Definition: RotParticleVi.h:95
double getIDField() const
Definition: Particle.h:124
virtual void integrateTherm(double)
Definition: RotParticleVi.h:187
void integrate(double)
Definition: RotParticleVi.cpp:260
void resetDisplacement()
Definition: Particle.h:123
static map< string, AField * > generateFields(ParallelParticleArray< CRotParticleVi > *)
Definition: RotParticleVi.cpp:360
VEC3_INLINE double norm() const
Definition: vec3.hpp:211
void setAngVel_t(const Vec3 &v)
Definition: RotParticleVi.h:165
double sigma_yy_2D() const
Definition: RotParticleVi.h:233
VEC3_INLINE double & X()
Definition: vec3.h:119
Definition: SimpleParticleData.h:28
Definition: CheckPointable.cpp:17
Vec3 m_angVel_t
Definition: RotParticleVi.h:103
double m_div_mass
Definition: Particle.h:91
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
void rotateBy(const Vec3 &vec)
Definition: RotParticleVi.h:214
double getRadius() const
Definition: SimpleParticleData.hpp:134
Vec3 m_angVel
Definition: RotParticleVi.h:89
VEC3_INLINE double & Z()
Definition: vec3.h:121
void setQuat(const Quaternion &q)
Definition: RotParticleVi.h:170
Vec3 m_initPos
Definition: RotParticleVi.h:87
double getLinearKineticEnergy() const
Definition: RotParticleVi.h:200
virtual void setThermExpansion0(double)
Definition: RotParticleVi.h:190
#define NULL
Definition: t_list.h:17
Vec3 getDisplacement() const
Definition: Particle.h:111
Vec3 getMoment() const
Definition: RotParticleVi.h:178
double getMass() const
Definition: SimpleParticleData.hpp:149
void setInertRot(double inertRot)
Definition: RotParticleVi.h:172
void setExchangeValues(const CRotParticleVi::exchangeType &e)
Definition: RotParticleVi.cpp:385
virtual void loadCheckPointData(std::istream &iStream)
Definition: Particle.cpp:457
void setMoment(const Vec3 &moment)
Definition: RotParticleVi.h:179
Quaternion m_initquat
Definition: RotParticleVi.h:101
bool flag
Definition: Particle.h:93
Vec3 m_force
Definition: Particle.h:87
virtual void pop_doubles(double *, int)=0
virtual void saveCheckPointData(std::ostream &oStream)
Definition: RotParticleVi.cpp:559
Vec3 m_vel
Definition: Particle.h:87
virtual void append(int)=0
int m_tag
Definition: BasicParticle.h:50
VEC3_INLINE double & Y()
Definition: vec3.h:120
double m_div_inertRot
Definition: RotParticleVi.h:106
virtual ~CRotParticleVi()
Definition: RotParticleVi.h:153
CRotParticleVi::exchangeType getExchangeValues()
Definition: RotParticleVi.cpp:367
Vec3 m_angVel
Definition: RotParticleVi.h:102
Vec3 getAngVector() const
Definition: RotParticleVi.cpp:493
virtual void thermExpansion()
Definition: RotParticleVi.h:193
void setCircular(const Vec3 &cv)
Definition: RotParticleVi.cpp:537
Definition: Quaternion.h:30
virtual void loadCheckPointData(std::istream &iStream)
Definition: RotParticleVi.cpp:570
static bool getDo2dCalculations()
Definition: Particle.h:181
double m_mass
Definition: Particle.h:91
void applyMoment(const Vec3 &)
Definition: RotParticleVi.cpp:355
ostream & operator<<(ostream &ost, const CRotParticleVi &CP)
Definition: RotParticleVi.cpp:589
Vec3 getVel() const
Definition: Particle.h:114
virtual void saveCheckPointData(std::ostream &oStream)
Definition: Particle.cpp:438
Vec3 getForce() const
Definition: Particle.h:120
virtual void setTemperature(double)
Definition: RotParticleVi.h:188
Vec3 m_angVel_t
Definition: RotParticleVi.h:90
3x3 Matrix
Definition: Matrix3.h:48
Matrix3 m_sigma
stress tensor.
Definition: Particle.h:86
double getInvInertRot() const
Definition: RotParticleVi.h:177
virtual void saveSnapShotData(std::ostream &oStream)
Definition: RotParticleVi.cpp:545
double sigma_d() const
Definition: Particle.cpp:398
void visit(TmplVisitor &visitor)
Definition: RotParticleVi.h:239
virtual void setThermExpansion1(double)
Definition: RotParticleVi.h:191
virtual void saveSnapShotData(std::ostream &oStream)
Definition: Particle.cpp:420
double m_inertRot
Definition: RotParticleVi.h:105
double getRad() const
Definition: BasicParticle.h:64
QUATERNION_INLINE Vec3 return_vec() const
Definition: Quaternion.h:80
Quaternion m_quat
Definition: RotParticleVi.h:100
const Vec3 & getAngVel() const
Definition: RotParticleVi.h:163
exchangeType(const Vec3 &pos, const Vec3 &initPos, const Vec3 &vel, const Vec3 &AngVel, const Vec3 &currAngVel, const Quaternion &quat)
Definition: RotParticleVi.h:69
Vec3 m_initpos
position at time of construction
Definition: Particle.h:89
Vec3 m_oldpos
position at the time of last neighbor search
Definition: Particle.h:88
Vec3 getPos() const
Definition: BasicParticle.h:62
Quaternion getInitQuat() const
Definition: RotParticleVi.h:168
void rotateTo(const Vec3 &vec)
Definition: RotParticleVi.h:215
void writeAsDXLine(ostream &, int slid=0)
double sigma_xy_2D() const
Definition: RotParticleVi.h:232
Class for a basic particle.
Definition: Particle.h:51
double getAngularKineticEnergy() const
Definition: RotParticleVi.h:199
CRotParticleVi()
Definition: RotParticleVi.cpp:21
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: RotParticleVi.cpp:465
Quaternion getQuatFromRotVec(const Vec3 &vec) const
Definition: RotParticleVi.h:205
virtual void setThermExpansion2(double)
Definition: RotParticleVi.h:192
Vec3 m_pos
Definition: RotParticleVi.h:86
Vec3 m_circular_shift
shift vector if particle is circular image
Definition: Particle.h:90
Abstract base class for scatter/gather buffer, root component.
Definition: mpisgbuf.h:29