|
ESyS-Particle
2.3.4
|
#include <RotParticleVi.h>


Classes | |
| class | exchangeType |
Public Types | |
| typedef double(CRotParticleVi::* | ScalarFieldFunction) () const |
| typedef Vec3(CRotParticleVi::* | VectorFieldFunction) () const |
Public Types inherited from CParticle | |
| typedef double(CParticle::* | ScalarFieldFunction) () const |
| typedef Vec3(CParticle::* | VectorFieldFunction) () const |
Public Member Functions | |
| CRotParticleVi () | |
| 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) | |
| virtual | ~CRotParticleVi () |
| 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 |
| 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) |
Public Member Functions inherited from CParticle | |
| CParticle () | |
| CParticle (double, double, const Vec3 &, const Vec3 &, const Vec3 &, int, bool) | |
| CParticle (double, double, const Vec3 &, const Vec3 &, const Vec3 &, const Vec3 &, const Vec3 &, int, bool) | |
| CParticle (const esys::lsm::SimpleParticleData &particleData) | |
| virtual | ~CParticle () |
| const Vec3 & | getInitPos () const |
| void | setInitPos (const Vec3 &initPos) |
| Vec3 | getDisplacement () const |
| Vec3 | getTotalDisplacement () const |
| const Vec3 & | getOldPos () const |
| Vec3 | getVel () const |
| double | getAbsVel () const |
| void | setVel (const Vec3 &V) |
| void | setMass (double mass) |
| double | getMass () const |
| double | getInvMass () const |
| Vec3 | getForce () const |
| virtual void | setDensity (double) |
| void | resetDisplacement () |
| double | getIDField () const |
| double | getTagField () const |
| void | applyForce (const Vec3 &, const Vec3 &) |
| void | moveToRel (const Vec3 &v) |
| double | getKineticEnergy () const |
| move relative to initial position More... | |
| virtual void | setNonDynamic () |
| virtual void | setNonDynamicLinear () |
| virtual void | setNonDynamicRot () |
| void | setFlag (bool b=true) |
| bool | isFlagged () const |
| void | writeAsDXLine (ostream &, int slid=0) |
| void | print () |
| void | rescale () |
| exchangeType | getExchangeValues () |
| void | setExchangeValues (const exchangeType &) |
| void | setCircular (const Vec3 &) |
| double | sigma_xx_2D () const |
| double | sigma_xy_2D () const |
| double | sigma_yy_2D () const |
| double | sigma_d () const |
| template<typename TmplVisitor > | |
| void | visit (TmplVisitor &visitor) |
Public Member Functions inherited from CBasicParticle | |
| CBasicParticle () | |
| CBasicParticle (const Vec3 &pos, double radius, int id=-1, int tag=-1) | |
| CBasicParticle (const esys::lsm::SimpleParticleData &data) | |
| virtual | ~CBasicParticle () |
| Vec3 & | getPPos () |
| Vec3 | getPos () const |
| void | setPos (const Vec3 &pos) |
| double | getRad () const |
| int | getID () const |
| void | setID (int id) |
| void | moveBy (Vec3 v) |
| move relative to current position More... | |
| void | moveTo (Vec3 v) |
| move absolute More... | |
| void | setRad (double r) |
| void | setTag (int t) |
| particle tag handling More... | |
| int | getTag () const |
| bool | isValid () const |
| CBasicParticle () | |
| CBasicParticle (int, const Vec3 &, double) | |
| Vec3 & | getPPos () |
| Vec3 | getPos () const |
| double | getRad () const |
| int | getID () const |
| void | moveBy (Vec3 v) |
| void | moveTo (Vec3 v) |
| move relative to current position More... | |
| void | setRad (double r) |
| move absolute More... | |
Public Member Functions inherited from esys::lsm::CheckPointable | |
| CheckPointable () | |
| virtual | ~CheckPointable () |
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 () |
Static Public Member Functions inherited from CParticle | |
| static ScalarFieldFunction | getScalarFieldFunction (const string &) |
| static VectorFieldFunction | getVectorFieldFunction (const string &) |
| static void | get_type () |
| static void | setDo2dCalculations (bool do2dCalculations) |
| static bool | getDo2dCalculations () |
Protected Attributes | |
| Quaternion | m_quat |
| Quaternion | m_initquat |
| Vec3 | m_angVel |
| Vec3 | m_angVel_t |
| Vec3 | m_moment |
| Angular velocity at time t. More... | |
| double | m_inertRot |
| double | m_div_inertRot |
| bool | m_is_dynamic |
Protected Attributes inherited from CParticle | |
| Matrix3 | m_sigma |
| stress tensor. More... | |
| Vec3 | m_vel |
| Vec3 | m_force |
| Vec3 | m_oldpos |
| position at the time of last neighbor search More... | |
| Vec3 | m_initpos |
| position at time of construction More... | |
| Vec3 | m_circular_shift |
| shift vector if particle is circular image More... | |
| double | m_mass |
| double | m_div_mass |
| bool | flag |
| bool | m_is_dynamic |
Protected Attributes inherited from CBasicParticle | |
| Vec3 | m_pos |
| position More... | |
| double | m_rad |
| radius More... | |
| int | m_global_id |
| int | m_tag |
| int | m_id |
Friends | |
| class | TML_PackedMessageInterface |
| ostream & | operator<< (ostream &, const CRotParticleVi &) |
Additional Inherited Members | |
Static Public Attributes inherited from CBasicParticle | |
| static const CBasicParticle | INVALID = CBasicParticle(Vec3::ZERO, 0.0, -1, -1) |
Protected Member Functions inherited from CParticle | |
| void | setForce (const Vec3 &force) |
Class for a rotational particle, Verlet integration
| typedef double(CRotParticleVi::* CRotParticleVi::ScalarFieldFunction) () const |
| typedef Vec3(CRotParticleVi::* CRotParticleVi::VectorFieldFunction) () const |
| CRotParticleVi::CRotParticleVi | ( | ) |
References CParticle::flag, and CBasicParticle::m_global_id.
| CRotParticleVi::CRotParticleVi | ( | const esys::lsm::SimpleParticleData & | particleData | ) |
References esys::lsm::SimpleParticleData::getMass(), esys::lsm::SimpleParticleData::getRadius(), m_angVel, m_angVel_t, m_div_inertRot, m_inertRot, m_initquat, m_moment, and m_quat.

