OpenMD 3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::RigidBody Class Reference
+ Inheritance diagram for OpenMD::RigidBody:

Public Types

using AtomIterator = std::vector<Atom*>::iterator
 
- Public Types inherited from OpenMD::StuntDouble
enum  ObjectType { otAtom , otDAtom , otRigidBody }
 

Public Member Functions

virtual std::string getType ()
 Returns the name of this stuntDouble.
 
virtual void setType (const std::string &name)
 Sets the name of this stuntRealType.
 
virtual void setPrevA (const RotMat3x3d &a)
 Sets the previous rotation matrix of this stuntdouble.
 
virtual void setA (const RotMat3x3d &a)
 Sets the current rotation matrix of this stuntdouble.
 
virtual void setA (const RotMat3x3d &a, int snapshotNo)
 Sets the rotation matrix of this stuntdouble in specified snapshot.
 
virtual Mat3x3d getI ()
 Returns the inertia tensor of this stuntdouble.
 
virtual std::vector< RealType > getGrad ()
 Returns the gradient of this stuntdouble.
 
virtual void accept (BaseVisitor *v)
 
void addAtom (Atom *at, AtomStamp *ats)
 
void calcRefCoords ()
 calculates the reference coordinates
 
void calcForcesAndTorques ()
 Converts Atomic forces and torques to total forces and torques.
 
Mat3x3d calcForcesAndTorquesAndVirial ()
 Converts Atomic forces and torques to total forces and torques and computes the rigid body contribution to the virial.
 
void updateAtoms ()
 update the positions of atoms belong to this rigidbody
 
void updateAtoms (int frame)
 
void updateAtomVel ()
 
void updateAtomVel (int frame)
 
AtombeginAtom (std::vector< Atom * >::iterator &i)
 
AtomnextAtom (std::vector< Atom * >::iterator &i)
 
std::vector< Atom * >::iterator getBeginAtomIter ()
 
std::vector< Atom * >::iterator getEndAtomIter ()
 
std::vector< Atom * > getAtoms ()
 Returns the atoms of this rigid body.
 
size_t getNumAtoms ()
 Returns the number of atoms in this rigid body.
 
bool getAtomPos (Vector3d &pos, unsigned int index)
 Return the position of atom which belongs to this rigid body.
 
bool getAtomPos (Vector3d &pos, Atom *atom)
 Return the position of atom which belongs to this rigid body.
 
bool getAtomVel (Vector3d &vel, unsigned int index)
 Return the velocity of atom which belongs to this rigid body.
 
bool getAtomVel (Vector3d &vel, Atom *)
 Return the velocity of atom which belongs to this rigid body.
 
bool getAtomRefCoor (Vector3d &coor, unsigned int index)
 Return the reference coordinate of atom which belongs to this rigid body.
 
bool getAtomRefCoor (Vector3d &coor, Atom *atom)
 Return the velocity of atom which belongs to this rigid body.
 
Vector3d getRefCOM ()
 
- Public Member Functions inherited from OpenMD::StuntDouble
int getGlobalIndex ()
 Returns the global index of this stuntDouble.
 
void setGlobalIndex (int index)
 Sets the global index of this stuntDouble.
 
int getLocalIndex ()
 Returns the local index of this stuntDouble.
 
void setLocalIndex (int index)
 Sets the local index of this stuntDouble.
 
int getGlobalIntegrableObjectIndex ()
 
void setGlobalIntegrableObjectIndex (int index)
 
void setSnapshotManager (SnapshotManager *sman)
 Sets the Snapshot Manager of this stuntDouble.
 
bool isAtom ()
 Tests if this stuntDouble is an atom.
 
bool isDirectionalAtom ()
 Tests if this stuntDouble is an directional atom.
 
bool isRigidBody ()
 Tests if this stuntDouble is a rigid body.
 
bool isDirectional ()
 Tests if this stuntDouble is a directional one.
 
int freeze ()
 Freezes out all velocity, angular velocity, forces and torques on this StuntDouble.
 
Vector3d getPrevPos ()
 Returns the previous position of this stuntDouble.
 
Vector3d getPos ()
 Returns the current position of this stuntDouble.
 
