BALL::MolecularDynamics Class Reference
[Molecular Dynamics Simulation]

#include <BALL/MOLMEC/MDSIMULATION/molecularDynamics.h>

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

List of all members.

Classes

struct  Default
struct  Option

Public Member Functions

Constructors and Destructors

 MolecularDynamics ()
 MolecularDynamics (ForceField &force_field)
 MolecularDynamics (const MolecularDynamics &rhs)
virtual ~MolecularDynamics ()
Assignments

const MolecularDynamicsoperator= (const MolecularDynamics &rhs)
void set (const MolecularDynamics &rhs)
Debugging and Diagnostics

bool isValid () const
Setup methods

virtual bool setup (ForceField &force_field, SnapShotManager *snapshot_man)
virtual bool setup (ForceField &forcefield, SnapShotManager *snapshot_man, const Options &myoptions)
virtual bool specificSetup ()
Accessors

void setNumberOfIteration (Size number)
void setMaximalNumberOfIterations (Size number)
void setMaximalSimulationTime (double time)
virtual void setTimeStep (double step)
void setReferenceTemperature (double temperature)
void setCurrentTime (double time)
void setEnergyOutputFrequency (Size number)
void setSnapShotFrequency (Size number)
Size getEnergyOutputFrequency () const
Size getNumberOfIterations () const
Size getMaximalNumberOfIterations () const
double getMaximalSimulationTime () const
double getTimeStep () const
Size getSnapShotFrequency () const
double getTemperature () const
double getTime () const
double getTotalEnergy () const
double getPotentialEnergy () const
double getKineticEnergy () const
ForceFieldgetForceField () const
bool simulate (bool restart=false)
bool simulateTime (double simulation_time, bool restart=false)
virtual bool simulateIterations (Size number, bool restart=false)
void enableEnergyAbortCondition (bool state)
bool energyAbortConditionEnabled () const
 Query if the MDSimulation aborts if the Energy is greater than abort_energy_.
void setEnergyToAbort (float value)
float getEnergyToAbort () const

Public Attributes

Public Attributes

Options options

Protected Member Functions

void updateInstantaneousTemperature ()

Protected Attributes

bool valid_
ForceFieldforce_field_ptr_
Systemsystem_ptr_
AtomVector atom_vector_
Size number_of_iteration_
Size maximal_number_of_iterations_
double time_step_
double reference_temperature_
double current_temperature_
double kinetic_energy_
double total_energy_
double current_time_
Size energy_output_frequency_
Size snapshot_frequency_
SnapShotManagersnapshot_manager_ptr_
bool abort_by_energy_enabled_
float abort_energy_

Detailed Description

Molecular Dynamics base class. This class is the base class for classical molecular dynamics simulations. Actual MD classes are derived from this class and then implement the actual simulation classes for the different ensembles or methods.

Definition at line 42 of file molecularDynamics.h.


Constructor & Destructor Documentation

BALL::MolecularDynamics::MolecularDynamics (  ) 

Default constructor.

BALL::MolecularDynamics::MolecularDynamics ( ForceField force_field  ) 

Constructor. It expects the forcefield

BALL::MolecularDynamics::MolecularDynamics ( const MolecularDynamics rhs  ) 

Copy constructor

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

Destructor.


Member Function Documentation

void BALL::MolecularDynamics::enableEnergyAbortCondition ( bool  state  ) 

Specify if the MDSimulation aborts if the Energy is greater than abort_energy_

bool BALL::MolecularDynamics::energyAbortConditionEnabled (  )  const

Query if the MDSimulation aborts if the Energy is greater than abort_energy_.

Size BALL::MolecularDynamics::getEnergyOutputFrequency (  )  const

Get the energy output frequency

float BALL::MolecularDynamics::getEnergyToAbort (  )  const

Query the energy to abort the simulation. The default value is 10^8.

ForceField* BALL::MolecularDynamics::getForceField (  )  const

Get the force field the MD simulation is bound to

double BALL::MolecularDynamics::getKineticEnergy (  )  const

Get the current kinetic energy of the system

Size BALL::MolecularDynamics::getMaximalNumberOfIterations (  )  const

Get the maximal number of iterations of the MD simulation

double BALL::MolecularDynamics::getMaximalSimulationTime (  )  const

Get the maximal simulation time of the MD simulation

Size BALL::MolecularDynamics::getNumberOfIterations (  )  const

Get the current iteration of the MD simulation

double BALL::MolecularDynamics::getPotentialEnergy (  )  const

Get the current potential energy of the system

Size BALL::MolecularDynamics::getSnapShotFrequency (  )  const

Get the snapshot frequency

double BALL::MolecularDynamics::getTemperature (  )  const

Get the current temperature of the system

double BALL::MolecularDynamics::getTime (  )  const

Get the current time of the MD simulation

double BALL::MolecularDynamics::getTimeStep (  )  const

