Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

PeriodicBoundary Class Reference
[General Force Field Classes.]

Periodic boundary class for force field simulations. More...

#include <periodicBoundary.h>

List of all members.

Public Types

Type definitions
typedef std::pair< Size, SizeAtomIndexPair
typedef std::vector< AtomIndexPair > AtomIndexArray

Public Member Functions

Constructors and Destructors
 PeriodicBoundary ()
 Default constructor.
 PeriodicBoundary (const ForceField &force_field)
 Constructor.
 PeriodicBoundary (const PeriodicBoundary &periodic_boundary)
 Copy constructor.
virtual ~PeriodicBoundary ()
 Destructor.
Assignment
PeriodicBoundaryoperator= (const PeriodicBoundary &periodic_boundary)
 Assignment operator.
virtual void clear () throw ()
 Clear method.
Setup Methods
bool setup ()
 Sets up the periodic box.
Size generateMoleculesVector ()
 Generate the vector of molecules of the system.
Accessors
void enable ()
 Enable periodic boundary conditions.
void disable ()
 Disable periodic boundary conditions.
SimpleBox3 getBox () const
 Retrieve the box dimensions.
void setBox (const SimpleBox3 &box)
 Set the box dimensions.
Size addSolvent (const String &filename) const
 Fill the defined box with a solvent.
Size 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.
Predicates
bool isEnabled () const
 Returns true if the periodic boundary is enabled.
Periodic boundary methods
void updateMolecules ()
 Checks which molecules are inside the box.

Public Attributes

Variables
Optionsoptions
 Periodic Boundary options.


Detailed Description

Periodic boundary class for force field simulations.

Molecular Mechanics: class representing periodic boundary conditions.


Constructor & Destructor Documentation

PeriodicBoundary::PeriodicBoundary  ) 
 

Default constructor.

PeriodicBoundary::PeriodicBoundary const ForceField force_field  ) 
 

Constructor.

virtual PeriodicBoundary::~PeriodicBoundary  )  [virtual]
 

Destructor.


Member Function Documentation

Size 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

SimpleBox3 PeriodicBoundary::getBox  )  const
 

Retrieve the box dimensions.

bool PeriodicBoundary::isEnabled  )  const
 

Returns true if the periodic boundary is enabled.

See also:
enable

disable

PeriodicBoundary& PeriodicBoundary::operator= const PeriodicBoundary periodic_boundary  ) 
 

Assignment operator.

Size 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 PeriodicBoundary::setBox const SimpleBox3 box  ) 
 

Set the box dimensions.

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

void 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

Options* PeriodicBoundary::options
 

Periodic Boundary options.

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