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

#include <SC.hpp>

Inheritance diagram for OpenMD::SC:
OpenMD::MetallicInteraction OpenMD::NonBondedInteraction

Public Member Functions

 SC ()
 
 ~SC ()
 
void setForceField (ForceField *ff)
 
void setSimulatedAtomTypes (set< AtomType *> &simtypes)
 
void addType (AtomType *atomType)
 
void addExplicitInteraction (AtomType *atype1, AtomType *atype2, RealType epsilon, RealType m, RealType n, RealType alpha)
 
void calcDensity (InteractionData &idat)
 
void calcFunctional (SelfData &sdat)
 
void calcForce (InteractionData &idat)
 
virtual string getName ()
 
virtual int getHash ()
 
virtual RealType getSuggestedCutoffRadius (pair< AtomType *, AtomType *> atypes)
 
- Public Member Functions inherited from OpenMD::MetallicInteraction
 MetallicInteraction ()
 
virtual ~MetallicInteraction ()
 
virtual InteractionFamily getFamily ()
 
- Public Member Functions inherited from OpenMD::NonBondedInteraction
 NonBondedInteraction ()
 
virtual ~NonBondedInteraction ()
 

Private Member Functions

void initialize ()
 
RealType getAlpha (AtomType *atomType1, AtomType *atomType2)
 
RealType getEpsilon (AtomType *atomType1, AtomType *atomType2)
 
RealType getM (AtomType *atomType1, AtomType *atomType2)
 
RealType getN (AtomType *atomType1, AtomType *atomType2)
 

Private Attributes

string name_
 
bool initialized_
 
set< int > SCtypes
 
vector< int > SCtids
 
vector< SCAtomDataSCdata
 
vector< vector< SCInteractionData > > MixingMap
 
int nSC_
 
ForceFieldforceField_
 
set< AtomType * > simTypes_
 
RealType scRcut_
 
int np_
 

Detailed Description

Definition at line 74 of file SC.hpp.

Constructor & Destructor Documentation

◆ SC()

OpenMD::SC::SC ( )

Definition at line 54 of file SC.cpp.

◆ ~SC()

OpenMD::SC::~SC ( )

Definition at line 57 of file SC.cpp.

References initialized_, MixingMap, SCdata, SCtids, and SCtypes.

Member Function Documentation

◆ addExplicitInteraction()

◆ addType()

◆ calcDensity()

◆ calcForce()

◆ calcFunctional()

◆ getAlpha()

RealType OpenMD::SC::getAlpha ( AtomType atomType1,
AtomType atomType2 
)
private

◆ getEpsilon()

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

Definition at line 98 of file SC.cpp.

References OpenMD::SuttonChenAdapter::getEpsilon().

Referenced by addType().

◆ getHash()

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

Implements OpenMD::NonBondedInteraction.

Definition at line 87 of file SC.hpp.

References OpenMD::SC_INTERACTION.

◆ getM()

RealType OpenMD::SC::getM ( AtomType atomType1,
AtomType atomType2 
)
private

Definition at line 66 of file SC.cpp.

References OpenMD::SuttonChenAdapter::getM().

Referenced by addType().

◆ getN()

RealType OpenMD::SC::getN ( AtomType atomType1,
AtomType atomType2 
)
private

Definition at line 74 of file SC.cpp.

References OpenMD::SuttonChenAdapter::getN().

Referenced by addType().

◆ getName()

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

Implements OpenMD::NonBondedInteraction.

Definition at line 86 of file SC.hpp.

◆ getSuggestedCutoffRadius()

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

Implements OpenMD::NonBondedInteraction.

Definition at line 366 of file SC.cpp.

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

◆ initialize()

void OpenMD::SC::initialize ( )
private

◆ setForceField()

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

Definition at line 79 of file SC.hpp.

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

◆ setSimulatedAtomTypes()

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

Member Data Documentation

◆ forceField_

ForceField* OpenMD::SC::forceField_
private

Definition at line 105 of file SC.hpp.

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

◆ initialized_

bool OpenMD::SC::initialized_
private

Definition at line 98 of file SC.hpp.

Referenced by calcDensity(), calcForce(), calcFunctional(), getSuggestedCutoffRadius(), initialize(), and ~SC().

◆ MixingMap

vector<vector<SCInteractionData> > OpenMD::SC::MixingMap
private

The mixing parameters between two SC types

Definition at line 102 of file SC.hpp.

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

◆ name_

string OpenMD::SC::name_
private

Definition at line 97 of file SC.hpp.

◆ np_

int OpenMD::SC::np_
private

Definition at line 109 of file SC.hpp.

Referenced by addExplicitInteraction(), and addType().

◆ nSC_

int OpenMD::SC::nSC_
private

Definition at line 103 of file SC.hpp.

Referenced by addType(), and initialize().

◆ SCdata

vector<SCAtomData> OpenMD::SC::SCdata
private

The EAM atomic data indexed by SC type ident

Definition at line 101 of file SC.hpp.

Referenced by addType(), calcForce(), calcFunctional(), initialize(), and ~SC().

◆ scRcut_

RealType OpenMD::SC::scRcut_
private

Definition at line 108 of file SC.hpp.

◆ SCtids

vector<int> OpenMD::SC::SCtids
private

The mapping from AtomType ident -> SC type ident

Definition at line 100 of file SC.hpp.

Referenced by addExplicitInteraction(), addType(), calcDensity(), calcForce(), calcFunctional(), getSuggestedCutoffRadius(), initialize(), and ~SC().

◆ SCtypes

set<int> OpenMD::SC::SCtypes
private

The set of AtomType idents that are SC types

Definition at line 99 of file SC.hpp.

Referenced by addType(), initialize(), and ~SC().

◆ simTypes_

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

Definition at line 106 of file SC.hpp.

Referenced by initialize().


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