Vector3d getPos (int snapshotNo)
 Returns the position of this stuntDouble in specified snapshot.
 
void setPrevPos (const Vector3d &pos)
 Sets the previous position of this stuntDouble.
 
void setPos (const Vector3d &pos)
 Sets the current position of this stuntDouble.
 
void setPos (const Vector3d &pos, int snapshotNo)
 Sets the position of this stuntDouble in specified snapshot.
 
Vector3d getPrevVel ()
 Returns the previous velocity of this stuntDouble.
 
Vector3d getVel ()
 Returns the current velocity of this stuntDouble.
 
Vector3d getVel (int snapshotNo)
 Returns the velocity of this stuntDouble in specified snapshot.
 
Vector3d getVel (Snapshot *snapshot)
 
void setPrevVel (const Vector3d &vel)
 Sets the previous velocity of this stuntDouble.
 
void setVel (const Vector3d &vel)
 Sets the current velocity of this stuntDouble.
 
void setVel (const Vector3d &vel, int snapshotNo)
 Sets the velocity of this stuntDouble in specified snapshot.
 
RotMat3x3d getPrevA ()
 Returns the previous rotation matrix of this stuntDouble.
 
RotMat3x3d getA ()
 Returns the current rotation matrix of this stuntDouble.
 
RotMat3x3d getA (int snapshotNo)
 Returns the rotation matrix of this stuntDouble in specified snapshot.
 
Vector3d getPrevJ ()
 Returns the previous angular momentum of this stuntDouble (body-fixed).
 
Vector3d getJ ()
 Returns the current angular momentum of this stuntDouble (body -fixed).
 
Vector3d getJ (int snapshotNo)
 Returns the angular momentum of this stuntDouble in specified snapshot (body-fixed).
 
void setPrevJ (const Vector3d &angMom)
 Sets the previous angular momentum of this stuntDouble (body-fixed).
 
void setJ (const Vector3d &angMom)
 Sets the current angular momentum of this stuntDouble (body-fixed).
 
void setJ (const Vector3d &angMom, int snapshotNo)
 Sets the angular momentum of this stuntDouble in specified snapshot(body-fixed).
 
Vector3d getCOM ()
 Returns system Center of Mass for stuntDouble frame from snapshot.
 
Vector3d getCOMvel ()
 Returns system Center of Mass velocity for stuntDouble frame from snapshot.
 
Vector3d getCOMw ()
 Returns system Center of Mass angular momentum for stuntDouble frame from snapshot.
 
Vector3d getCOM (int snapshotNo)
 Returns system Center of Mass for stuntDouble frame from snapshot.
 
Vector3d getCOMvel (int snapshotNo)
 Returns system Center of Mass velocity for stuntDouble frame from snapshot.
 
Vector3d getCOMw (int snapshotNo)
 Returns system Center of Mass angular momentum for stuntDouble frame from snapshot.
 
Quat4d getPrevQ ()
 Returns the previous quaternion of this stuntDouble.
 
Quat4d getQ ()
 Returns the current quaternion of this stuntDouble.
 
Quat4d getQ (int snapshotNo)
 Returns the quaternion of this stuntDouble in specified snapshot.
 
void setPrevQ (const Quat4d &q)
 Sets the previous quaternion of this stuntDouble.
 
void setQ (const Quat4d &q)
 Sets the current quaternion of this stuntDouble.
 
void setQ (const Quat4d &q, int snapshotNo)
 Sets the quaternion of this stuntDouble in specified snapshot.
 
Vector3d getPrevEuler ()
 Returns the previous euler angles of this stuntDouble.
 
Vector3d getEuler ()
 Returns the current euler angles of this stuntDouble.
 
Vector3d getEuler (int snapshotNo)
 Returns the euler angles of this stuntDouble in specified snapshot.
 
void setPrevEuler (const Vector3d &euler)
 Sets the previous euler angles of this stuntDouble.
 
void setEuler (const Vector3d &euler)
 Sets the current euler angles of this stuntDouble.
 
void setEuler (const Vector3d &euler, int snapshotNo)
 Sets the euler angles of this stuntDouble in specified snapshot.
 
Vector3d getPrevDipole ()
 Returns the previous dipole vector of this stuntDouble.
 
