BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Protected Member Functions | Protected Attributes | List of all members
BALL::MolecularDynamics Class Reference

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

Inheritance diagram for BALL::MolecularDynamics:
BALL::CanonicalMD BALL::MicroCanonicalMD

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_. More...
 
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 force_field,
SnapShotManager snapshot_man 
)
virtual

Set up the molecular dynamics

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.

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

bool BALL::MolecularDynamics::abort_by_energy_enabled_
protected

Definition at line 422 of file molecularDynamics.h.

float BALL::MolecularDynamics::abort_energy_
protected

Definition at line 425 of file molecularDynamics.h.

AtomVector BALL::MolecularDynamics::atom_vector_
protected

Definition at line 374 of file molecularDynamics.h.

double BALL::MolecularDynamics::current_temperature_
protected

Definition at line 395 of file molecularDynamics.h.

double BALL::MolecularDynamics::current_time_
protected

Definition at line 407 of file molecularDynamics.h.

Size BALL::MolecularDynamics::energy_output_frequency_
protected

Definition at line 411 of file molecularDynamics.h.

ForceField* BALL::MolecularDynamics::force_field_ptr_
protected

Definition at line 366 of file molecularDynamics.h.

double BALL::MolecularDynamics::kinetic_energy_
protected

Definition at line 399 of file molecularDynamics.h.

Size BALL::MolecularDynamics::maximal_number_of_iterations_
protected

Definition at line 383 of file molecularDynamics.h.

Size BALL::MolecularDynamics::number_of_iteration_
protected

Definition at line 378 of file molecularDynamics.h.

Options BALL::MolecularDynamics::options

The options for this class

Definition at line 340 of file molecularDynamics.h.

double BALL::MolecularDynamics::reference_temperature_
protected

Definition at line 391 of file molecularDynamics.h.

Size BALL::MolecularDynamics::snapshot_frequency_
protected

Definition at line 415 of file molecularDynamics.h.

SnapShotManager* BALL::MolecularDynamics::snapshot_manager_ptr_
protected

Definition at line 419 of file molecularDynamics.h.

System* BALL::MolecularDynamics::system_ptr_
protected

Definition at line 370 of file molecularDynamics.h.

double BALL::MolecularDynamics::time_step_
protected

Definition at line 387 of file molecularDynamics.h.

double BALL::MolecularDynamics::total_energy_
protected

Definition at line 403 of file molecularDynamics.h.

bool BALL::MolecularDynamics::valid_
protected

Definition at line 362 of file molecularDynamics.h.