glotzmd::SoftPotential Class Reference
[Molecular Dynamics]

implements a purely-repulsive inverse r12 potential More...

#include <SoftPotential.h>

Inheritance diagram for glotzmd::SoftPotential:

glotzmd::Potential glotzmd::BaseObject glotzutil::Listable glotzutil::Serializable

List of all members.

Public Member Functions

 SoftPotential ()
 Constructor.
 SoftPotential (glotz_flt)
 Constructor taking particle size.
 SoftPotential (const SoftPotential &)
 Copy Constructor.
virtual SoftPotentialClone ()
 Clone constructor.
virtual ~SoftPotential ()
 Destructor.
 _DeclareSerializable (SoftPotential)
void Serialize (glotzutil::Archive &)
 Serialization function.
void Initialize ()
void ComputeForce (InteractingObject *const, InteractingObject *const, const glotz_vec &, const glotz_flt)
 Compute the force between two interacting objects.
void ComputeShiftedForce (InteractingObject *const, InteractingObject *const, const glotz_vec &, const glotz_flt, const glotz_flt)
 Compute the force between two interacting objects where the interaction is shifted from the object surface.
void SetEpsilon (const glotz_flt)
void SetSigma (const glotz_flt)
void SetCutoff (const glotz_flt)
glotz_flt GetEpsilon () const
glotz_flt GetSigma () const
glotz_flt GetCutoff () const
 Gets the interaction cutoff.
glotz_flt GetOverlapCutoff () const
 Gets the overlap cutoff.
glotz_flt GetForceShift () const
glotz_flt GetPotentialShift () const

Protected Attributes

glotz_flt mEpsilon
glotz_flt mSigma
glotz_flt mCutoff
glotz_flt mFshift
glotz_flt mPshift
glotz_flt mSigma12f
glotz_flt mSigma12
glotz_flt mCutoffSq


Detailed Description

implements a purely-repulsive inverse r12 potential

Author:
Aaron Keys
In an MD simulation, we often want to capture excluded-volume interactions. However, due to the continuous nature of MD, hard potentials require specialized methods such as collision dynamics. The soft potential can capture many of the features of an excluded-voume system without the discontinuities.

Constructor & Destructor Documentation

glotzmd::SoftPotential::SoftPotential (  ) 

Constructor.

glotzmd::SoftPotential::SoftPotential ( glotz_flt  epsilon  ) 

Constructor taking particle size.

glotzmd::SoftPotential::SoftPotential ( const SoftPotential rhs  ) 

Copy Constructor.

virtual glotzmd::SoftPotential::~SoftPotential (  )  [inline, virtual]

Destructor.


Member Function Documentation

SoftPotential * glotzmd::SoftPotential::Clone (  )  [virtual]

Clone constructor.

Reimplemented from glotzmd::Potential.

glotzmd::SoftPotential::_DeclareSerializable ( SoftPotential   ) 

void glotzmd::SoftPotential::Serialize ( glotzutil::Archive ar  )  [virtual]

Serialization function.

Reimplemented from glotzmd::Potential.

void glotzmd::SoftPotential::Initialize (  ) 

void glotzmd::SoftPotential::ComputeForce ( InteractingObject * const  obj1,
InteractingObject * const  obj2,
const glotz_vec rij,
const   glotz_flt 
) [inline, virtual]

Compute the force between two interacting objects.

Parameters:
obj1 is a pointer to one object
obj2 is a pointer to another object
rij is the vector connecting the two objects
r2 is the squared distance between the two objects

Implements glotzmd::Potential.

void glotzmd::SoftPotential::ComputeShiftedForce ( InteractingObject * const  obj1,
InteractingObject * const  obj2,
const glotz_vec rij,
const   glotz_flt,
const   glotz_flt 
) [inline, virtual]

Compute the force between two interacting objects where the interaction is shifted from the object surface.

Parameters:
obj1 is a pointer to one object
obj2 is a pointer to another object
rij is the vector connecting the two objects
r2 is the squared distance between the two objects
shift is the contribution of the shift to the distance between objects

Implements glotzmd::Potential.

void glotzmd::SoftPotential::SetEpsilon ( const   glotz_flt  ) 

void glotzmd::SoftPotential::SetSigma ( const   glotz_flt  ) 

void glotzmd::SoftPotential::SetCutoff ( const   glotz_flt  ) 

glotz_flt glotzmd::SoftPotential::GetEpsilon (  )  const

glotz_flt glotzmd::SoftPotential::GetSigma (  )  const

glotz_flt glotzmd::SoftPotential::GetCutoff (  )  const [virtual]

Gets the interaction cutoff.

Returns:
the potential cutoff
Note:
if no cutoff is defined by the inherited potential default the cutoff is 1e6

Reimplemented from glotzmd::Potential.

glotz_flt glotzmd::SoftPotential::GetOverlapCutoff (  )  const [virtual]

Gets the overlap cutoff.

This function is used in interpolation

Returns:
the overlap cutoff
Note:
if no overlap cutoff is defined, will return 0.0.

Reimplemented from glotzmd::Potential.

glotz_flt glotzmd::SoftPotential::GetForceShift (  )  const

glotz_flt glotzmd::SoftPotential::GetPotentialShift (  )  const


Member Data Documentation

glotz_flt glotzmd::SoftPotential::mEpsilon [protected]

glotz_flt glotzmd::SoftPotential::mSigma [protected]

glotz_flt glotzmd::SoftPotential::mCutoff [protected]

glotz_flt glotzmd::SoftPotential::mFshift [protected]

glotz_flt glotzmd::SoftPotential::mPshift [protected]

glotz_flt glotzmd::SoftPotential::mSigma12f [protected]

glotz_flt glotzmd::SoftPotential::mSigma12 [protected]

glotz_flt glotzmd::SoftPotential::mCutoffSq [protected]


The documentation for this class was generated from the following files:
Generated on Tue Feb 24 20:54:31 2009 by  doxygen 1.5.3