Get the current time step

double BALL::MolecularDynamics::getTotalEnergy (  )  const

Get the current total energy of the system

bool BALL::MolecularDynamics::isValid (  )  const

Has the molecular dynamics class been successfully set up?

const MolecularDynamics& BALL::MolecularDynamics::operator= ( const MolecularDynamics rhs  ) 

Assignment operator

void BALL::MolecularDynamics::set ( const MolecularDynamics rhs  ) 

Assign a molecular dynamics objects.

void BALL::MolecularDynamics::setCurrentTime ( double  time  ) 

Set the current time of the MD run in picoseconds

void BALL::MolecularDynamics::setEnergyOutputFrequency ( Size  number  ) 

Set the energy output frequency. The current energies during the simulation will be printed every number steps.

void BALL::MolecularDynamics::setEnergyToAbort ( float  value  ) 

Specify the energy to abort the simulation. The default value is 10^8.

void BALL::MolecularDynamics::setMaximalNumberOfIterations ( Size  number  ) 

Set the maximal number of iterations that will be carried out. If the number of the start iteration is 0 (which is the default), this method sets the total number of simulated iterations.

void BALL::MolecularDynamics::setMaximalSimulationTime ( double  time  ) 

Set the maximal simulation time in ps that will be carried out. If the start time is zero(which is the default), then this method sets the total simulation time.

void BALL::MolecularDynamics::setNumberOfIteration ( Size  number  ) 

Set the number of the current iteration

void BALL::MolecularDynamics::setReferenceTemperature ( double  temperature  ) 

Set the reference temperature for the system. In isothermal ensembles, this is the simulation temperature set set by the thermostat.

void BALL::MolecularDynamics::setSnapShotFrequency ( Size  number  ) 

Set the snapshot frequency

virtual void BALL::MolecularDynamics::setTimeStep ( double  step  )  [virtual]

Set the time step in ps. Note that this will change the maximum simulation time.

Reimplemented in BALL::CanonicalMD, and BALL::MicroCanonicalMD.

virtual bool BALL::MolecularDynamics::setup ( ForceField forcefield,
SnapShotManager snapshot_man,
const Options myoptions 
) [virtual]

Set up the molecular dynamics

Reimplemented in BALL::CanonicalMD, and BALL::MicroCanonicalMD.

virtual bool BALL::MolecularDynamics::setup ( ForceField force_field,
SnapShotManager snapshot_man 
) [virtual]

Set up the molecular dynamics

Reimplemented in BALL::CanonicalMD, and BALL::MicroCanonicalMD.

bool BALL::MolecularDynamics::simulate ( bool  restart = false  ) 

Start the molecular dynamics simulation. This method calls simulateIterations with the maximum number of iterations.

See also:
setMaximumNumberOfIterations
Returns:
false if an error occured, e.g. the energy was too high
virtual bool BALL::MolecularDynamics::simulateIterations ( Size  number,
bool  restart = false 
) [virtual]

Start the molecular dynamics simulation and carry out the given number of iterations. This is the proper simulation method, which is implemented in the derived classes only. The implementation provided by MolecularDynamics is simply empty.

Returns:
false if an error occured, e.g. the energy was too high

Reimplemented in BALL::CanonicalMD, and BALL::MicroCanonicalMD.

bool BALL::MolecularDynamics::simulateTime ( double  simulation_time,
bool  restart = false 
)

Simulate a given time interval. This method determines the number of steps necessary to simulate a given time interval and executes a simulation for that interval by calling simulateIterations .

Returns:
false if an error occured, e.g. the energy was too high
virtual bool BALL::MolecularDynamics::specificSetup (  )  [virtual]

Specific setup; derived class can use this method for additional preparations if necessary

Reimplemented in BALL::CanonicalMD, and BALL::MicroCanonicalMD.

void BALL::MolecularDynamics::updateInstantaneousTemperature (  )  [protected]

Member Data Documentation

Definition at line 422 of file molecularDynamics.h.

Definition at line 425 of file molecularDynamics.h.

Definition at line 374 of file molecularDynamics.h.

Definition at line 395 of file molecularDynamics.h.

Definition at line 407 of file molecularDynamics.h.

Definition at line 411 of file molecularDynamics.h.

Definition at line 366 of file molecularDynamics.h.

Definition at line 399 of file molecularDynamics.h.

Definition at line 383 of file molecularDynamics.h.

Definition at line 378 of file molecularDynamics.h.

The options for this class

Definition at line 340 of file molecularDynamics.h.

Definition at line 391 of file molecularDynamics.h.

Definition at line 415 of file molecularDynamics.h.

Definition at line 419 of file molecularDynamics.h.

Definition at line 370 of file molecularDynamics.h.

Definition at line 387 of file molecularDynamics.h.

Definition at line 403 of file molecularDynamics.h.

Definition at line 362 of file molecularDynamics.h.

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