OpenMD  2.5
Molecular Dynamics in the Open
OpenMD::Bend Class Reference

#include <Bend.hpp>

Inheritance diagram for OpenMD::Bend:
OpenMD::ShortRangeInteraction OpenMD::GhostBend OpenMD::SDKBend OpenMD::UreyBradleyBend

Public Member Functions

 Bend (Atom *atom1, Atom *atom2, Atom *atom3, BendType *bt)
virtual ~Bend ()
virtual void calcForce (RealType &angle, bool doParticlePot)
RealType getValue (int snapshotNo)
RealType getPotential ()
AtomgetAtomA ()
AtomgetAtomB ()
AtomgetAtomC ()
BendTypegetBendType ()
virtual std::string getName ()
virtual void setName (const std::string &name)
void accept (BaseVisitor *v)
- Public Member Functions inherited from OpenMD::ShortRangeInteraction
virtual ~ShortRangeInteraction ()
int getGlobalIndex ()
void setGlobalIndex (int index)
int getLocalIndex ()
void setLocalIndex (int index)
void setSnapshotManager (SnapshotManager *sman)
virtual RealType getPrevValue ()
virtual RealType getValue ()
virtual std::vector< Atom * > getAtoms ()
void addProperty (GenericData *genData)
void removeProperty (const std::string &propName)
void clearProperties ()
std::vector< std::string > getPropertyNames ()
std::vector< GenericData * > getProperties ()
GenericDatagetPropertyByName (const std::string &propName)

Protected Attributes

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

Additional Inherited Members

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

Detailed Description

Definition at line 70 of file Bend.hpp.

Constructor & Destructor Documentation

◆ Bend()

OpenMD::Bend::Bend ( Atom atom1,
Atom atom2,
Atom atom3,
BendType bt 

Definition at line 74 of file Bend.hpp.

◆ ~Bend()

virtual OpenMD::Bend::~Bend ( )

Definition at line 82 of file Bend.hpp.

References OpenMD::BendData::angle.

Member Function Documentation

◆ accept()

void OpenMD::Bend::accept ( BaseVisitor v)

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


Implements OpenMD::ShortRangeInteraction.

Definition at line 135 of file Bend.hpp.

References OpenMD::BaseVisitor::visit().

◆ calcForce()

◆ getAtomA()

◆ getAtomB()

◆ getAtomC()

◆ getBendType()

BendType* OpenMD::Bend::getBendType ( )

Definition at line 127 of file Bend.hpp.

◆ getName()

virtual std::string OpenMD::Bend::getName ( )

Returns the name of this ShortRangeInteraction

Implements OpenMD::ShortRangeInteraction.

Definition at line 131 of file Bend.hpp.

Referenced by OpenMD::NameFinder::loadNames().

◆ getPotential()

RealType OpenMD::Bend::getPotential ( )

◆ getValue()

RealType OpenMD::Bend::getValue ( int  snapshotNo)

Returns the value of this ShortRangeInteraction in specified snapshot

the value of this ShortRangeInteraction

Implements OpenMD::ShortRangeInteraction.

Definition at line 85 of file Bend.hpp.

References OpenMD::dot(), and OpenMD::Vector< Real, Dim >::length().

◆ setName()

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

Sets the name of this bend for selections

Reimplemented from OpenMD::ShortRangeInteraction.

Definition at line 133 of file Bend.hpp.

Referenced by OpenMD::MoleculeCreator::createBend().

Member Data Documentation

◆ bendType_

BendType* OpenMD::Bend::bendType_

◆ name_

std::string OpenMD::Bend::name_

Definition at line 143 of file Bend.hpp.

◆ potential_

RealType OpenMD::Bend::potential_

Definition at line 141 of file Bend.hpp.

Referenced by OpenMD::GhostBend::calcForce(), and calcForce().

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