| CRotParticleVi::CRotParticleVi | ( | double | rad, |
| double | mass, | ||
| const Vec3 & | pos, | ||
| const Vec3 & | vel, | ||
| const Vec3 & | force, | ||
| int | id, | ||
| bool | is_dyn | ||
| ) |
References m_angVel, m_angVel_t, m_div_inertRot, m_inertRot, m_initquat, m_is_dynamic, m_moment, and m_quat.
| 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::flag, m_angVel, m_angVel_t, CParticle::m_circular_shift, m_div_inertRot, m_inertRot, m_initquat, m_moment, and m_quat.
| CRotParticleVi::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 | ||
| ) |
References CParticle::flag, m_angVel, m_angVel_t, CParticle::m_circular_shift, m_div_inertRot, m_inertRot, m_initquat, m_moment, and m_quat.
| CRotParticleVi::CRotParticleVi | ( | const CParticle & | p | ) |
References CParticle::getMass(), CBasicParticle::getRad(), m_angVel, m_div_inertRot, m_inertRot, m_initquat, m_moment, and m_quat.

|
inlinevirtual |
|
virtual |
Apply a moment to a particle at a given position.
| moment | tarque |
Reimplemented from CParticle.
References m_moment.
Referenced by CRotThermBondedInteraction::calcForces(), and CRotThermFrictionInteraction::calcForces().

|
static |
|
inlinestatic |
|
inlinevirtual |
Reimplemented in CRotThermParticle.
References CBasicParticle::m_pos, and Vec3::Y().

|
inline |
References m_angVel_t, CParticle::m_mass, and CBasicParticle::m_rad.
Referenced by getKineticEnergy().

| Vec3 CRotParticleVi::getAngVector | ( | ) | const |
References getQuat(), CBasicParticle::getRad(), Quaternion::return_sca(), Quaternion::return_vec(), and Vec3::Z().
Referenced by getVectorFieldFunction(), and CRotThermParticle::getVectorFieldFunction().


|
inline |
References m_angVel.
Referenced by esys::lsm::RotParticleViPy::getAngularVelocity(), esys::lsm::RotThermalParticlePy::getAngularVelocity(), saveCheckPointData(), and saveSnapShotData().