Vector3d getDipole ()
 Returns the current dipole vector of this stuntDouble.
 
Vector3d getDipole (int snapshotNo)
 Returns the dipole vector of this stuntDouble in specified snapshot.
 
Mat3x3d getPrevQuadrupole ()
 Returns the previous quadrupole tensor of this stuntDouble.
 
Mat3x3d getQuadrupole ()
 Returns the current quadrupole tensor of this stuntDouble.
 
Mat3x3d getQuadrupole (int snapshotNo)
 Returns the quadrupole tensor of this stuntDouble in specified snapshot.
 
Vector3d getPrevFrc ()
 Returns the previous force of this stuntDouble.
 
Vector3d getFrc ()
 Returns the current force of this stuntDouble.
 
Vector3d getFrc (int snapshotNo)
 Returns the force of this stuntDouble in specified snapshot.
 
void setPrevFrc (const Vector3d &frc)
 Sets the previous force of this stuntDouble.
 
void setFrc (const Vector3d &frc)
 Sets the current force of this stuntDouble.
 
void setFrc (const Vector3d &frc, int snapshotNo)
 Sets the force of this stuntDouble in specified snapshot.
 
void addPrevFrc (const Vector3d &frc)
 Adds force into the previous force of this stuntDouble.
 
void addFrc (const Vector3d &frc)
 Adds force into the current force of this stuntDouble.
 
void addFrc (const Vector3d &frc, int snapshotNo)
 Adds force into the force of this stuntDouble in specified snapshot.
 
Vector3d getPrevTrq ()
 Returns the previous torque of this stuntDouble.
 
Vector3d getTrq ()
 Returns the current torque of this stuntDouble.
 
Vector3d getTrq (int snapshotNo)
 Returns the torque of this stuntDouble in specified snapshot.
 
void setPrevTrq (const Vector3d &trq)
 Sets the previous torque of this stuntDouble.
 
void setTrq (const Vector3d &trq)
 Sets the current torque of this stuntDouble.
 
void setTrq (const Vector3d &trq, int snapshotNo)
 Sets the torque of this stuntDouble in specified snapshot.
 
void addPrevTrq (const Vector3d &trq)
 Adds torque into the previous torque of this stuntDouble.
 
void addTrq (const Vector3d &trq)
 Adds torque into the current torque of this stuntDouble.
 
void addTrq (const Vector3d &trq, int snapshotNo)
 Adds torque into the torque of this stuntDouble in specified snapshot.
 
RealType getPrevParticlePot ()
 Returns the previous particlePot of this stuntDouble.
 
RealType getParticlePot ()
 Returns the current particlePot of this stuntDouble.
 
RealType getParticlePot (int snapshotNo)
 Returns the particlePot of this stuntDouble in specified snapshot.
 
void setPrevParticlePot (const RealType &particlePot)
 Sets the previous particlePot of this stuntDouble.
 
void setParticlePot (const RealType &particlePot)
 Sets the current particlePot of this stuntDouble.
 
void setParticlePot (const RealType &particlePot, int snapshotNo)
 Sets the particlePot of this stuntDouble in specified snapshot.
 
void addPrevParticlePot (const RealType &particlePot)
 Adds particlePot into the previous particlePot of this stuntDouble.
 
void addParticlePot (const RealType &particlePot)
 Adds particlePot into the current particlePot of this stuntDouble.
 
void addParticlePot (const RealType &particlePot, int snapshotNo)
 Adds particlePot into the particlePot of this stuntDouble in specified snapshot.
 
RealType getPrevFlucQPos ()
 Returns the previous fluctuating charge of this stuntDouble.
 
RealType getFlucQPos ()
 Returns the current fluctuating charge of this stuntDouble.
 
RealType getFlucQPos (int snapshotNo)
 Returns the fluctuating charge of this stuntDouble in specified snapshot.
 
void setPrevFlucQPos (RealType charge)
 Sets the previous fluctuating charge of this stuntDouble.
 
void setFlucQPos (RealType charge)
 Sets the current fluctuating charge of this stuntDouble.
 
void setFlucQPos (RealType charge, int snapshotNo)
 Sets the fluctuating charge of this stuntDouble in specified snapshot.
 
