--- branches/development/src/brains/SimInfo.hpp 2011/04/27 18:38:15 1549 +++ branches/development/src/brains/SimInfo.hpp 2011/05/26 13:55:04 1569 @@ -64,13 +64,9 @@ #include "utils/LocalIndexManager.hpp" #include "nonbonded/SwitchingFunction.hpp" -//another nonsense macro declaration -#define __OPENMD_C -#include "brains/fSimulation.h" - using namespace std; namespace OpenMD{ - //forward decalration + //forward declaration class SnapshotManager; class Molecule; class SelectionManager; @@ -302,9 +298,9 @@ namespace OpenMD{ void update(); /** - * Setup Fortran Simulation + * Do final bookkeeping before Force managers need their data. */ - void setupFortran(); + void prepareTopology(); /** Returns the local index manager */ @@ -355,6 +351,7 @@ namespace OpenMD{ * processor, these should be identical. */ vector getGlobalGroupIndices(); + string getFinalConfigFileName() { return finalConfigFileName_; @@ -414,8 +411,8 @@ namespace OpenMD{ } - bool isFortranInitialized() { - return fortranInitialized_; + bool isTopologyDone() { + return topologyDone_; } bool getCalcBoxDipole() { @@ -554,11 +551,6 @@ namespace OpenMD{ private: /// Data structures holding primary simulation objects map molecules_; /**< map holding pointers to LOCAL molecules */ - simtype fInfo_; /**< A dual struct shared by C++ - and Fortran to pass - information about what types - of calculation are - required */ /// Stamps are templates for objects that are then used to create /// groups of objects. For example, a molecule stamp contains @@ -595,6 +587,19 @@ namespace OpenMD{ public: vector getIdentArray() { return identArray_; } private: + + /** + * A vector which contains the fractional contribution of an + * atom's mass to the total mass of the cutoffGroup that atom + * belongs to. In the case of single atom cutoff groups, the mass + * factor for that atom is 1. For massless atoms, the factor is + * also 1. + */ + vector massFactors_; + public: + vector getMassFactors() { return massFactors_; } + private: + /// lists to handle atoms needing special treatment in the non-bonded interactions PairList excludedInteractions_; /**< atoms excluded from interacting with each other */ @@ -625,7 +630,9 @@ namespace OpenMD{ string restFileName_; - bool fortranInitialized_; /** flag to indicate whether the fortran side is initialized */ + bool topologyDone_; /** flag to indicate whether the topology has + been scanned and all the relevant + bookkeeping has been done*/ bool calcBoxDipole_; /**< flag to indicate whether or not we calculate the simulation box dipole moment */