|
inline |
References m_angVel_t.
Referenced by CRotThermFrictionInteraction::calcForces(), and esys::lsm::RotParticleViPy::getAngularVelocityT().

|
inline |
References m_angVel_t.
Referenced by getVectorFieldFunction(), and CRotThermParticle::getVectorFieldFunction().

|
inline |
| CRotParticleVi::exchangeType CRotParticleVi::getExchangeValues | ( | ) |
References m_angVel, m_angVel_t, CParticle::m_circular_shift, CParticle::m_initpos, CBasicParticle::m_pos, m_quat, and CParticle::m_vel.
|
inline |
References m_inertRot.
Referenced by esys::lsm::RotParticleViPy::PickleSuite::getstate(), esys::lsm::RotThermalParticlePy::PickleSuite::getstate(), esys::lsm::RotParticleViPy::setAngularAcceleration(), and esys::lsm::RotThermalParticlePy::setAngularAcceleration().

|
inline |
References m_initquat.
|
inline |
References m_div_inertRot.
Referenced by esys::lsm::RotParticleViPy::getAngularAcceleration(), and esys::lsm::RotThermalParticlePy::getAngularAcceleration().

|
inline |
References getAngularKineticEnergy(), and getLinearKineticEnergy().
Referenced by getScalarFieldFunction(), and CRotThermParticle::getScalarFieldFunction().


|
inline |
References CParticle::m_mass, and CParticle::m_vel.
Referenced by getKineticEnergy().

|
inline |
References m_moment.
Referenced by esys::lsm::RotParticleViPy::getAngularAcceleration(), and esys::lsm::RotThermalParticlePy::getAngularAcceleration().

|
static |
|
inline |
References m_quat.
Referenced by CRotThermBondedInteraction::calcForces(), getAngVector(), esys::lsm::RotParticleViPy::getOrientation(), esys::lsm::RotThermalParticlePy::getOrientation(), CRotThermBondedInteraction::getShearDiff(), saveCheckPointData(), and saveSnapShotData().

|
inline |
References Vec3::norm().
Referenced by rotateBy(), and rotateTo().


|
static |
References CParticle::getIDField(), getKineticEnergy(), CBasicParticle::getRad(), NULL, CParticle::sigma_d(), sigma_xx_2D(), sigma_xy_2D(), and sigma_yy_2D().

|
static |
References getAngVector(), getAngVelNR(), CParticle::getForce(), CBasicParticle::getPos(), CParticle::getTotalDisplacement(), CParticle::getVel(), and NULL.

|
virtual |
Do the time integration for the particle.
| dt | the time step |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
References CParticle::getDo2dCalculations(), m_angVel, m_angVel_t, m_div_inertRot, CParticle::m_div_mass, CParticle::m_force, m_moment, CBasicParticle::m_pos, m_quat, CParticle::m_vel, Vec3::X(), Vec3::Y(), and Vec3::Z().
Referenced by CRotThermParticle::integrate().


|
inlinevirtual |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
|
virtual |
load checkpoint data saved with CParticle::saveCheckPointData
Reimplemented from CParticle.
References CParticle::loadCheckPointData(), m_angVel_t, and m_quat.

|
inline |
| void CRotParticleVi::rescale | ( | ) |
References m_quat, Quaternion::return_sca(), Quaternion::return_vec(), Vec3::X(), Vec3::Y(), and Vec3::Z().

|
inline |
|
inline |
|
inline |
|
virtual |
Save check-point data.
Reimplemented from CParticle.
References getAngVel(), getQuat(), and CParticle::saveCheckPointData().

|
virtual |
Save snapshot data - not neccesarily sufficient for restart
Reimplemented from CParticle.
References getAngVel(), getQuat(), and CParticle::saveSnapShotData().

|
inline |
References m_angVel.
Referenced by esys::lsm::RotParticleViPy::setAngularVelocity(), and esys::lsm::RotThermalParticlePy::setAngularVelocity().

|
inline |
References m_angVel_t.
Referenced by esys::lsm::RotParticleViPy::setAngularVelocityT().

| void CRotParticleVi::setCircular | ( | const Vec3 & | cv | ) |
set circular shift vector
| cv | the circular shift vector |
References CParticle::setCircular().
Referenced by CRotThermParticle::setCircular().