void addPrevFlucQPos (RealType charge)
 Adds fluctuating charge into the previous fluctuating charge of this stuntDouble.
 
void addFlucQPos (RealType charge)
 Adds fluctuating charge into the current fluctuating charge of this stuntDouble.
 
void addFlucQPos (RealType charge, int snapshotNo)
 Adds fluctuating charge into the fluctuating charge of this stuntDouble in specified snapshot.
 
RealType getPrevFlucQVel ()
 Returns the previous charge velocity of this stuntDouble.
 
RealType getFlucQVel ()
 Returns the current charge velocity of this stuntDouble.
 
RealType getFlucQVel (int snapshotNo)
 Returns the charge velocity of this stuntDouble in specified snapshot.
 
void setPrevFlucQVel (RealType cvel)
 Sets the previous charge velocity of this stuntDouble.
 
void setFlucQVel (RealType cvel)
 Sets the current charge velocity of this stuntDouble.
 
void setFlucQVel (RealType cvel, int snapshotNo)
 Sets the charge velocity of this stuntDouble in specified snapshot.
 
void addPrevFlucQVel (RealType cvel)
 Adds charge velocity into the previous charge velocity of this stuntDouble.
 
void addFlucQVel (RealType cvel)
 Adds charge velocity into the current charge velocity of this stuntDouble.
 
void addFlucQVel (RealType cvel, int snapshotNo)
 Adds charge velocity into the charge velocity of this stuntDouble in specified snapshot.
 
RealType getPrevFlucQFrc ()
 Returns the previous charge force of this stuntDouble.
 
RealType getFlucQFrc ()
 Returns the current charge force of this stuntDouble.
 
RealType getFlucQFrc (int snapshotNo)
 Returns the charge force of this stuntDouble in specified snapshot.
 
void setPrevFlucQFrc (RealType cfrc)
 Sets the previous charge force of this stuntDouble.
 
void setFlucQFrc (RealType cfrc)
 Sets the current charge force of this stuntDouble.
 
void setFlucQFrc (RealType cfrc, int snapshotNo)
 Sets the charge force of this stuntDouble in specified snapshot.
 
void addPrevFlucQFrc (RealType cfrc)
 Adds charge force into the previous charge force of this stuntDouble.
 
void addFlucQFrc (RealType cfrc)
 Adds charge force into the current charge force of this stuntDouble.
 
void addFlucQFrc (RealType cfrc, int snapshotNo)
 Adds charge force into the charge force of this stuntDouble in specified snapshot.
 
Vector3d getPrevElectricField ()
 Returns the previous electric field of this stuntDouble.
 
Vector3d getElectricField ()
 Returns the current electric field of this stuntDouble.
 
Vector3d getElectricField (int snapshotNo)
 Returns the electric field of this stuntDouble in specified snapshot.
 
void setPrevElectricField (const Vector3d &eField)
 Sets the previous electric field of this stuntDouble.
 
void setElectricField (const Vector3d &eField)
 Sets the current electric field of this stuntDouble.
 
void setElectricField (const Vector3d &eField, int snapshotNo)
 Sets the electric field of this stuntDouble in specified snapshot.
 
void addPrevElectricField (const Vector3d &eField)
 Adds electric field into the previous electric field of this stuntDouble.
 
void addElectricField (const Vector3d &eField)
 Adds electric field into the current electric field of this stuntDouble.
 
void addElectricField (const Vector3d &eField, int snapshotNo)
 Adds electric field into the electric field of this stuntDouble in specified snapshot.
 
RealType getPrevSitePotential ()
 Returns the previous site potential of this stuntDouble.
 
RealType getSitePotential ()
 Returns the current site potential of this stuntDouble.
 
RealType getSitePotential (int snapshotNo)
 Returns the site potential of this stuntDouble in specified snapshot.
 
void setPrevSitePotential (RealType spot)
 Sets the previous site potential of this stuntDouble.
 
void setSitePotential (RealType spot)
 Sets the current site potential of this stuntDouble.
 
void setSitePotential (RealType spot, int snapshotNo)
 Sets the site potential of this stuntDouble in specified snapshot.
 
