--- trunk/OOPSE/libmdtools/mpiSimulation.hpp 2003/03/21 17:42:12 378 +++ trunk/OOPSE/libmdtools/mpiSimulation.hpp 2004/05/27 00:48:12 1198 @@ -14,22 +14,29 @@ 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 getMyMolStart( void ) { return mpiPlug->myMolStart; } - int getMyMolEnd( void ) { return mpiPlug->myMolEnd; } - int getMyMol( void ) { return mpiPlug->myMol; } - int getMyAtomStart( void ) { return mpiPlug->myAtomStart; } - int getMyAtomEnd( void ) { return mpiPlug->myAtomEnd; } - int getMyNlocal( void ) { return mpiPlug->myNlocal; } + int getNprocessors(void) { return mpiPlug->nProcessors; } + int getLocalNmol( void ) { return mpiPlug->nMolLocal; } + int getLocalNatoms( void ) { return mpiPlug->nAtomsLocal; } int getTotAtoms( void ) { return mpiPlug->nAtomsGlobal; } - + int getTotNmol( void ) { return mpiPlug->nMolGlobal; } + int* getAtomToProcMap( void ) { return AtomToProcMap; } + int* getMolToProcMap( void ) { return MolToProcMap; } + int* getMolComponentType(void) { return MolComponentType; } + vector getGlobalAtomIndex(void) {return globalAtomIndex; } + vector getGlobalMolIndex(void) {return globalMolIndex;} + int getGlobalToLocalMol(int globalIndex) {return globalToLocalMol[globalIndex];} + int getGlobalToLocalAtom(int globalIndex) {return globalToLocalAtom[globalIndex];} + + //void globalToLocalMol(int globalIndex, int& whichNode, int& localIndex); + //void globalToLocalAtom(int globalIndex, int& whichNode, int& localIndex); + // sets the internal function pointer to fortran. - void setInternal( void (*fSetup) setFortranMPIlist ){ + void setInternal( setFortranMPI_TD fSetup){ setFsimParallel = fSetup; } @@ -41,9 +48,17 @@ class mpiSimulation{ (public) protected: SimInfo* entryPlug; mpiSimData* mpiPlug; - + int *MolToProcMap; + int *MolComponentType; + int *AtomToProcMap; + int *AtomType; + vector globalAtomIndex; + vector globalMolIndex; + + vector globalToLocalMol; + vector globalToLocalAtom; // private function to initialize the fortran side of the simulation - void (*setFsimParallel) setFortranMPIlist; + setFortranMPI_TD setFsimParallel; // int *myIdents; // is needed by Cpp only. It tells the molecule which stamp it is.