
#include <Atom.h>
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 |
|
|
|
|
|
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(...) ) |
|
|
Original order number of the atom, used to undo Heavy Atom Come First ordering |
|
|
The index of the next atom in this atom's cell list, or -1 if this atom is the last in its list. |
|
|
|
|
|
For iSG simulations. This difference between the mass and charge, respectively, of the atom's two identities. |
|
|
The size of the Group for Heavy Atom Come First ordering for hydrogen hvyAtom=0, else, hvyAtom = 1+#of attached hydrogens |
|
|
The ID# of the molecule to which this atom belongs.
|
|
|
this vector holds the bond IDs for those bonds made with this atom
|
|
|
For iSG simulations. The atom's charge for its old and new identities. Needed to correctly compute DeltaMu for intramolecular interactions. |
|
|
|
|
|
The charge of this atom, scaled by the square root of the Coulomb constant. |
|
|
The mass of this atom (can be modified, e.g., iSG).
|
|
|
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 |
|
|
The type number of the atom (an index into the array of atomTypes).
|