BALL::PeriodicBoundary Class Reference
[General Force Field Classes.]

#include <BALL/MOLMEC/COMMON/periodicBoundary.h>

List of all members.

Classes

struct  Default
 Default values. More...
struct  Option

Public Types

Type definitions

typedef std::pair< Size, Size > AtomIndexPair
typedef std::vector
< AtomIndexPair > 
AtomIndexArray

Public Member Functions

Constructors and Destructors

 PeriodicBoundary ()
 PeriodicBoundary (const ForceField &force_field)
 PeriodicBoundary (const PeriodicBoundary &periodic_boundary)
virtual ~PeriodicBoundary ()
Assignment

PeriodicBoundary & operator= (const PeriodicBoundary &periodic_boundary)
virtual void clear ()
Setup Methods

bool setup ()
Size generateMoleculesVector ()
Accessors

void enable ()
 Enable periodic boundary conditions.
void disable ()
 Disable periodic boundary conditions.
SimpleBox3 getBox () const
void setBox (const SimpleBox3 &box)
Size addSolvent (const String &filename) const
Size removeSolvent () const
Predicates

bool isEnabled () const
Periodic boundary methods

void updateMolecules ()

Public Attributes

Variables

Options * options

Private Attributes

ForceField * force_field_
bool enabled_
SimpleBox3 box_
AtomIndexArray molecules_

Detailed Description

Periodic boundary class for force field simulations. Molecular Mechanics: class representing periodic boundary conditions.


Member Typedef Documentation


Constructor & Destructor Documentation

BALL::PeriodicBoundary::PeriodicBoundary (  ) 

Default constructor.

BALL::PeriodicBoundary::PeriodicBoundary ( const ForceField &  force_field  ) 

Constructor.

BALL::PeriodicBoundary::PeriodicBoundary ( const PeriodicBoundary &  periodic_boundary  ) 

Copy constructor

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

Destructor.


Member Function Documentation

Size BALL::PeriodicBoundary::addSolvent ( const String &  filename  )  const

Fill the defined box with a solvent. This method fills the defined box with solvent molecules. If no box is defined, no solvent is added. The neccessary solvent box template is either taken from the options (solvent_file) or a default is assumed.

This method replicates the solvent box starting at the box origin in all three dimensions and removes all solvent molecules that are within solvent_distance of a solute molecule or outside the periodic box.
The method returns the number of inserted solvent molecules. All solvent molecules are marked as such by setting their property Molecule::PROPERTY__PERIODIC_BOX_SOLVENT .
See also:
removeSolvent
virtual void BALL::PeriodicBoundary::clear (  )  [virtual]

Clear method

void BALL::PeriodicBoundary::disable (  ) 

Disable periodic boundary conditions.

void BALL::PeriodicBoundary::enable (  ) 

Enable periodic boundary conditions.

Size BALL::PeriodicBoundary::generateMoleculesVector (  ) 

Generate the vector of molecules of the system

SimpleBox3 BALL::PeriodicBoundary::getBox (  )  const

Retrieve the box dimensions.

bool BALL::PeriodicBoundary::isEnabled (  )  const

Returns true if the periodic boundary is enabled

See also:
enable
disable
PeriodicBoundary& BALL::PeriodicBoundary::operator= ( const PeriodicBoundary &  periodic_boundary  ) 

Assignment operator.

Size BALL::PeriodicBoundary::removeSolvent (  )  const

Removes all solvent molecules This method removes all molecules that have the property Molecule::PROPERTY__PERIODIC_BOX_SOLVENT set from the force field's system. The number of removed solvent molecules is returned.

See also:
addSolvent
void BALL::PeriodicBoundary::setBox ( const SimpleBox3 &  box  ) 

Set the box dimensions. The box dimensions are additionally stored in options using keys lower and upper .

bool BALL::PeriodicBoundary::setup (  ) 

Sets up the periodic box

void BALL::PeriodicBoundary::updateMolecules (  ) 

Checks which molecules are inside the box. If the center of mass of a molecule leaves the box, it is inserted on the other side.


Member Data Documentation

Periodic Boundary options. This is usually a pointer to the options of the force field the PeriodicBoundary object is contained in.