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::BSplineMOLLYIntegrator Class Reference

#include <BSplineMOLLYIntegrator.h>

Inheritance diagram for ProtoMol::BSplineMOLLYIntegrator:

ProtoMol::MOLLYIntegrator ProtoMol::MTSIntegrator ProtoMol::StandardIntegrator ProtoMol::Integrator ProtoMol::Makeable List of all members.

Public Member Functions

 BSplineMOLLYIntegrator ()
 BSplineMOLLYIntegrator (int cycles, const BSplineType &typeOfBSpline, Real mollyStepsize, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator)
virtual ~BSplineMOLLYIntegrator ()
virtual std::string getIdNoAlias () const
virtual void getParameters (std::vector< Parameter > &parameters) const
virtual unsigned int getParameterSize () const
virtual void initialize (GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies)

Static Public Attributes

const std::string keyword

Private Member Functions

virtual Vector3DBlockdoAveragingPositions ()
virtual void doMollification (Vector3DBlock *preprocessedPositions)
virtual void doUncache ()
virtual MTSIntegratordoMake (std::string &errMsg, const std::vector< Value > &values, ForceGroup *fg, StandardIntegrator *nextIntegrator) const
void calcMOLLYForcesHalfKickOneDrift ()
void calcMOLLYForcesOneKickOneDrift ()
void calculateMOLLYForcesBonded ()
void calculateMOLLYForcesHBonded ()
void setMyNumIterMOLLYStepsize ()
void updateXx ()
void updateB_Bx_Px_for1Kick ()
void updateB_Bx ()
void updateB_Bx_Px_for1stHalfKick ()
void calcHessiansBondsAnglesHBonds ()
void init ()

Private Attributes

bool myCached
ForceGroupmyMOLLYForcesBonded
ForceGroupmyMOLLYForcesHBonded
ForceGroupmyHBondForces
Vector3DBlockmyMOLLYPositions
Vector3DBlockmyMOLLYVelocities
Vector3DBlockmyMOLLYForces
ScalarStructuremyMOLLYEnergies
Vector3DBlockmyB
std::vector< ReducedHessAngle > * myAngleFilter
std::vector< ReducedHessAngle > * myPxAngle
std::vector< ReducedHessAngle > * myXxAngle
std::vector< ReducedHessAngle > * myBxAngle
BSplineType myTypeOfBSpline
Real myMOLLYStepsize
Real myMOLLYStepsizeP
Real myMOLLYStepsizeSquare
unsigned int myNumIter
bool myBond
bool myAngle
bool myCoulomb
bool myLennardJones
std::vector< AngleIndexmyAngleIndexes

Detailed Description

This integrator is developped using an approximation to the dynamics: let the heavy atoms always be fixed in their position such that we could use the reduced forms of Hessians. This is a physically and mathematically correct approximation.


Constructor & Destructor Documentation

ProtoMol::BSplineMOLLYIntegrator::BSplineMOLLYIntegrator  ) 
 

ProtoMol::BSplineMOLLYIntegrator::BSplineMOLLYIntegrator int  cycles,
const BSplineType typeOfBSpline,
Real  mollyStepsize,
ForceGroup overloadedForces,
StandardIntegrator nextIntegrator
 

ProtoMol::BSplineMOLLYIntegrator::~BSplineMOLLYIntegrator  )  [virtual]
 


Member Function Documentation

void ProtoMol::BSplineMOLLYIntegrator::calcHessiansBondsAnglesHBonds  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::calcMOLLYForcesHalfKickOneDrift  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::calcMOLLYForcesOneKickOneDrift  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::calculateMOLLYForcesBonded  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::calculateMOLLYForcesHBonded  )  [private]
 

Vector3DBlock * ProtoMol::BSplineMOLLYIntegrator::doAveragingPositions  )  [private, virtual]
 

Implements ProtoMol::MOLLYIntegrator.

MTSIntegrator * ProtoMol::BSplineMOLLYIntegrator::doMake std::string &  errMsg,
const std::vector< Value > &  values,
ForceGroup fg,
StandardIntegrator nextIntegrator
const [private, virtual]
 

Implements ProtoMol::MTSIntegrator.

void ProtoMol::BSplineMOLLYIntegrator::doMollification Vector3DBlock preprocessedPositions  )  [private, virtual]
 

