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

#include <Sticky.hpp>

Inheritance diagram for OpenMD::Sticky:
OpenMD::HydrogenBondingInteraction OpenMD::NonBondedInteraction

Public Member Functions

 Sticky ()
 
void setForceField (ForceField *ff)
 
void setSimulatedAtomTypes (set< AtomType *> &simtypes)
 
void addType (AtomType *atomType)
 
virtual void calcForce (InteractionData &idat)
 
virtual string getName ()
 
virtual int getHash ()
 
virtual RealType getSuggestedCutoffRadius (pair< AtomType *, AtomType *> atypes)
 
- Public Member Functions inherited from OpenMD::HydrogenBondingInteraction
 HydrogenBondingInteraction ()
 
virtual ~HydrogenBondingInteraction ()
 
virtual InteractionFamily getFamily ()
 
- Public Member Functions inherited from OpenMD::NonBondedInteraction
 NonBondedInteraction ()
 
virtual ~NonBondedInteraction ()
 

Private Member Functions

void initialize ()
 

Private Attributes

bool initialized_
 
set< int > Stypes
 
vector< int > Stids
 
vector< vector< StickyInteractionData > > MixingMap
 
int nSticky_
 
ForceFieldforceField_
 
set< AtomType * > simTypes_
 
string name_
 

Detailed Description

Definition at line 69 of file Sticky.hpp.

Constructor & Destructor Documentation

◆ Sticky()

OpenMD::Sticky::Sticky ( )

Definition at line 55 of file Sticky.cpp.

Member Function Documentation

◆ addType()

◆ calcForce()

void OpenMD::Sticky::calcForce ( InteractionData idat)
virtual

This function does the sticky portion of the SSD potential [Chandra and Ichiye, Journal of Chemical Physics 111, 2701 (1999)]. The Lennard-Jones and dipolar interaction must be handled separately. We assume that the rotation matrices have already been calculated and placed in the A1 & A2 entries in the idat structure.

Implements OpenMD::NonBondedInteraction.

Definition at line 159 of file Sticky.cpp.

References OpenMD::InteractionData::A1, OpenMD::InteractionData::A2, OpenMD::InteractionData::atid1, OpenMD::InteractionData::atid2, OpenMD::InteractionData::d, OpenMD::InteractionData::f1, OpenMD::CubicSpline::getValueAndDerivativeAt(), OpenMD::HYDROGENBONDING_FAMILY, initialize(), initialized_, OpenMD::StickyInteractionData::isPower, OpenMD::InteractionData::isSelected, MixingMap, OpenMD::InteractionData::pot, OpenMD::InteractionData::r2, OpenMD::StickyInteractionData::rbig, OpenMD::InteractionData::rij, OpenMD::StickyInteractionData::rl, OpenMD::StickyInteractionData::rlp, OpenMD::StickyInteractionData::ru, OpenMD::StickyInteractionData::rup, OpenMD::StickyInteractionData::s, OpenMD::InteractionData::selePot, OpenMD::StickyInteractionData::sp, Stids, OpenMD::InteractionData::sw, OpenMD::InteractionData::t1, OpenMD::InteractionData::t2, OpenMD::SquareMatrix3< Real >::transpose(), OpenMD::StickyInteractionData::v0, OpenMD::StickyInteractionData::v0p, OpenMD::V3Zero, OpenMD::InteractionData::vpair, OpenMD::StickyInteractionData::w0, OpenMD::Vector3< Real >::x(), OpenMD::Vector3< Real >::y(), and OpenMD::Vector3< Real >::z().

Referenced by OpenMD::InteractionManager::doPair().

◆ getHash()

virtual int OpenMD::Sticky::getHash ( )
inlinevirtual

Implements OpenMD::NonBondedInteraction.

Definition at line 78 of file Sticky.hpp.

References OpenMD::STICKY_INTERACTION.

◆ getName()

virtual string OpenMD::Sticky::getName ( )
inlinevirtual

Implements OpenMD::NonBondedInteraction.

Definition at line 77 of file Sticky.hpp.

◆ getSuggestedCutoffRadius()

RealType OpenMD::Sticky::getSuggestedCutoffRadius ( pair< AtomType *, AtomType *>  atypes)
virtual

Implements OpenMD::NonBondedInteraction.

Definition at line 347 of file Sticky.cpp.

References initialize(), initialized_, MixingMap, and Stids.

◆ initialize()

void OpenMD::Sticky::initialize ( )
private

◆ setForceField()

void OpenMD::Sticky::setForceField ( ForceField ff)
inline

Definition at line 73 of file Sticky.hpp.

Referenced by OpenMD::InteractionManager::initialize().

◆ setSimulatedAtomTypes()

void OpenMD::Sticky::setSimulatedAtomTypes ( set< AtomType *> &  simtypes)
inline

Definition at line 74 of file Sticky.hpp.

Referenced by OpenMD::InteractionManager::initialize().

Member Data Documentation

◆ forceField_

ForceField* OpenMD::Sticky::forceField_
private

Definition at line 89 of file Sticky.hpp.

Referenced by addType(), and initialize().

◆ initialized_

bool OpenMD::Sticky::initialized_
private

Definition at line 83 of file Sticky.hpp.

Referenced by calcForce(), getSuggestedCutoffRadius(), and initialize().

◆ MixingMap

vector<vector<StickyInteractionData> > OpenMD::Sticky::MixingMap
private

The mixing parameters between two Sticky types

Definition at line 86 of file Sticky.hpp.

Referenced by addType(), calcForce(), getSuggestedCutoffRadius(), and initialize().

◆ name_

string OpenMD::Sticky::name_
private

Definition at line 91 of file Sticky.hpp.

◆ nSticky_

int OpenMD::Sticky::nSticky_
private

Definition at line 88 of file Sticky.hpp.

Referenced by addType(), and initialize().

◆ simTypes_

set<AtomType*> OpenMD::Sticky::simTypes_
private

Definition at line 90 of file Sticky.hpp.

Referenced by initialize().

◆ Stids

vector<int> OpenMD::Sticky::Stids
private

The mapping from AtomType ident -> Sticky type ident

Definition at line 85 of file Sticky.hpp.

Referenced by addType(), calcForce(), getSuggestedCutoffRadius(), and initialize().

◆ Stypes

set<int> OpenMD::Sticky::Stypes
private

The set of AtomType idents that are Sticky types

Definition at line 84 of file Sticky.hpp.

Referenced by addType(), and initialize().


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