ESyS-Particle
4.0.1
|
#include <RotParticleVi.h>
Classes | |
class | exchangeType |
Public Types | |
typedef double(CRotParticleVi::* | ScalarFieldFunction )() const |
typedef Vec3(CRotParticleVi::* | VectorFieldFunction )() const |
Public Member Functions | |
CRotParticleVi (const esys::lsm::SimpleParticleData &particleData) | |
CRotParticleVi (double rad, double mass, const Vec3 &pos, const Vec3 &vel, const Vec3 &force, int id, bool is_dyn) | |
CRotParticleVi (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) | |
CRotParticleVi (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) | |
CRotParticleVi (const CParticle &p) | |
Vec3 | getDisplacement () const |
void | resetDisplacement () |
const Vec3 & | getAngVel () const |
const Vec3 | getAngVel_t () const |
void | setAngVel_t (const Vec3 &v) |
Vec3 | getAngVelNR () const |
void | setAngVel (const Vec3 &V) |
Quaternion | getInitQuat () const |
Quaternion | getQuat () const |
void | setQuat (const Quaternion &q) |
double | getInertRot () const |
void | setInertRot (double inertRot) |
double | getInvInertRot () const |
Vec3 | getMoment () const |
void | setMoment (const Vec3 &moment) |
Vec3 | getAngVector () const |
void | applyMoment (const Vec3 &) |
void | integrate (double) |
void | zeroForce () |
virtual void | zeroHeat () |
virtual void | integrateTherm (double) |
virtual void | setTemperature (double) |
virtual void | setCp (double) |
virtual void | setThermExpansion0 (double) |
virtual void | setThermExpansion1 (double) |
virtual void | setThermExpansion2 (double) |
virtual void | thermExpansion () |
virtual double | get_y () |
void | rescale () |
void | setCircular (const Vec3 &cv) |
double | getAngularKineticEnergy () const |
double | getLinearKineticEnergy () const |
double | getKineticEnergy () const |
move relative to initial position | |
void | writeAsDXLine (ostream &, int slid=0) |
virtual void | setNonRot () |
Quaternion | getQuatFromRotVec (const Vec3 &vec) const |
void | rotateBy (const Vec3 &vec) |
void | rotateTo (const Vec3 &vec) |
void | print () |
virtual void | saveSnapShotData (std::ostream &oStream) |
virtual void | saveCheckPointData (std::ostream &oStream) |
virtual void | loadCheckPointData (std::istream &iStream) |
CRotParticleVi::exchangeType | getExchangeValues () |
void | setExchangeValues (const CRotParticleVi::exchangeType &e) |
double | sigma_xx_2D () const |
double | sigma_xy_2D () const |
double | sigma_yy_2D () const |
template<typename TmplVisitor > | |
void | visit (TmplVisitor &visitor) |
Static Public Member Functions | |
static int | getPackSize () |
static ScalarFieldFunction | getScalarFieldFunction (const string &) |
static VectorFieldFunction | getVectorFieldFunction (const string &) |
static map< string, AField * > | generateFields (ParallelParticleArray< CRotParticleVi > *) |
static void | get_type () |
Protected Attributes | |
Quaternion | m_quat |
Quaternion | m_initquat |
Vec3 | m_angVel |
Vec3 | m_angVel_t |
Vec3 | m_moment |
Angular velocity at time t. | |
double | m_inertRot |
double | m_div_inertRot |
bool | m_is_dynamic |
Friends | |
class | TML_PackedMessageInterface |
ostream & | operator<< (ostream &, const CRotParticleVi &) |
Class for a rotational particle, Verlet integration
CRotParticleVi::CRotParticleVi | ( | 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 | ||
) |
Construct particle. Old and initial position are assumed to be identical to current position.
rad | radius |
mass | mass |
pos | current position |
vel | current velocity |
force | currently applied force |
id | particle id |
quat | particel quaternion |
inertRot | inert of rotation |
moment | currently applied tarque |
angvel | current angular velocity |
References CParticle::m_circular_shift, and m_moment.
void CRotParticleVi::applyMoment | ( | const Vec3 & | moment | ) | [virtual] |
Apply a moment to a particle at a given position.
moment | tarque |
Reimplemented from CParticle.
References m_moment.
Referenced by CRotThermFrictionInteraction::calcForces().
get values to be exchanged, i.e. pos and vel
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
References CParticle::m_circular_shift, CParticle::m_initpos, and CBasicParticle::m_pos.
CRotParticleVi::ScalarFieldFunction CRotParticleVi::getScalarFieldFunction | ( | const string & | name | ) | [static] |
Get the particle member function which returns a scalar field of a given name.
name | the name of the field |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
References getKineticEnergy(), and CParticle::sigma_d().
CRotParticleVi::VectorFieldFunction CRotParticleVi::getVectorFieldFunction | ( | const string & | name | ) | [static] |
Get the particle member function which returns a vector field of a given name.
name | the name of the field |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
void CRotParticleVi::integrate | ( | double | dt | ) | [virtual] |
Do the time integration for the particle.
dt | the time step |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
References m_moment, and CBasicParticle::m_pos.
void CRotParticleVi::loadCheckPointData | ( | std::istream & | iStream | ) | [virtual] |
load checkpoint data saved with CParticle::saveCheckPointData
Reimplemented from CParticle.
void CRotParticleVi::saveCheckPointData | ( | std::ostream & | oStream | ) | [virtual] |
Save check-point data.
Reimplemented from CParticle.
void CRotParticleVi::saveSnapShotData | ( | std::ostream & | oStream | ) | [virtual] |
Save snapshot data - _not_ neccesarily sufficient for restart
Reimplemented from CParticle.
void CRotParticleVi::setCircular | ( | const Vec3 & | cv | ) |
set circular shift vector
cv | the circular shift vector |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
void CRotParticleVi::setExchangeValues | ( | const CRotParticleVi::exchangeType & | e | ) |
Set pos, vel and angular vel from exchangeType
E | the exchanged values |
References CParticle::m_circular_shift, CParticle::m_initpos, and CBasicParticle::m_pos.
void CRotParticleVi::writeAsDXLine | ( | ostream & | ost, |
int | slid = 0 |
||
) |
write particle data as a line in openDX format into a stream(file)
ost | the output stream |
slid | from which sublattice the particle is coming |
Reimplemented from CParticle.
void CRotParticleVi::zeroForce | ( | ) | [virtual] |
ostream& operator<< | ( | ostream & | ost, |
const CRotParticleVi & | CP | ||
) | [friend] |
get deviatoric stress