--- trunk/OOPSE/libmdtools/mpiSimulation.hpp 2003/10/28 22:25:46 836 +++ trunk/OOPSE/libmdtools/mpiSimulation.hpp 2004/05/27 18:59:17 1203 @@ -14,18 +14,27 @@ class mpiSimulation{ (public) mpiSimulation(SimInfo* the_entryPlug); ~mpiSimulation(); - int *divideLabor( void ); + void divideLabor(); - int getMyNode(void) { return mpiPlug->myNode; } - int getNumberProcessors(void) { return mpiPlug->numberProcessors; } - int getMyNMol( void ) { return mpiPlug->myNMol; } - int getMyNlocal( void ) { return mpiPlug->myNlocal; } - int getTotAtoms( void ) { return mpiPlug->nAtomsGlobal; } - int getTotNmol( void ) { return mpiPlug->nMolGlobal; } + int getMyNode( void ) { return parallelData->myNode; } + int getNProcessors( void ) { return parallelData->nProcessors; } + int getNMolLocal( void ) { return parallelData->nMolLocal; } + int getNMolGlobal( void ) { return parallelData->nMolGlobal; } + int getNAtomsLocal( void ) { return parallelData->nAtomsLocal; } + int getNAtomsGlobal( void ) { return parallelData->nAtomsGlobal; } + int getNGroupsLocal( void ) { return parallelData->nGroupsLocal; } + int getNGroupsGlobal( void ) { return parallelData->nGroupsGlobal; } int* getAtomToProcMap( void ) { return AtomToProcMap; } + int* getGroupToProcMap( void ) { return GroupToProcMap; } int* getMolToProcMap( void ) { return MolToProcMap; } int* getMolComponentType(void) { return MolComponentType; } - + vector getGlobalAtomIndex(void) {return globalAtomIndex; } + vector getGlobalGroupIndex(void) {return globalGroupIndex; } + vector getGlobalMolIndex(void) {return globalMolIndex;} + int getGlobalToLocalMol(int globalIndex) {return globalToLocalMol[globalIndex];} + int getGlobalToLocalAtom(int globalIndex) {return globalToLocalAtom[globalIndex];} + int getGlobalToLocalGroup(int globalIndex) {return globalToLocalGroup[globalIndex];} + // sets the internal function pointer to fortran. void setInternal( setFortranMPI_TD fSetup){ @@ -39,12 +48,20 @@ class mpiSimulation{ (public) protected: SimInfo* entryPlug; - mpiSimData* mpiPlug; + mpiSimData* parallelData; int *MolToProcMap; int *MolComponentType; int *AtomToProcMap; int *AtomType; + int *GroupToProcMap; + vector globalAtomIndex; + vector globalMolIndex; + vector globalGroupIndex; + vector globalToLocalMol; + vector globalToLocalAtom; + vector globalToLocalGroup; + // private function to initialize the fortran side of the simulation setFortranMPI_TD setFsimParallel;