ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction > Class Template Reference

#include <NonbondedFullEwaldSystemForce.h>

Inheritance diagram for ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >:

ProtoMol::SystemForce ProtoMol::NonbondedFullEwaldSystemForceBase ProtoMol::Force ProtoMol::Makeable List of all members.

Public Member Functions

 NonbondedFullEwaldSystemForce ()
 NonbondedFullEwaldSystemForce (Real alpha, Real accuracy, Real expansionFactor)
virtual ~NonbondedFullEwaldSystemForce ()
virtual void evaluate (const GenericTopology *, const Vector3DBlock *, Vector3DBlock *, ScalarStructure *)
virtual void parallelEvaluate (const GenericTopology *, const Vector3DBlock *, Vector3DBlock *, ScalarStructure *)
virtual unsigned int numberOfBlocks (const GenericTopology *, const Vector3DBlock *)
virtual std::string getKeyword () const
virtual void uncache ()
virtual std::string getIdNoAlias () const
virtual void getParameters (std::vector< Parameter > &parameters) const
virtual unsigned int getParameterSize () const

Private Types

typedef Topology< TBoundaryConditions,
TCellManager > 
RealTopologyType
typedef RealTopologyType::Enumerator EnumeratorType
typedef RealTopologyType::Enumerator::CellPair CellPairType

Private Member Functions

void initialize (const RealTopologyType *realTopo, const Vector3DBlock *positions)
void realTerm (const RealTopologyType *realTopo, const Vector3DBlock *positions, Vector3DBlock *forces, ScalarStructure *energies, Real &realEnergy, unsigned int n)
void reciprocalTerm (const RealTopologyType *realTopo, const Vector3DBlock *positions, Vector3DBlock *forces, ScalarStructure *energies, Real &reciprocalEnergy, unsigned int from, unsigned int to)
void correctionTerm (const RealTopologyType *realTopo, const Vector3DBlock *positions, Vector3DBlock *forces, ScalarStructure *energies, Real &intraMolecularEnergy, unsigned int from, unsigned int to)
void surfaceDipoleTerm (const RealTopologyType *realTopo, const Vector3DBlock *positions, Vector3DBlock *forces, ScalarStructure *energies, Real &surfaceDipoleEnergy)
virtual ForcedoMake (std::string &errMsg, std::vector< Value > values) const

Private Attributes

bool myCached
std::vector< Vector3DmyK
std::vector< RealmyKSquared
std::vector< TripleIntmyKInt
Real myExpansionFactor
Real myTRate
Real myAccuracy
Real myAlpha
bool myAlphaDefault
Real myAlphaSquared
Real myAlphaSquaredr
Real my2AlphaPI
Real myFac
Real myRc
Real myRcSquared
Real myKc
int myHmax
int myKmax
int myLmax
int myHKLmax
RealmySinCosA
RealmyLastSinCos
Vector3DmySinCos
Real myLX
Real myLY
Real myLZ
Real myLXr
Real myLYr
Real myLZr
Real myV
Real myVr
Vector3D myOrigin
Real myPointSelfEnergy
Real myChargedSystemEnergy
PeriodicBoundaryConditions boundaryConditions
TSwitchingFunction switchingFunction
EnumeratorType enumerator
std::vector< Vector3DmyLattice
unsigned int myOldAtomCount
int myOldHKLmax

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
class ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >


Member Typedef Documentation

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
typedef RealTopologyType::Enumerator::CellPair ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::CellPairType [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
typedef RealTopologyType::Enumerator ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::EnumeratorType [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
typedef Topology<TBoundaryConditions, TCellManager> ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::RealTopologyType [private]
 


Constructor & Destructor Documentation

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::NonbondedFullEwaldSystemForce  ) 
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::NonbondedFullEwaldSystemForce Real  alpha,
Real  accuracy,
Real  expansionFactor
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::~NonbondedFullEwaldSystemForce  )  [virtual]
 


Member Function Documentation

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::correctionTerm const RealTopologyType realTopo,
const Vector3DBlock positions,
Vector3DBlock forces,
ScalarStructure energies,
Real intraMolecularEnergy,
unsigned int  from,
unsigned int  to
[private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Force * ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::doMake std::string &  errMsg,
std::vector< Value values
const [private, virtual]
 

Implements ProtoMol::Force.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::evaluate const GenericTopology ,
const Vector3DBlock ,
Vector3DBlock ,
ScalarStructure
[virtual]
 

Implements ProtoMol::SystemForce.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
std::string ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::getIdNoAlias  )  const [virtual]
 

Implements ProtoMol::Makeable.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
virtual std::string ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::getKeyword  )  const [inline, virtual]
 

Implements ProtoMol::Force.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::getParameters std::vector< Parameter > &  parameters  )  const [virtual]
 

retrieve all parameters

Implements ProtoMol::Makeable.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
virtual unsigned int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::getParameterSize  )  const [inline, virtual]
 

number of parameters

Implements ProtoMol::Makeable.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::initialize const RealTopologyType realTopo,
const Vector3DBlock positions
[private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
unsigned int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::numberOfBlocks const GenericTopology ,
const Vector3DBlock
[virtual]
 

Reimplemented from ProtoMol::Force.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::parallelEvaluate const GenericTopology ,
const Vector3DBlock ,
Vector3DBlock ,
ScalarStructure
[virtual]
 

Reimplemented from ProtoMol::SystemForce.

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::realTerm const RealTopologyType realTopo,
const Vector3DBlock positions,
Vector3DBlock forces,
ScalarStructure energies,
Real realEnergy,
unsigned int  n
[private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::reciprocalTerm const RealTopologyType realTopo,
const Vector3DBlock positions,
Vector3DBlock forces,
ScalarStructure energies,
Real reciprocalEnergy,
unsigned int  from,
unsigned int  to
[private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::surfaceDipoleTerm const RealTopologyType realTopo,
const Vector3DBlock positions,
Vector3DBlock forces,
ScalarStructure energies,
Real surfaceDipoleEnergy
[private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
virtual void ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::uncache  )  [inline, virtual]
 

Reimplemented from ProtoMol::Force.


Member Data Documentation

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
PeriodicBoundaryConditions ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::boundaryConditions [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
EnumeratorType ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::enumerator [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::my2AlphaPI [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myAccuracy [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myAlpha [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
bool ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myAlphaDefault [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myAlphaSquared [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myAlphaSquaredr [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
bool ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myCached [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myChargedSystemEnergy [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myExpansionFactor [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myFac [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myHKLmax [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myHmax [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
std::vector<Vector3D> ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myK [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myKc [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
std::vector<TripleInt> ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myKInt [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myKmax [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
std::vector<Real> ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myKSquared [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real* ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLastSinCos [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
std::vector<Vector3D> ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLattice [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLmax [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLX [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLXr [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLY [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLYr [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLZ [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myLZr [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
unsigned int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myOldAtomCount [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
int ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myOldHKLmax [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Vector3D ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myOrigin [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myPointSelfEnergy [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myRc [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myRcSquared [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Vector3D* ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::mySinCos [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real* ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::mySinCosA [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myTRate [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myV [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
Real ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::myVr [private]
 

template<class TBoundaryConditions, class TCellManager, bool real, bool reciprocal, bool correction, class TSwitchingFunction>
TSwitchingFunction ProtoMol::NonbondedFullEwaldSystemForce< TBoundaryConditions, TCellManager, real, reciprocal, correction, TSwitchingFunction >::switchingFunction [private]
 


The documentation for this class was generated from the following file: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.