#include <canonicalMD.h>
Classes |
|
struct | AuxFactors |
Helper class containing auxiliary
factors. More... |
|
Public Member Functions |
|
Constructors and Destructor
|
|
CanonicalMD () | |
CanonicalMD (ForceField &myforcefield) | |
This constructor expects a force
field . |
|
CanonicalMD (ForceField &force_field, SnapShotManager *ssm) | |
This constructor expects a force
field and a snapshot manager. |
|
CanonicalMD (ForceField &myforcefield, SnapShotManager *ssm, const Options &options) | |
This constructor wants a force
field, a snapshot manager and new options. |
|
CanonicalMD (const CanonicalMD &rhs) | |
Copy constructor. |
|
virtual | ~CanonicalMD () |
Destructor. |
|
Assignment
|
|
CanonicalMD & | operator= (const CanonicalMD &rhs) |
Assignment operator. |
|
Setup methods
|
|
virtual bool | setup (ForceField &force_field, SnapShotManager *ssm=0) |
This method does general setup
things. |
|
virtual bool | setup (ForceField &force_field, SnapShotManager *ssm, const Options &options) |
This method does general setup
things. |
|
virtual bool | specificSetup () |
This method is meant for additional
preparations apart from those done in setup. |
|
Accessors
|
|
void | setBathRelaxationTime (double time) |
This method sets a new relaxation
time for the coupling to an external heat bath. |
|
double | getBathRelaxationTime () const |
This method gets the current value
for heat bath coupling. |
|
virtual void | setTimeStep (double time) |
Set a new time step for the
numerical integration. |
|
virtual bool | simulateIterations (Size number, bool restart=false) |
This method does the actual
simulation stuff. |
|
Protected Member Functions |
|
Protected methods
|
|
void | calculateFactors_ () |
A protected method for calculating
some factors that are needed all the time. |
|
Protected Attributes |
|
Protected Attributes
|
|
double | bath_relaxation_time_ |
The coupling parameter to the heat
bath. |
|
std::vector< AuxFactors > | mass_factor_ |
This vector contains special
precomputed factors. |
A class for doing molecular dynamics simulations according to the principle of a canonical ensemble (NVT), i.e., the temperature is kept constant. This is achieved via the velocity rescaling proposed by Berendsen et al., J. Chem. Physics, 81:3684, 1984. Note that this approach does not give all properties of a true canonical system. In particular, the heat capacity cannot be calculated!
BALL::CanonicalMD::CanonicalMD | ( | ForceField & | myforcefield | ) |
This constructor expects a force field .
The force field's options are used and no saving of snapshots is done.
myforcefield | the forcefield we need for the simulation |
BALL::CanonicalMD::CanonicalMD | ( | ForceField & | force_field, | |
SnapShotManager * | ssm | |||
) |
This constructor expects a force field and a snapshot manager.
The force field's options are used.
myforcefield | the forcefield to use in the simulation | |
ssm | a pointer to the SnapShotManager which will be used to create trajectory files |
BALL::CanonicalMD::CanonicalMD | ( | ForceField & | myforcefield, | |
SnapShotManager * | ssm, | |||
const Options & | options | |||
) |
This constructor wants a force field, a snapshot manager and new options.
myforcefield | the forcefield which is to be used in the simulation | |
ssm | a pointer to the SnapShotManager used for creating trajectory files | |
myoptions | arbitrary options that are to be used by this instance instead of those defined therein |
double BALL::CanonicalMD::getBathRelaxationTime | ( | ) | const |
This method gets the current value for heat bath coupling.
void BALL::CanonicalMD::setBathRelaxationTime | ( | double | time | ) |
This method sets a new relaxation time for the coupling to an external heat bath.
The readjustment to the external bath is not done after every step in order to save compute time. Instead, it is coupled periodically after the time specified here has elapsed.
time | the time in ps |
virtual bool BALL::CanonicalMD::setup | ( | ForceField & | force_field, | |
SnapShotManager * | ssm, | |||
const Options & | options | |||
) | [virtual] |
This method does general setup things.
This method also allows the assignment of options for the setup.
Reimplemented from BALL::MolecularDynamics.
virtual bool BALL::CanonicalMD::setup | ( | ForceField & | force_field, | |
SnapShotManager * | ssm =
0 |
|||
) | [virtual] |
This method does general setup things.
ssm | if no snapshots during the simulations are required, leave this at the default (NULL pointer) | |
force_field | the forcefield, which has to be bound to a system |
Reimplemented from BALL::MolecularDynamics.
virtual bool BALL::CanonicalMD::simulateIterations | ( | Size | number, | |
bool | restart =
false |
|||
) | [virtual] |
This method does the actual simulation stuff.
It runs for the indicated number of iterations. If restart is true, the counting of iterations starts with the number of the last iteration in the previous run.
number | the number of iterations that have to be simulated | |
restart | flag for restarting the simulation |
Reimplemented from BALL::MolecularDynamics.
virtual bool BALL::CanonicalMD::specificSetup | ( | ) | [virtual] |
This method is meant for additional preparations apart from those done in setup.
Reimplemented from BALL::MolecularDynamics.