
#include <MCIntegrator.h>
Inheritance diagram for ProtoMol::MCIntegrator:

Public Member Functions | |
| MCIntegrator () | |
| MCIntegrator (int cycles, bool randomCycLen, Real initialTemperature, ForceGroup *overloadedForces, StandardIntegrator *nextIntegrator) | |
| virtual | ~MCIntegrator () |
| virtual void | getParameters (std::vector< Parameter > ¶meters) const |
| virtual void | initialize (GenericTopology *topo, Vector3DBlock *positions, Vector3DBlock *velocities, ScalarStructure *energies) |
| virtual void | run (int numTimesteps) |
| Real | getInitialTemperature () const |
Protected Member Functions | |
| virtual void | walk (int steps) |
| virtual bool | metropolisTest () |
| bool | metropolisTest (Real newEnergy, Real oldEnergy) |
| virtual void | perturbSystem ()=0 |
| virtual void | saveValues ()=0 |
| virtual void | restoreValues ()=0 |
Protected Attributes | |
| const bool | myRandomCycLen |
| Real | myTime |
| Vector3DBlock * | myOldPositions |
| Vector3DBlock * | myOldVelocities |
| ScalarStructure * | myOldEnergies |
Private Attributes | |
| Real | myInitialTemperature |
| Real | myOldKineticEnergy |
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
retrieve all parameters
Reimplemented from ProtoMol::MTSIntegrator. Reimplemented in ProtoMol::ShadowHMCIntegrator. |
|
||||||||||||||||||||
|
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::MTSIntegrator. Reimplemented in ProtoMol::DLMCIntegrator, ProtoMol::HMCIntegrator, and ProtoMol::ShadowHMCIntegrator. |
|
||||||||||||
|
Implementation of the metropolis test.
|
|
|
Metropolis test interface which calls metropolisTest with arguments.
|
|
|
Each class must implement its own system perturbation method.
Implemented in ProtoMol::DLMCIntegrator, ProtoMol::HMCIntegrator, and ProtoMol::ShadowHMCIntegrator. |
|
|
Implemented in ProtoMol::DLMCIntegrator, ProtoMol::HMCIntegrator, and ProtoMol::ShadowHMCIntegrator. |
|
|
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. Reimplemented in ProtoMol::ShadowHMCIntegrator. |
|
|
Save/restore state implementations (default pos, vel & energies).
Implemented in ProtoMol::DLMCIntegrator, ProtoMol::HMCIntegrator, and ProtoMol::ShadowHMCIntegrator. |
|
|
Implements the MC algorithm.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There is some evidence that random cycle lengths reduce correlations between steps. Ref: Mackenzie 1989, "An Improved Hybrid Monte Carlo Method". Off by default. XXX May not display time correctly. |
|
|
|