Implements ProtoMol::MOLLYIntegrator.

void ProtoMol::BSplineMOLLYIntegrator::doUncache  )  [private, virtual]
 

Integrator specific details of uncache.

Reimplemented from ProtoMol::Integrator.

virtual std::string ProtoMol::BSplineMOLLYIntegrator::getIdNoAlias  )  const [inline, virtual]
 

Implements ProtoMol::Makeable.

void ProtoMol::BSplineMOLLYIntegrator::getParameters std::vector< Parameter > &  parameters  )  const [virtual]
 

retrieve all parameters

Reimplemented from ProtoMol::MTSIntegrator.

virtual unsigned int ProtoMol::BSplineMOLLYIntegrator::getParameterSize  )  const [inline, virtual]
 

number of parameters

Reimplemented from ProtoMol::MTSIntegrator.

void ProtoMol::BSplineMOLLYIntegrator::init  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::initialize GenericTopology topo,
Vector3DBlock positions,
Vector3DBlock velocities,
ScalarStructure energies
[virtual]
 

Set the integrator up. This method can be called at any time, and should perform any starting force evaluations the integrator needs in order to run correctly. The simulation data should be kept in the given structures.

Reimplemented from ProtoMol::MOLLYIntegrator.

void ProtoMol::BSplineMOLLYIntegrator::setMyNumIterMOLLYStepsize  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::updateB_Bx  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::updateB_Bx_Px_for1Kick  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::updateB_Bx_Px_for1stHalfKick  )  [private]
 

void ProtoMol::BSplineMOLLYIntegrator::updateXx  )  [private]
 


Member Data Documentation

const string ProtoMol::BSplineMOLLYIntegrator::keyword [static]
 

bool ProtoMol::BSplineMOLLYIntegrator::myAngle [private]
 

std::vector<ReducedHessAngle>* ProtoMol::BSplineMOLLYIntegrator::myAngleFilter [private]
 

std::vector<AngleIndex> ProtoMol::BSplineMOLLYIntegrator::myAngleIndexes [private]
 

Vector3DBlock* ProtoMol::BSplineMOLLYIntegrator::myB [private]
 

bool ProtoMol::BSplineMOLLYIntegrator::myBond [private]
 

std::vector<ReducedHessAngle>* ProtoMol::BSplineMOLLYIntegrator::myBxAngle [private]
 

bool ProtoMol::BSplineMOLLYIntegrator::myCached [private]
 

bool ProtoMol::BSplineMOLLYIntegrator::myCoulomb [private]
 

ForceGroup* ProtoMol::BSplineMOLLYIntegrator::myHBondForces [private]
 

bool ProtoMol::BSplineMOLLYIntegrator::myLennardJones [private]
 

ScalarStructure* ProtoMol::BSplineMOLLYIntegrator::myMOLLYEnergies [private]
 

Vector3DBlock* ProtoMol::BSplineMOLLYIntegrator::myMOLLYForces [private]
 

ForceGroup* ProtoMol::BSplineMOLLYIntegrator::myMOLLYForcesBonded [private]
 

ForceGroup* ProtoMol::BSplineMOLLYIntegrator::myMOLLYForcesHBonded [private]
 

Vector3DBlock* ProtoMol::BSplineMOLLYIntegrator::myMOLLYPositions [private]
 

Real ProtoMol::BSplineMOLLYIntegrator::myMOLLYStepsize [private]
 

Real ProtoMol::BSplineMOLLYIntegrator::myMOLLYStepsizeP [private]
 

Real ProtoMol::BSplineMOLLYIntegrator::myMOLLYStepsizeSquare [private]
 

Vector3DBlock* ProtoMol::BSplineMOLLYIntegrator::myMOLLYVelocities [private]
 

unsigned int ProtoMol::BSplineMOLLYIntegrator::myNumIter [private]
 

std::vector<ReducedHessAngle>* ProtoMol::BSplineMOLLYIntegrator::myPxAngle [private]
 

BSplineType ProtoMol::BSplineMOLLYIntegrator::myTypeOfBSpline [private]
 

std::vector<ReducedHessAngle>* ProtoMol::BSplineMOLLYIntegrator::myXxAngle [private]
 


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