ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::ForceGroup Class Reference

#include <ForceGroup.h>

List of all members.

Public Member Functions

 ForceGroup ()
 ~ForceGroup ()
void evaluateSystemForces (GenericTopology *topo, const Vector3DBlock *positions, Vector3DBlock *forces, ScalarStructure *energies) const
void evaluateExtendedForces (GenericTopology *topo, const Vector3DBlock *positions, const Vector3DBlock *velocities, Vector3DBlock *forces, ScalarStructure *energies) const
void evaluateMollyForces (GenericTopology *topo, const Vector3DBlock *positions, std::vector< ReducedHessAngle > *angleFilter) const
bool anyForces (void) const
bool anySystemForces (void) const
bool anyExtendedForces (void) const
bool anyMollyForces (void) const
bool anyMetaForces (void) const
void addSystemForce (SystemForce *force)
void addExtendedForce (ExtendedForce *force)
void addMollyForce (MollyForce *force)
std::vector< Force * > getForces () const
std::vector< Force * > getDeepMetaForces () const
void addMetaForce (MetaForce *force)
void addForce (Force *force)
void getDefinition (std::vector< MakeableDefinition > &forces) const
void uncache ()

Private Attributes

std::list< SystemForce * > mySystemForcesList
std::list< ExtendedForce * > myExtendedForcesList
std::list< MollyForce * > myMollyForcesList
std::list< MetaForce * > myMetaForcesList


Constructor & Destructor Documentation

ProtoMol::ForceGroup::ForceGroup  ) 
 

ProtoMol::ForceGroup::~ForceGroup  ) 
 


Member Function Documentation

void ProtoMol::ForceGroup::addExtendedForce ExtendedForce force  ) 
 

Add a new extended force to this group.

void ProtoMol::ForceGroup::addForce Force force  ) 
 

Add a new force, just cast it and add it to the correct list if non-zero ...

void ProtoMol::ForceGroup::addMetaForce MetaForce force  ) 
 

Add a new meta force to this group.

void ProtoMol::ForceGroup::addMollyForce MollyForce force  ) 
 

Add a new MOLLY force to this group.

void ProtoMol::ForceGroup::addSystemForce SystemForce force  ) 
 

Add a new system force to this group.

bool ProtoMol::ForceGroup::anyExtendedForces void   )  const [inline]
 

Determine if there are any extended forces in this group.

bool ProtoMol::ForceGroup::anyForces void   )  const [inline]
 

Determine if there are any forces in this group.

bool ProtoMol::ForceGroup::anyMetaForces void   )  const [inline]
 

Determine if there are any meta forces in this group.

bool ProtoMol::ForceGroup::anyMollyForces void   )  const [inline]
 

Determine if there are any MOLLY forces in this group.

bool ProtoMol::ForceGroup::anySystemForces void   )  const [inline]
 

Determine if there are any system forces in this group.

void ProtoMol::ForceGroup::evaluateExtendedForces GenericTopology topo,
const Vector3DBlock positions,
const Vector3DBlock velocities,
Vector3DBlock forces,
ScalarStructure energies
const
 

Evaluate all extended forces in this group.

void ProtoMol::ForceGroup::evaluateMollyForces GenericTopology topo,
const Vector3DBlock positions,
std::vector< ReducedHessAngle > *  angleFilter
const
 

void ProtoMol::ForceGroup::evaluateSystemForces GenericTopology topo,
const Vector3DBlock positions,
Vector3DBlock forces,
ScalarStructure energies
const
 

Evaluate all system forces in this group.

vector< Force * > ProtoMol::ForceGroup::getDeepMetaForces  )  const
 

Retrieve all forces stored in meta forces.

void ProtoMol::ForceGroup::getDefinition std::vector< MakeableDefinition > &  forces  )  const
 

vector< Force * > ProtoMol::ForceGroup::getForces  )  const
 

Retrieve all forces.

void ProtoMol::ForceGroup::uncache  ) 
 


Member Data Documentation

std::list<ExtendedForce*> ProtoMol::ForceGroup::myExtendedForcesList [private]
 

std::list<MetaForce*> ProtoMol::ForceGroup::myMetaForcesList [private]
 

std::list<MollyForce*> ProtoMol::ForceGroup::myMollyForcesList [private]
 

std::list<SystemForce*> ProtoMol::ForceGroup::mySystemForcesList [private]
 


The documentation for this class was generated from the following files: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.