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::Atom Struct Reference

#include <Atom.h>

List of all members.

Public Member Functions

 Atom ()

Public Attributes

int type
Real scaledCharge
Real scaledMass
int hvyAtom
int atomNum
int cellListNext
int molecule
std::vector< int > mybonds
Real deltaM
Real deltaQ
Real Qold
Real Qnew
int stageNumber
Real alphaLJ


Detailed Description

This class defines the information for one atom. It contains the type of the atom, its charge (scaled by a constant factor), and the next atom in this atom's cell list. All other pieces of atom information are either in the atom type or the coordinate vectors (for positions, velocities, and so on).


Constructor & Destructor Documentation

ProtoMol::Atom::Atom  )  [inline]
 


Member Data Documentation

Real ProtoMol::Atom::alphaLJ
 

For iSG simulations. Atoms which are dummy atoms in one particular identity but are real, interacting atoms in another identity require a positive, non-zero alpha parameter for the soft-core Lennard-Jones function used by iSGMD. Atoms which are real, interacting atoms in both identities of a transformation attempt need to have alphaLJ = 0 for the soft-core LJ function. I found that when transforming a water oxygen atom into an alcohol oxygen atom using the standard alphaLJ value of 0.5, the simulation was wildly unstable, but if I used alphaLJ = 0 only for the oxygen atom then the transformation proceeded smoothly. -- TIM 3/31/2005 (alphaLJ will be set prior to force calculations by ModifierISG::pickNewMolecule(...) )

int ProtoMol::Atom::atomNum
 

Original order number of the atom, used to undo Heavy Atom Come First ordering

int ProtoMol::Atom::cellListNext [mutable]
 

The index of the next atom in this atom's cell list, or -1 if this atom is the last in its list.

Real ProtoMol::Atom::deltaM
 

Real ProtoMol::Atom::deltaQ
 

For iSG simulations. This difference between the mass and charge, respectively, of the atom's two identities.

int ProtoMol::Atom::hvyAtom
 

The size of the Group for Heavy Atom Come First ordering for hydrogen hvyAtom=0, else, hvyAtom = 1+#of attached hydrogens

int ProtoMol::Atom::molecule
 

The ID# of the molecule to which this atom belongs.

std::vector< int > ProtoMol::Atom::mybonds
 

this vector holds the bond IDs for those bonds made with this atom

Real ProtoMol::Atom::Qnew
 

For iSG simulations. The atom's charge for its old and new identities. Needed to correctly compute DeltaMu for intramolecular interactions.

Real ProtoMol::Atom::Qold
 

Real ProtoMol::Atom::scaledCharge
 

The charge of this atom, scaled by the square root of the Coulomb constant.

Real ProtoMol::Atom::scaledMass
 

The mass of this atom (can be modified, e.g., iSG).

int ProtoMol::Atom::stageNumber
 

For iSG simulations. Molecule transformations can be broken into stages so that only small fragments of the whole molecule can be transformed at any time. This is critical to being able to transform a small molecule into a relatively large molecule. This variable is the number of the stage in which this atom will be transformed. For example, suppose I break a molecular transformation into 5 stages. If this atom's stageNumber = 3, that means that this atom will have its identity transformed only when 2 <= lambda <= 3. -- TIM

int ProtoMol::Atom::type
 

The type number of the atom (an index into the array of atomTypes).


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