void addPrevSitePotential (RealType spot)
 Adds site potential into the previous charge force of this stuntDouble.
 
void addSitePotential (RealType spot)
 Adds site potential into the current charge force of this stuntDouble.
 
void addSitePotential (RealType spot, int snapshotNo)
 Adds site potential into the site potential of this stuntDouble in specified snapshot.
 
RealType getPrevDensity ()
 Returns the previous density of this stuntDouble.
 
RealType getDensity ()
 Returns the current density of this stuntDouble.
 
RealType getDensity (int snapshotNo)
 Returns the density of this stuntDouble in specified snapshot.
 
void setPrevDensity (RealType dens)
 Sets the previous density of this stuntDouble.
 
void setDensity (RealType dens)
 Sets the current density of this stuntDouble.
 
void setDensity (RealType dens, int snapshotNo)
 Sets the density of this stuntDouble in specified snapshot.
 
void addPrevDensity (RealType dens)
 Adds density into the previous charge force of this stuntDouble.
 
void addDensity (RealType dens)
 Adds density into the current charge force of this stuntDouble.
 
void addDensity (RealType dens, int snapshotNo)
 Adds density into the density of this stuntDouble in specified snapshot.
 
void zeroForcesAndTorques ()
 Set the properties of this stuntDouble to zero.
 
void combineForcesAndTorques (Snapshot *snapA, Snapshot *snapB, RealType multA, RealType multB)
 Linearly combines the properties from two different snapshots.
 
bool isLinear ()
 Tests the if this stuntDouble is a linear rigidbody.
 
int linearAxis ()
 Returns the linear axis of the rigidbody, atom and directional atom will always return -1.
 
RealType getMass ()
 Returns the mass of this stuntDouble.
 
void setMass (RealType mass)
 Sets the mass of this stuntdoulbe.
 
Vector3d lab2Body (const Vector3d &v)
 Converts a lab fixed vector to a body fixed vector.
 
Vector3d lab2Body (const Vector3d &v, int frame)
 
Vector3d body2Lab (const Vector3d &v)
 Converts a body fixed vector to a lab fixed vector.
 
Vector3d body2Lab (const Vector3d &v, int frame)
 
void addProperty (std::shared_ptr< GenericData > genData)
 Adds property into property map.
 
void removeProperty (const std::string &propName)
 Removes property from PropertyMap by name.
 
std::vector< std::string > getPropertyNames ()
 Returns all names of properties.
 
std::vector< std::shared_ptr< GenericData > > getProperties ()
 Returns all of the properties in PropertyMap.
 
std::shared_ptr< GenericDatagetPropertyByName (const std::string &propName)
 Returns property.
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMD::StuntDouble
 StuntDouble (ObjectType objType, DataStoragePointer storage)
 
 StuntDouble (const StuntDouble &sd)
 
StuntDoubleoperator= (const StuntDouble &sd)
 
- Protected Attributes inherited from OpenMD::StuntDouble
ObjectType objType_
 
DataStoragePointer storage_
 
SnapshotManagersnapshotMan_
 
bool linear_
 
int linearAxis_
 
int globalIndex_
 
int globalIntegrableObjectIndex_
 
int localIndex_
 
RealType mass_
 

Detailed Description

Definition at line 62 of file RigidBody.hpp.

Member Typedef Documentation

◆ AtomIterator

using OpenMD::RigidBody::AtomIterator = std::vector<Atom*>::iterator

Definition at line 64 of file RigidBody.hpp.

Constructor & Destructor Documentation

◆ RigidBody()

OpenMD::RigidBody::RigidBody ( )

Definition at line 54 of file RigidBody.cpp.

Member Function Documentation

◆ accept()

void OpenMD::RigidBody::accept ( BaseVisitor * v)
virtual

The purpose of the Visitor Pattern is to encapsulate an operation that you want to perform on the elements of a data structure. In this way, you can change the operation being performed on a structure without the need of changing the classes of the elements that you are operating on. Using a Visitor pattern allows you to decouple the classes for the data structure and the algorithms used upon them

Parameters
vvisitor

Implements OpenMD::StuntDouble.

Definition at line 140 of file RigidBody.cpp.

