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::MicroCanonicalMD Class Reference

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

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

Classes

struct  AuxFactors
 

Public Member Functions

Constructors and Destructors.
 MicroCanonicalMD ()
 
 MicroCanonicalMD (ForceField &myforcefield)
 
 MicroCanonicalMD (ForceField &myforcefield, SnapShotManager *ssm)
 
 MicroCanonicalMD (ForceField &myforcefield, SnapShotManager *ssm, const Options &myoptions)
 
 MicroCanonicalMD (const MicroCanonicalMD &rhs)
 Copy constructor. More...
 
virtual ~MicroCanonicalMD ()
 The destructor. More...
 
Assignment
MicroCanonicalMDoperator= (const MicroCanonicalMD &rhs)
 Assignment operator. More...
 
Setup methods.
virtual bool setup (ForceField &myforcefield, SnapShotManager *ssm)
 
virtual bool setup (ForceField &myforcefield, SnapShotManager *ssm, const Options &myoptions)
 
virtual bool specificSetup ()
 
Accessors
virtual void setTimeStep (double step)
 
virtual bool simulateIterations (Size number, bool restart=false)
 
- Public Member Functions inherited from BALL::MolecularDynamics
 MolecularDynamics ()
 
 MolecularDynamics (ForceField &force_field)
 
 MolecularDynamics (const MolecularDynamics &rhs)
 
virtual ~MolecularDynamics ()
 
const MolecularDynamicsoperator= (const MolecularDynamics &rhs)
 
void set (const MolecularDynamics &rhs)
 
bool isValid () const
 
void setNumberOfIteration (Size number)
 
void setMaximalNumberOfIterations (Size number)
 
void setMaximalSimulationTime (double time)
 
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)
 
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
 

Protected Member Functions

void calculateFactors ()
 
- Protected Member Functions inherited from BALL::MolecularDynamics
void updateInstantaneousTemperature ()
 

Protected Attributes

vector< AuxFactorsmass_factor_
 
- Protected Attributes inherited from BALL::MolecularDynamics
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_
 

Additional Inherited Members

- Public Attributes inherited from BALL::MolecularDynamics
Options options
 

Detailed Description

Microcanonical MD: A class for doing molecular dynamics simulations according to the principle of a microcanonical ensemble (NVE), i.e., the total energy of the system is kept constant. Numerical integration for new atom positions is done via the Velocity Verlet method.

Definition at line 24 of file microCanonicalMD.h.

Constructor & Destructor Documentation

BALL::MicroCanonicalMD::MicroCanonicalMD ( )

The default constructor with no arguments.

BALL::MicroCanonicalMD::MicroCanonicalMD ( ForceField myforcefield)

This constructor expects a force field. The force field's options are used and no snapshots are taken.

BALL::MicroCanonicalMD::MicroCanonicalMD ( ForceField myforcefield,
SnapShotManager ssm 
)

This constructor expects a force field and a snapshot-manager. The force field's options are used.

BALL::MicroCanonicalMD::MicroCanonicalMD ( ForceField myforcefield,
SnapShotManager ssm,
const Options myoptions 
)

This constructor wants a force field, a snapshot manager and new options.

BALL::MicroCanonicalMD::MicroCanonicalMD ( const MicroCanonicalMD rhs)

Copy constructor.

virtual BALL::MicroCanonicalMD::~MicroCanonicalMD ( )
virtual

The destructor.

Member Function Documentation

void BALL::MicroCanonicalMD::calculateFactors ( )
protected
MicroCanonicalMD& BALL::MicroCanonicalMD::operator= ( const MicroCanonicalMD rhs)

Assignment operator.

virtual void BALL::MicroCanonicalMD::setTimeStep ( double  step)
virtual

Choose a new time step

Reimplemented from BALL::MolecularDynamics.

virtual bool BALL::MicroCanonicalMD::setup ( ForceField myforcefield,
SnapShotManager ssm 
)
virtual

This method does general setup things.

Reimplemented from BALL::MolecularDynamics.

virtual bool BALL::MicroCanonicalMD::setup ( ForceField myforcefield,
SnapShotManager ssm,
const Options myoptions 
)
virtual

This method does general setup things.

Reimplemented from BALL::MolecularDynamics.

virtual bool BALL::MicroCanonicalMD::simulateIterations ( Size  number,
bool  restart = false 
)
virtual

This method does the actual simulation stuff. It runs for the indicated number of iterations. restart = true means that the counting of iterations is continued from the previous run.

Reimplemented from BALL::MolecularDynamics.

virtual bool BALL::MicroCanonicalMD::specificSetup ( )
virtual

This method is meant for additional preparations apart from those done in setup.

Reimplemented from BALL::MolecularDynamics.

Member Data Documentation

vector<AuxFactors> BALL::MicroCanonicalMD::mass_factor_
protected

Definition at line 131 of file microCanonicalMD.h.