ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/mpiSimulation.hpp
Revision: 419
Committed: Thu Mar 27 15:07:29 2003 UTC (21 years, 3 months ago) by gezelter
File size: 1563 byte(s)
Log Message:
fixes for local->global atom numbering in MPI

File Contents

# Content
1 #ifndef __MPISIMULATION__
2 #define __MPISIMULATION__
3
4 #include "SimInfo.hpp"
5 #include "MakeStamps.hpp"
6 #define __C
7 #include "mpiComponentPlan.h"
8
9 #include "fortranWrapDefines.hpp"
10
11 class mpiSimulation{
12 public:
13
14 mpiSimulation(SimInfo* the_entryPlug);
15 ~mpiSimulation();
16
17 int *divideLabor( void );
18
19 int getMyNode(void) { return mpiPlug->myNode; }
20 int getNumberProcessors(void) { return mpiPlug->numberProcessors; }
21 int getMyNMol( void ) { return mpiPlug->myNMol; }
22 int getMyNlocal( void ) { return mpiPlug->myNlocal; }
23 int getTotAtoms( void ) { return mpiPlug->nAtomsGlobal; }
24 int* getAtomToProcMap( void ) { return AtomToProcMap; }
25
26 // sets the internal function pointer to fortran.
27
28 void setInternal( void (*fSetup) setFortranMPIlist ){
29 setFsimParallel = fSetup;
30 }
31
32
33 // call at the begining and after load balancing
34
35 void mpiRefresh( void );
36
37 protected:
38 SimInfo* entryPlug;
39 mpiSimData* mpiPlug;
40 int *MolToProcMap;
41 int *MolComponentType;
42 int *AtomToProcMap;
43 int *AtomType;
44
45 // private function to initialize the fortran side of the simulation
46 void (*setFsimParallel) setFortranMPIlist;
47
48 // int *myIdents; // is needed by Cpp only. It tells the molecule which stamp it is.
49
50 };
51
52
53 /**
54 The following pointer is the global declaration of the mpiSim
55 object created when the mpiSimulation creation routine is
56 called. Every one who includes the header file will then have
57 access to all of the routines in mpiSimulation class.
58 */
59
60 extern mpiSimulation* mpiSim;
61
62 #endif