◆ addAtom()

void OpenMD::RigidBody::addAtom ( Atom * at,
AtomStamp * ats )

Definition at line 547 of file RigidBody.cpp.

◆ beginAtom()

Atom * OpenMD::RigidBody::beginAtom ( std::vector< Atom * >::iterator & i)
inline

Definition at line 134 of file RigidBody.hpp.

◆ calcForcesAndTorques()

void OpenMD::RigidBody::calcForcesAndTorques ( )

Converts Atomic forces and torques to total forces and torques.

Definition at line 212 of file RigidBody.cpp.

◆ calcForcesAndTorquesAndVirial()

Mat3x3d OpenMD::RigidBody::calcForcesAndTorquesAndVirial ( )

Converts Atomic forces and torques to total forces and torques and computes the rigid body contribution to the virial.

Returns the rigid body contribution to the virial as a 3x3 matrix.

Definition at line 262 of file RigidBody.cpp.

◆ calcRefCoords()

void OpenMD::RigidBody::calcRefCoords ( )

calculates the reference coordinates

Todo
need modification

Definition at line 143 of file RigidBody.cpp.

◆ getAtomPos() [1/2]

bool OpenMD::RigidBody::getAtomPos ( Vector3d & pos,
Atom * atom )

Return the position of atom which belongs to this rigid body.

Returns
true if atom belongs to this rigid body,otherwise return false
Parameters
posposition of atom which will be set on return if atom belongs to this rigid body
atomthe pointer to an atom

Definition at line 442 of file RigidBody.cpp.

References OpenMD::StuntDouble::getGlobalIndex().

◆ getAtomPos() [2/2]

bool OpenMD::RigidBody::getAtomPos ( Vector3d & pos,
unsigned int index )

Return the position of atom which belongs to this rigid body.

Returns
true if index is valid otherwise return false
Parameters
posthe position of atom which will be set on return if index is valid
indexthe index of the atom in rigid body's private data member atoms_

Definition at line 426 of file RigidBody.cpp.

◆ getAtomRefCoor() [1/2]

bool OpenMD::RigidBody::getAtomRefCoor ( Vector3d & coor,
Atom * atom )

Return the velocity of atom which belongs to this rigid body.

Returns
true if atom belongs to this rigid body,otherwise return false
Parameters
coorvelocity of atom which will be set on return if atom belongs to this rigid body
atomthe pointer to an atom

Definition at line 530 of file RigidBody.cpp.

References OpenMD::StuntDouble::getGlobalIndex().

◆ getAtomRefCoor() [2/2]

bool OpenMD::RigidBody::getAtomRefCoor ( Vector3d & coor,
unsigned int index )

Return the reference coordinate of atom which belongs to this rigid body.

Returns
true if index is valid otherwise return false
Parameters
coorthe reference coordinate of atom which will be set on return if index is valid
indexthe index of the atom in rigid body's private data member atoms_

Definition at line 514 of file RigidBody.cpp.

◆ getAtoms()

std::vector< Atom * > OpenMD::RigidBody::getAtoms ( )
inline

Returns the atoms of this rigid body.

Returns
the atoms of this rigid body in a vector
Deprecated

Definition at line 153 of file RigidBody.hpp.

Referenced by OpenMD::SimInfo::addInteractionPairs(), OpenMD::DumpReader::parseSiteLine(), OpenMD::Velocitizer::randomizeChargeVelocity(), and OpenMD::SimInfo::removeInteractionPairs().

◆ getAtomVel() [1/2]

bool OpenMD::RigidBody::getAtomVel ( Vector3d & vel,
Atom * atom )

Return the velocity of atom which belongs to this rigid body.

Returns
true if atom belongs to this rigid body,otherwise return false
Parameters
velvelocity of atom which will be set on return if atom belongs to this rigid body
atomthe pointer to an atom

Definition at line 499 of file RigidBody.cpp.

References OpenMD::StuntDouble::getGlobalIndex().

◆ getAtomVel() [2/2]

bool OpenMD::RigidBody::getAtomVel ( Vector3d & vel,
unsigned int index )

Return the velocity of atom which belongs to this rigid body.

