BALL::CanonicalMD Class Reference
[Molecular Dynamics Simulation]

#include <BALL/MOLMEC/MDSIMULATION/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)
 CanonicalMD (ForceField &force_field, SnapShotManager *ssm)
 CanonicalMD (ForceField &myforcefield, SnapShotManager *ssm, const Options &options)
 CanonicalMD (const CanonicalMD &rhs)
 Copy constructor.
virtual ~CanonicalMD ()
 Destructor.
Assignment

CanonicalMDoperator= (const CanonicalMD &rhs)
 Assignment operator.
Setup methods

virtual bool setup (ForceField &force_field, SnapShotManager *ssm=0)
virtual bool setup (ForceField &force_field, SnapShotManager *ssm, const Options &options)
virtual bool specificSetup ()
Accessors

void setBathRelaxationTime (double time)
double getBathRelaxationTime () const
virtual void setTimeStep (double time)
virtual bool simulateIterations (Size number, bool restart=false)

Protected Member Functions

Protected methods

void calculateFactors_ ()

Protected Attributes

Protected Attributes

double bath_relaxation_time_
 The coupling parameter to the heat bath.
std::vector< AuxFactorsmass_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.

Definition at line 30 of file canonicalMD.h.


Constructor & Destructor Documentation

BALL::CanonicalMD::CanonicalMD (  ) 
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
BALL::CanonicalMD::CanonicalMD ( const CanonicalMD rhs  ) 

Copy constructor.

virtual BALL::CanonicalMD::~CanonicalMD (  )  [virtual]

Destructor.


Member Function Documentation

void BALL::CanonicalMD::calculateFactors_ (  )  [protected]

A protected method for calculating some factors that are needed all the time.

double BALL::CanonicalMD::getBathRelaxationTime (  )  const

This method gets the current value for heat bath coupling.

Returns:
the bath relaxation time in ps
CanonicalMD& BALL::CanonicalMD::operator= ( const CanonicalMD rhs  ) 

Assignment operator.

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 void BALL::CanonicalMD::setTimeStep ( double  time  )  [virtual]

Set a new time step for the numerical integration.

Reimplemented from BALL::MolecularDynamics.

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.


Member Data Documentation

The coupling parameter to the heat bath.

Definition at line 160 of file canonicalMD.h.

std::vector<AuxFactors> BALL::CanonicalMD::mass_factor_ [protected]

This vector contains special precomputed factors.

Definition at line 163 of file canonicalMD.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3