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

Public Member Functions

 Torsion (Atom *atom1, Atom *atom2, Atom *atom3, Atom *atom4, TorsionType *tt)
 
virtual void calcForce (RealType &angle, bool doParticlePot)
 
RealType getValue (int snapshotNo)
 Returns the value of this ShortRangeInteraction in specified snapshot.
 
RealType getPotential ()
 
AtomgetAtomA ()
 
AtomgetAtomB ()
 
AtomgetAtomC ()
 
AtomgetAtomD ()
 
TorsionTypegetTorsionType ()
 
virtual std::string getName ()
 Returns the name of this ShortRangeInteraction.
 
virtual void setName (const std::string &name)
 Sets the name of this torsion for selections.
 
void accept (BaseVisitor *v)
 
virtual RealType getPrevValue ()
 Returns the previous value of this ShortRangeInteraction.
 
virtual RealType getValue ()
 Returns the current value of this ShortRangeInteraction.
 
- Public Member Functions inherited from OpenMD::ShortRangeInteraction
int getGlobalIndex ()
 Returns the global index of this ShortRangeInteraction.
 
void setGlobalIndex (int index)
 Sets the global index of this ShortRangeInteraction.
 
int getLocalIndex ()
 Returns the local index of this ShortRangeInteraction.
 
void setLocalIndex (int index)
 Sets the local index of this ShortRangeInteraction.
 
void setSnapshotManager (SnapshotManager *sman)
 Sets the Snapshot Manager of this ShortRangeInteraction.
 
virtual std::vector< Atom * > getAtoms ()
 
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.
 

Protected Attributes

TorsionTypetorsionType_
 
std::string name_
 
RealType potential_
 
- Protected Attributes inherited from OpenMD::ShortRangeInteraction
SnapshotManagersnapshotMan_
 
std::vector< Atom * > atoms_
 
int globalIndex_
 
int localIndex_
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMD::ShortRangeInteraction
 ShortRangeInteraction (const ShortRangeInteraction &sri)
 
ShortRangeInteractionoperator= (const ShortRangeInteraction &sri)
 

Detailed Description

Definition at line 76 of file Torsion.hpp.

Constructor & Destructor Documentation

◆ Torsion()

OpenMD::Torsion::Torsion ( Atom * atom1,
Atom * atom2,
Atom * atom3,
Atom * atom4,
TorsionType * tt )

Definition at line 55 of file Torsion.cpp.

◆ ~Torsion()

virtual OpenMD::Torsion::~Torsion ( )
inlinevirtual

Definition at line 83 of file Torsion.hpp.

Member Function Documentation

◆ accept()

void OpenMD::Torsion::accept ( BaseVisitor * v)
inlinevirtual

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::ShortRangeInteraction.

Definition at line 139 of file Torsion.hpp.

◆ calcForce()

void OpenMD::Torsion::calcForce ( RealType & angle,
bool doParticlePot )
virtual

Definition at line 66 of file Torsion.cpp.

◆ getAtomA()

Atom * OpenMD::Torsion::getAtomA ( )
inline

Definition at line 125 of file Torsion.hpp.

◆ getAtomB()

Atom * OpenMD::Torsion::getAtomB ( )
inline

Definition at line 127 of file Torsion.hpp.

◆ getAtomC()

Atom * OpenMD::Torsion::getAtomC ( )
inline

Definition at line 129 of file Torsion.hpp.

◆ getAtomD()

Atom * OpenMD::Torsion::getAtomD ( )
inline

Definition at line 131 of file Torsion.hpp.

◆ getName()

virtual std::string OpenMD::Torsion::getName ( )
inlinevirtual

Returns the name of this ShortRangeInteraction.

Implements OpenMD::ShortRangeInteraction.

Definition at line 135 of file Torsion.hpp.

◆ getPotential()

RealType OpenMD::Torsion::getPotential ( )
inline

Definition at line 123 of file Torsion.hpp.

◆ getPrevValue()

RealType OpenMD::ShortRangeInteraction::getPrevValue ( )
virtual

Returns the previous value of this ShortRangeInteraction.

Returns
the value of this ShortRangeInteraction

Reimplemented from OpenMD::ShortRangeInteraction.

Definition at line 123 of file ShortRangeInteraction.cpp.

◆ getTorsionType()

TorsionType * OpenMD::Torsion::getTorsionType ( )
inline

Definition at line 133 of file Torsion.hpp.

◆ getValue() [1/2]

RealType OpenMD::ShortRangeInteraction::getValue ( )
virtual

Returns the current value of this ShortRangeInteraction.

Returns
the current value of this ShortRangeInteraction

Reimplemented from OpenMD::ShortRangeInteraction.

Definition at line 129 of file ShortRangeInteraction.cpp.

◆ getValue() [2/2]

RealType OpenMD::Torsion::getValue ( int snapshotNo)
inlinevirtual

Returns the value of this ShortRangeInteraction in specified snapshot.

Returns
the value of this ShortRangeInteraction
Parameters
snapshotNo

Implements OpenMD::ShortRangeInteraction.

Definition at line 86 of file Torsion.hpp.

References OpenMD::cross(), OpenMD::dot(), OpenMD::Vector< Real, Dim >::length(), OpenMD::Vector< Real, Dim >::normalize(), and OpenMD::Snapshot::wrapVector().

◆ setName()

virtual void OpenMD::Torsion::setName ( const std::string & name)
inlinevirtual

Sets the name of this torsion for selections.

Reimplemented from OpenMD::ShortRangeInteraction.

Definition at line 137 of file Torsion.hpp.

Member Data Documentation

◆ name_

std::string OpenMD::Torsion::name_
protected

Definition at line 143 of file Torsion.hpp.

◆ potential_

RealType OpenMD::Torsion::potential_
protected

Definition at line 145 of file Torsion.hpp.

◆ torsionType_

TorsionType* OpenMD::Torsion::torsionType_
protected

Definition at line 142 of file Torsion.hpp.


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