Emdee
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
VashishtaThreeParticleForce Class Reference

The VashishtaThreeParticleForce class defines the interaction between three particles in the Vashishta-Kalia-Rino-Ebbsjø potential. More...

#include <vashishtathreeparticleforce.h>

Inheritance diagram for VashishtaThreeParticleForce:
Inheritance graph
[legend]
Collaboration diagram for VashishtaThreeParticleForce:
Collaboration graph
[legend]

Public Member Functions

 VashishtaThreeParticleForce ()
 
void calculateAndApplyForce (Atom *atom1, Atom *atom2, Atom *atom3)
 
void calculateAndApplyForce (Atom *atom1, Atom *atom2, Atom *atom3, const Vector3 &atom2Offset, const Vector3 &atom3Offset)
 
void setMapForAllPermutations (map< vector< int >, double > &theMap, const vector< int > values, double value)
 
void setMapForAllPermutationsStep2 (map< vector< int >, double > &theMap, const vector< int > &v, const int start, const int n, double value)
 
void setMapForAllPermutationsStep2 (map< vector< int >, int > &theMap, const vector< int > &v, const int start, const int n, double value)
 
void setMapForAllPermutations (map< vector< int >, int > &theMap, const vector< int > values, double value)
 
void setMapForAllPermutationsStep2 (vec &theMap, int v[], const int start, double value)
 
void setMapForAllPermutations (vec &theMap, int values[], double value)
 
int comboHash (int v[])
 
- Public Member Functions inherited from ThreeParticleForce
 ThreeParticleForce ()
 
void setNewtonsThirdLawEnabled (bool enable)
 
bool isNewtonsThirdLawEnabled ()
 
void setCalculatePressureEnabled (bool enable)
 
bool isCalculatePressureEnabled ()
 
void setCalculatePotentialEnabled (bool enable)
 
bool isCalculatePotentialEnabled ()
 
double cutoffRadius () const
 
void setCutoffRadius (double cutoffRadius)
 

Protected Member Functions

double force (double Bijk, double drij, double dfdrij, double drik, double dfdrik, double p, double f, double dtheta, double dpdtheta)
 

Protected Attributes

vec m_B
 
vec m_cosThetaBar
 
vec m_r0
 
vec m_centerAtom
 
Vector3 rij
 
Vector3 rik
 
Atomatoms [3]
 
Vector3 atomPosition [3]
 
int nParticleTypes
 

Detailed Description

The VashishtaThreeParticleForce class defines the interaction between three particles in the Vashishta-Kalia-Rino-Ebbsjø potential.

Constructor & Destructor Documentation

VashishtaThreeParticleForce::VashishtaThreeParticleForce ( )

Member Function Documentation

void VashishtaThreeParticleForce::calculateAndApplyForce ( Atom atom1,
Atom atom2,
Atom atom3 
)
virtual

Implements ThreeParticleForce.

void VashishtaThreeParticleForce::calculateAndApplyForce ( Atom atom1,
Atom atom2,
Atom atom3,
const Vector3 atom2Offset,
const Vector3 atom3Offset 
)
virtual

Implements ThreeParticleForce.

int VashishtaThreeParticleForce::comboHash ( int  v[])
double VashishtaThreeParticleForce::force ( double  Bijk,
double  drij,
double  dfdrij,
double  drik,
double  dfdrik,
double  p,
double  f,
double  dtheta,
double  dpdtheta 
)
protected
void VashishtaThreeParticleForce::setMapForAllPermutations ( map< vector< int >, double > &  theMap,
const vector< int >  values,
double  value 
)
void VashishtaThreeParticleForce::setMapForAllPermutations ( map< vector< int >, int > &  theMap,
const vector< int >  values,
double  value 
)
void VashishtaThreeParticleForce::setMapForAllPermutations ( vec &  theMap,
int  values[],
double  value 
)
void VashishtaThreeParticleForce::setMapForAllPermutationsStep2 ( map< vector< int >, double > &  theMap,
const vector< int > &  v,
const int  start,
const int  n,
double  value 
)
void VashishtaThreeParticleForce::setMapForAllPermutationsStep2 ( map< vector< int >, int > &  theMap,
const vector< int > &  v,
const int  start,
const int  n,
double  value 
)
void VashishtaThreeParticleForce::setMapForAllPermutationsStep2 ( vec &  theMap,
int  v[],
const int  start,
double  value 
)

Member Data Documentation

Vector3 VashishtaThreeParticleForce::atomPosition[3]
protected
Atom* VashishtaThreeParticleForce::atoms[3]
protected
vec VashishtaThreeParticleForce::m_B
protected
vec VashishtaThreeParticleForce::m_centerAtom
protected
vec VashishtaThreeParticleForce::m_cosThetaBar
protected
vec VashishtaThreeParticleForce::m_r0
protected
int VashishtaThreeParticleForce::nParticleTypes
protected
Vector3 VashishtaThreeParticleForce::rij
protected
Vector3 VashishtaThreeParticleForce::rik
protected

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