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

#include <LJ.hpp>

Inheritance diagram for OpenMD::LJ:
OpenMD::VanDerWaalsInteraction OpenMD::NonBondedInteraction

Public Member Functions

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

Private Member Functions

void initialize ()
 
RealType getSigma (AtomType *atomType1, AtomType *atomType2)
 
RealType getEpsilon (AtomType *atomType1, AtomType *atomType2)
 
void getLJfunc (const RealType r, RealType &pot, RealType &deriv)
 

Private Attributes

bool initialized_
 
set< int > LJtypes
 
vector< int > LJtids
 
vector< vector< LJInteractionData > > MixingMap
 
int nLJ_
 
ForceFieldforceField_
 
set< AtomType * > simTypes_
 
string name_
 

Detailed Description

Definition at line 60 of file LJ.hpp.

Constructor & Destructor Documentation

◆ LJ()

OpenMD::LJ::LJ ( )

Definition at line 54 of file LJ.cpp.

Member Function Documentation

◆ addExplicitInteraction()

void OpenMD::LJ::addExplicitInteraction ( AtomType atype1,
AtomType atype2,
RealType  sigma,
RealType  epsilon 
)

◆ addType()

◆ calcForce()

◆ getEpsilon()

RealType OpenMD::LJ::getEpsilon ( AtomType atomType1,
AtomType atomType2 
)
private

Definition at line 73 of file LJ.cpp.

References OpenMD::LennardJonesAdapter::getEpsilon().

Referenced by addType().

◆ getHash()

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

Implements OpenMD::NonBondedInteraction.

Definition at line 70 of file LJ.hpp.

References OpenMD::LJ_INTERACTION.

◆ getLJfunc()

void OpenMD::LJ::getLJfunc ( const RealType  r,
RealType &  pot,
RealType &  deriv 
)
private

Definition at line 293 of file LJ.cpp.

Referenced by calcForce().

◆ getName()

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

Implements OpenMD::NonBondedInteraction.

Definition at line 69 of file LJ.hpp.

◆ getSigma()

RealType OpenMD::LJ::getSigma ( AtomType atomType1,
AtomType atomType2 
)
private

◆ getSuggestedCutoffRadius()

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

◆ initialize()

◆ setForceField()

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

Definition at line 64 of file LJ.hpp.

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

◆ setSimulatedAtomTypes()

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

Definition at line 65 of file LJ.hpp.

References OpenMD::epsilon.

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

Member Data Documentation

◆ forceField_

ForceField* OpenMD::LJ::forceField_
private

Definition at line 86 of file LJ.hpp.

Referenced by addType(), getSigma(), and initialize().

◆ initialized_

bool OpenMD::LJ::initialized_
private

Definition at line 80 of file LJ.hpp.

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

◆ LJtids

vector<int> OpenMD::LJ::LJtids
private

The mapping from AtomType ident -> LJ type ident

Definition at line 83 of file LJ.hpp.

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

◆ LJtypes

set<int> OpenMD::LJ::LJtypes
private

The set of AtomType idents that are LJ types

Definition at line 82 of file LJ.hpp.

Referenced by addExplicitInteraction(), addType(), and initialize().

◆ MixingMap

vector<vector<LJInteractionData> > OpenMD::LJ::MixingMap
private

The mixing parameters between two LJ types

Definition at line 84 of file LJ.hpp.

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

◆ name_

string OpenMD::LJ::name_
private

Definition at line 88 of file LJ.hpp.

◆ nLJ_

int OpenMD::LJ::nLJ_
private

Definition at line 85 of file LJ.hpp.

Referenced by addExplicitInteraction(), addType(), and initialize().

◆ simTypes_

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

Definition at line 87 of file LJ.hpp.

Referenced by initialize().


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