glotzmd::LinearInterpPotential< TABLE_SIZE > Class Template Reference

linear interpolation of a given potential More...

#include <LinearInterpPotential.h>

Inheritance diagram for glotzmd::LinearInterpPotential< TABLE_SIZE >:

glotzmd::Potential glotzmd::LookupTable< TABLE_SIZE > glotzmd::BaseObject glotzutil::Listable glotzutil::Serializable

List of all members.

Public Member Functions

 LinearInterpPotential (Potential *)
LinearInterpPotentialClone ()
 Clone constructor.
void ComputeForce (InteractingObject *const, InteractingObject *const, const glotz_vec &, const glotz_flt)
void ComputeShiftedForce (InteractingObject *const, InteractingObject *const, const glotz_vec &, const glotz_flt, const glotz_flt)
glotz_flt GetCutoff () const
 Gets the interaction cutoff.
glotz_flt GetOverlapCutoff () const
 Gets the overlap cutoff.

Private Attributes

PotentialmPotential
const glotz_flt mCutoff
const glotz_flt mCutoffSq
const glotz_flt mOverlapCutoff
const glotz_flt mRange
const glotz_flt mInverseStepSize


Detailed Description

template<int TABLE_SIZE>
class glotzmd::LinearInterpPotential< TABLE_SIZE >

linear interpolation of a given potential

Author:
Aaron Keys
Interpolates potential, virial, and force values from a templated lookup table. All interpolated potential inhererit from the LookupTable class and add a few functions to define how the table is accessed / interpolated.

Constructor & Destructor Documentation

template<int TABLE_SIZE>
glotzmd::LinearInterpPotential< TABLE_SIZE >::LinearInterpPotential ( Potential potential  )  [inline]


Member Function Documentation

template<int TABLE_SIZE>
LinearInterpPotential< TABLE_SIZE > * glotzmd::LinearInterpPotential< TABLE_SIZE >::Clone (  )  [inline, virtual]

Clone constructor.

Reimplemented from glotzmd::Potential.

template<int TABLE_SIZE>
void glotzmd::LinearInterpPotential< TABLE_SIZE >::ComputeForce ( InteractingObject * const  obj1,
InteractingObject * const  obj2,
const glotz_vec rij,
const   glotz_flt 
) [inline, virtual]

Implements glotzmd::Potential.

template<int TABLE_SIZE>
void glotzmd::LinearInterpPotential< TABLE_SIZE >::ComputeShiftedForce ( InteractingObject * const  obj1,
InteractingObject * const  obj2,
const glotz_vec rij,
const   glotz_flt,
const   glotz_flt 
) [inline, virtual]

Implements glotzmd::Potential.

template<int TABLE_SIZE>
glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::GetCutoff (  )  const [inline, 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.

template<int TABLE_SIZE>
glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::GetOverlapCutoff (  )  const [inline, 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.


Member Data Documentation

template<int TABLE_SIZE>
Potential* glotzmd::LinearInterpPotential< TABLE_SIZE >::mPotential [private]

template<int TABLE_SIZE>
const glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::mCutoff [private]

template<int TABLE_SIZE>
const glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::mCutoffSq [private]

template<int TABLE_SIZE>
const glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::mOverlapCutoff [private]

template<int TABLE_SIZE>
const glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::mRange [private]

template<int TABLE_SIZE>
const glotz_flt glotzmd::LinearInterpPotential< TABLE_SIZE >::mInverseStepSize [private]


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