|
inlinevirtual |
Reimplemented in CRotThermParticle.
| void CRotParticleVi::setExchangeValues | ( | const CRotParticleVi::exchangeType & | e | ) |
Set pos, vel and angular vel from exchangeType
| E | the exchanged values |
References CRotParticleVi::exchangeType::m_angVel, m_angVel, CRotParticleVi::exchangeType::m_angVel_t, m_angVel_t, CParticle::m_circular_shift, CParticle::m_initpos, CRotParticleVi::exchangeType::m_initPos, CBasicParticle::m_pos, CRotParticleVi::exchangeType::m_pos, CRotParticleVi::exchangeType::m_quat, m_quat, CParticle::m_vel, and CRotParticleVi::exchangeType::m_vel.
|
inline |
References m_div_inertRot, and m_inertRot.
Referenced by esys::lsm::RotParticleViPy::PickleSuite::setstate(), and esys::lsm::RotThermalParticlePy::PickleSuite::setstate().

|
inline |
References m_moment.
Referenced by esys::lsm::RotParticleViPy::setAngularAcceleration(), esys::lsm::RotThermalParticlePy::setAngularAcceleration(), esys::lsm::RotParticleViPy::setAngularForce(), and esys::lsm::RotThermalParticlePy::setAngularForce().

|
inlinevirtual |
References m_div_inertRot, and m_inertRot.
|
inline |
References m_quat.
Referenced by esys::lsm::RotParticleViPy::setOrientation(), and esys::lsm::RotThermalParticlePy::setOrientation().

|
inlinevirtual |
Reimplemented in CRotThermParticle.
|
inlinevirtual |
Reimplemented in CRotThermParticle.
|
inlinevirtual |
Reimplemented in CRotThermParticle.
|
inlinevirtual |
Reimplemented in CRotThermParticle.
|
inline |
References CBasicParticle::m_rad, and CParticle::m_sigma.
Referenced by getScalarFieldFunction(), and CRotThermParticle::getScalarFieldFunction().

|
inline |
References CBasicParticle::m_rad, and CParticle::m_sigma.
Referenced by getScalarFieldFunction(), and CRotThermParticle::getScalarFieldFunction().

|
inline |
References CBasicParticle::m_rad, and CParticle::m_sigma.
Referenced by getScalarFieldFunction(), and CRotThermParticle::getScalarFieldFunction().

|
inlinevirtual |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
|
inline |
| void CRotParticleVi::writeAsDXLine | ( | ostream & | , |
| int | slid = 0 |
||
| ) |
|
virtual |
zero forces on particle
Reimplemented from CParticle.
References CParticle::m_force, m_moment, and CParticle::m_sigma.
|
inlinevirtual |
Reimplemented from CParticle.
Reimplemented in CRotThermParticle.
|
friend |
get deviatoric stress
|
friend |
|
protected |
|
protected |
Referenced by CRotParticleVi(), getAngularKineticEnergy(), getAngVel_t(), getAngVelNR(), getExchangeValues(), CRotThermParticle::getExchangeValues(), integrate(), loadCheckPointData(), TML_PackedMessageInterface::pack(), setAngVel_t(), setExchangeValues(), CRotThermParticle::setExchangeValues(), and TML_PackedMessageInterface::unpack().
|
protected |
Referenced by CRotParticleVi(), getInvInertRot(), integrate(), setInertRot(), setNonRot(), and TML_PackedMessageInterface::unpack().
|
protected |
|
protected |
Referenced by CRotParticleVi(), getInitQuat(), TML_PackedMessageInterface::pack(), and TML_PackedMessageInterface::unpack().
|
protected |
Referenced by CRotParticleVi().
|
protected |
Angular velocity at time t.
Referenced by applyMoment(), CRotParticleVi(), esys::lsm::RotParticleViPy::getAngularForce(), esys::lsm::RotThermalParticlePy::getAngularForce(), getMoment(), integrate(), TML_PackedMessageInterface::pack(), setMoment(), TML_PackedMessageInterface::unpack(), and zeroForce().
|
protected |
Referenced by CRotParticleVi(), getExchangeValues(), CRotThermParticle::getExchangeValues(), getQuat(), integrate(), loadCheckPointData(), TML_PackedMessageInterface::pack(), rescale(), rotateBy(), rotateTo(), setExchangeValues(), CRotThermParticle::setExchangeValues(), setQuat(), and TML_PackedMessageInterface::unpack().