Returns
true if index is valid otherwise return false
Parameters
velthe velocity of atom which will be set on return if index is valid
indexthe index of the atom in rigid body's private data member atoms_

Definition at line 459 of file RigidBody.cpp.

◆ getBeginAtomIter()

std::vector< Atom * >::iterator OpenMD::RigidBody::getBeginAtomIter ( )
inline

Definition at line 144 of file RigidBody.hpp.

◆ getEndAtomIter()

std::vector< Atom * >::iterator OpenMD::RigidBody::getEndAtomIter ( )
inline

Definition at line 146 of file RigidBody.hpp.

◆ getGrad()

std::vector< RealType > OpenMD::RigidBody::getGrad ( )
virtual

Returns the gradient of this stuntdouble.

Returns
the gradient of this stuntdouble

Implements OpenMD::StuntDouble.

Definition at line 89 of file RigidBody.cpp.

◆ getI()

Mat3x3d OpenMD::RigidBody::getI ( )
virtual

Returns the inertia tensor of this stuntdouble.

Returns
the inertia tensor of this stuntdouble

Implements OpenMD::StuntDouble.

Definition at line 87 of file RigidBody.cpp.

◆ getNumAtoms()

size_t OpenMD::RigidBody::getNumAtoms ( )
inline

Returns the number of atoms in this rigid body.

Returns
the number of atoms in this rigid body

Definition at line 159 of file RigidBody.hpp.

Referenced by OpenMD::DumpReader::parseSiteLine().

◆ getRefCOM()

Vector3d OpenMD::RigidBody::getRefCOM ( )
inline

Definition at line 218 of file RigidBody.hpp.

◆ getType()

virtual std::string OpenMD::RigidBody::getType ( )
inlinevirtual

Returns the name of this stuntDouble.

Implements OpenMD::StuntDouble.

Definition at line 68 of file RigidBody.hpp.

◆ nextAtom()

Atom * OpenMD::RigidBody::nextAtom ( std::vector< Atom * >::iterator & i)
inline

Definition at line 139 of file RigidBody.hpp.

◆ setA() [1/2]

void OpenMD::RigidBody::setA ( const RotMat3x3d & a)
virtual

Sets the current rotation matrix of this stuntdouble.

Parameters
anew rotation matrix
Note
setA will not change the position and rotation matrix of Directional atoms belong to this rigidbody. If you want to do that, use updateAtoms

Reimplemented from OpenMD::StuntDouble.

Definition at line 67 of file RigidBody.cpp.

◆ setA() [2/2]

void OpenMD::RigidBody::setA ( const RotMat3x3d & a,
int snapshotNo )
virtual

Sets the rotation matrix of this stuntdouble in specified snapshot.

Parameters
arotation matrix to be set
snapshotNo
See also
getA

Reimplemented from OpenMD::StuntDouble.

Definition at line 77 of file RigidBody.cpp.

◆ setPrevA()

void OpenMD::RigidBody::setPrevA ( const RotMat3x3d & a)
virtual

Sets the previous rotation matrix of this stuntdouble.

Parameters
anew rotation matrix

Reimplemented from OpenMD::StuntDouble.

Definition at line 57 of file RigidBody.cpp.

◆ setType()

virtual void OpenMD::RigidBody::setType ( const std::string & name)
inlinevirtual

Sets the name of this stuntRealType.

Reimplemented from OpenMD::StuntDouble.

Definition at line 71 of file RigidBody.hpp.

◆ updateAtoms() [1/2]

void OpenMD::RigidBody::updateAtoms ( )

update the positions of atoms belong to this rigidbody

Definition at line 327 of file RigidBody.cpp.

References OpenMD::DirectionalAtom::setA().

Referenced by OpenMD::Thermo::getBoundingBox().

◆ updateAtoms() [2/2]

void OpenMD::RigidBody::updateAtoms ( int frame)

Definition at line 349 of file RigidBody.cpp.

◆ updateAtomVel() [1/2]

void OpenMD::RigidBody::updateAtomVel ( )

Definition at line 371 of file RigidBody.cpp.

◆ updateAtomVel() [2/2]

void OpenMD::RigidBody::updateAtomVel ( int frame)

Definition at line 398 of file RigidBody.cpp.


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