BALL::CanonicalMD Class Reference
[Molecular Dynamics Simulation]

A MD simulation in the canoncial ensemble. More...

#include <canonicalMD.h>

Inheritance diagram for BALL::CanonicalMD:
Inheritance graph
[legend]

List of all members.


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.

Detailed Description

A MD simulation in the canoncial ensemble.

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!

The temperature is set through the MDSimulation::setReferenceTemperature method.

Constructor & Destructor Documentation

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.

Parameters:
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.

Parameters:
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.

Parameters:
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

Member Function Documentation

double BALL::CanonicalMD::getBathRelaxationTime ( ) const

This method gets the current value for heat bath coupling.

Returns:
the bath relaxation time in ps

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Returns:
bool, true if specificSetup() was successful

Reimplemented from BALL::MolecularDynamics.


Generated on Thu Aug 6 18:30:37 2009 for BALL by doxygen 1.5.8