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

Public Member Functions

 DirectionalAtom (AtomType *dAtomType)
 
virtual Mat3x3d getI ()
 Returns the inertia tensor of this stuntdouble.
 
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.
 
void rotateBy (const RotMat3x3d &m)
 Left multiple rotation matrix by another rotation matrix.
 
virtual std::vector< RealType > getGrad ()
 Returns the gradient of this stuntdouble.
 
virtual void accept (BaseVisitor *v)
 
- Public Member Functions inherited from OpenMD::Atom
 Atom (AtomType *at)
 
virtual std::string getType ()
 Returns the name of this stuntDouble.
 
AtomTypegetAtomType ()
 Returns the AtomType of this Atom.
 
bool isCharge ()
 
bool isDirectional ()
 
bool isDipole ()
 
bool isMultipole ()
 
bool isGayBerne ()
 
bool isSticky ()
 
bool isShape ()
 
bool isMetal ()
 
bool isFluctuatingCharge ()
 
int getIdent ()
 
RealType getChargeMass ()
 
void setChargeMass (RealType cm)
 
- 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.
 
virtual void setType (const std::string &)
 Sets the name of this stuntDouble.
 
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

- Public Types inherited from OpenMD::StuntDouble
enum  ObjectType { otAtom , otDAtom , otRigidBody }
 
- 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::Atom
AtomTypeatomType_
 
RealType chargeMass_
 
- 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 59 of file DirectionalAtom.hpp.

Constructor & Destructor Documentation

◆ DirectionalAtom()

OpenMD::DirectionalAtom::DirectionalAtom ( AtomType * dAtomType)

Definition at line 53 of file DirectionalAtom.cpp.

Member Function Documentation

◆ accept()

void OpenMD::DirectionalAtom::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

Reimplemented from OpenMD::Atom.

Definition at line 196 of file DirectionalAtom.cpp.

◆ getGrad()

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

Returns the gradient of this stuntdouble.

Returns
the gradient of this stuntdouble

Reimplemented from OpenMD::Atom.

Definition at line 145 of file DirectionalAtom.cpp.

◆ getI()

Mat3x3d OpenMD::DirectionalAtom::getI ( )
virtual

Returns the inertia tensor of this stuntdouble.

Returns
the inertia tensor of this stuntdouble

Reimplemented from OpenMD::Atom.

Definition at line 87 of file DirectionalAtom.cpp.

◆ rotateBy()

void OpenMD::DirectionalAtom::rotateBy ( const RotMat3x3d & m)

Left multiple rotation matrix by another rotation matrix.

Parameters
ma rotation matrix

Definition at line 143 of file DirectionalAtom.cpp.

◆ setA() [1/2]

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

Sets the current rotation matrix of this stuntdouble.

Parameters
anew rotation matrix

Reimplemented from OpenMD::StuntDouble.

Definition at line 107 of file DirectionalAtom.cpp.

Referenced by OpenMD::RigidBody::updateAtoms().

◆ setA() [2/2]

void OpenMD::DirectionalAtom::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 125 of file DirectionalAtom.cpp.

◆ setPrevA()

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

Sets the previous rotation matrix of this stuntdouble.

Parameters
anew rotation matrix

Reimplemented from OpenMD::StuntDouble.

Definition at line 89 of file DirectionalAtom.cpp.


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