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

#include <DMDLeapfrogIntegrator.h>

Inheritance diagram for ProtoMol::DMDLeapfrogIntegrator:

ProtoMol::STSIntegrator ProtoMol::StandardIntegrator ProtoMol::Integrator ProtoMol::Makeable List of all members.

Public Member Functions

 DMDLeapfrogIntegrator ()
 DMDLeapfrogIntegrator (Real timestep, int numIter, Real gamma, Real initialTemperature, int seed, ForceGroup *overloadedForces)
 ~DMDLeapfrogIntegrator ()
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)
virtual void run (int numTimesteps)

Static Public Attributes

const std::string keyword

Protected Member Functions

virtual void doHalfKick ()

Private Member Functions

void calculateDissipativeForces ()
void calculateDissipativeAndRandomForces ()
void doHalfKickVhat ()
void doHalfKickIterate ()
virtual STSIntegratordoMake (std::string &errMsg, const std::vector< Value > &values, ForceGroup *fg) const

Private Attributes

Vector3DBlockmyDissipativeForces
Vector3DBlockmyRandomForces
Vector3DBlockmyVhat
Real myDissipativeCutoff
Real myGamma
Real myTemperature
int myNumIter
Real mySigma
int mySeed

Detailed Description

For Dissipative MD, and it is self-consistent


Constructor & Destructor Documentation

ProtoMol::DMDLeapfrogIntegrator::DMDLeapfrogIntegrator  ) 
 

ProtoMol::DMDLeapfrogIntegrator::DMDLeapfrogIntegrator Real  timestep,
int  numIter,
Real  gamma,
Real  initialTemperature,
int  seed,
ForceGroup overloadedForces
 

Specify the the forces to evaluate. Also sigma, the noise level control parameter, a constant and numIter, the count of iterations to be made in the "self-consistency" loop. The desired temperature in Kelvin is used to get the drag coefficient, gamma. sigma^2 = 2 * gamma * BOLZMAN * Temperature. the gamma is passed in assuming unit of (ps^-1). Internally, it is used in the unit of (fs^-1), a factor of 0.001

ProtoMol::DMDLeapfrogIntegrator::~DMDLeapfrogIntegrator  ) 
 


Member Function Documentation

void ProtoMol::DMDLeapfrogIntegrator::calculateDissipativeAndRandomForces  )  [private]
 

void ProtoMol::DMDLeapfrogIntegrator::calculateDissipativeForces  )  [private]
 

void ProtoMol::DMDLeapfrogIntegrator::doHalfKick  )  [protected, virtual]
 

Reimplemented from ProtoMol::StandardIntegrator.

void ProtoMol::DMDLeapfrogIntegrator::doHalfKickIterate  )  [private]
 

void ProtoMol::DMDLeapfrogIntegrator::doHalfKickVhat  )  [private]
 

virtual STSIntegrator* ProtoMol::DMDLeapfrogIntegrator::doMake std::string &  errMsg,
const std::vector< Value > &  values,
ForceGroup fg
const [private, virtual]
 

Implements ProtoMol::STSIntegrator.

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

Implements ProtoMol::Makeable.

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

retrieve all parameters

Reimplemented from ProtoMol::STSIntegrator.

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

number of parameters

Implements ProtoMol::Makeable.

void ProtoMol::DMDLeapfrogIntegrator::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::STSIntegrator.

void ProtoMol::DMDLeapfrogIntegrator::run int  numTimesteps  )  [virtual]
 

Run the integrator for the certain number of timesteps. It can be assumed that the topology and forces have not changed since the last time the integrator was initialized.

Reimplemented from ProtoMol::StandardIntegrator.


Member Data Documentation

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

Real ProtoMol::DMDLeapfrogIntegrator::myDissipativeCutoff [private]
 

Vector3DBlock* ProtoMol::DMDLeapfrogIntegrator::myDissipativeForces [private]
 

Real ProtoMol::DMDLeapfrogIntegrator::myGamma [private]
 

int ProtoMol::DMDLeapfrogIntegrator::myNumIter [private]
 

Vector3DBlock* ProtoMol::DMDLeapfrogIntegrator::myRandomForces [private]
 

int ProtoMol::DMDLeapfrogIntegrator::mySeed [private]
 

Real ProtoMol::DMDLeapfrogIntegrator::mySigma [private]
 

Real ProtoMol::DMDLeapfrogIntegrator::myTemperature [private]
 

Vector3DBlock* ProtoMol::DMDLeapfrogIntegrator::myVhat [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.