ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/mpiSimulation.hpp
(Generate patch)

Comparing trunk/mdtools/headers/mpiSimulation.hpp (file contents):
Revision 196 by chuckv, Thu Dec 5 21:37:51 2002 UTC vs.
Revision 253 by chuckv, Thu Jan 30 15:20:21 2003 UTC

# Line 3 | Line 3
3  
4   #include "SimInfo.hpp"
5   #include "MakeStamps.hpp"
6 + #define __C
7 + #include "mpiComponentPlan.h"
8  
9 +
10   class mpiSimulation{
11   public:
12  
13    mpiSimulation(SimInfo* the_entryPlug);
14    ~mpiSimulation();
15    
16 <  void divideLabor(int nComponents, MoleculeStamp** compStamps, int* componentsNmol );
16 >  int *divideLabor( void );
17    
18 <  int  getMyNode(void) {return myNode;}
18 >  int  getMyNode(void)           { return mpiPlug->myNode; }
19 >  int  getNumberProcessors(void) { return mpiPlug->numberProcessors; }
20 >  int  getMyMolStart( void )     { return mpiPlug->myMolStart; }
21 >  int  getMyMolEnd( void )       { return mpiPlug->myMolEnd; }
22 >  int  getMyMol( void )          { return mpiPlug->myMol; }
23 >  int  getMyAtomStart( void )    { return mpiPlug->myAtomStart; }
24 >  int  getMyAtomEnd( void )      { return mpiPlug->myAtomEnd; }
25 >  int  getMyNlocal( void )       { return mpiPlug->myNlocal; }
26 >  int  getTotAtoms( void )       { return mpiPlug->nAtomsGlobal; }
27    
17  
28  
29 < private:
29 >  // sets the internal function pointer to fortran.
30  
31 +  void setInternal( void (*fSetup)( mpiSimData*, int*, int*, int*) ){
32 +    setFsimParallel = fSetup;
33 +  }
34 +
35 +
36 +  // call at the begining and after load balancing
37 +  
38 +  void mpiRefresh( void );
39 +
40   protected:
41    SimInfo* entryPlug;
42 +  mpiSimData* mpiPlug;
43 +
44 +  // function to wrap the fortran function
45 +  void wrapMe();
46    
47 <  int myMolStart;
48 <  int myMolEnd;
49 <  int myAtomStart, myAtomEnd;
27 <  int myMol;
28 <  int myNlocal;
29 <  int *myIdents;
30 <  int  numberProcessors;
31 <  int  myNode;
32 <  //  int  processorNameLen;
33 <  //  char* processorName;
34 <  int  natomsRow,natomsCol;
35 <  int  numberCols,numberRows;
36 <  int  nmolsRow,nmolsCol,nmolsLocal;
37 <  
47 >  // private function to initialize the fortran side of the simulation
48 >  void (*setFsimParallel)(mpiSimData* the_mpiPlug, int *nLocal,
49 >                          int* globalIndex, int* isError );
50  
51 +  // int *myIdents; // is needed by Cpp only. It tells the molecule which stamp it is.
52 +
53   };
54  
55  
56 + /**
57 +   The following pointer is the global declaration of the mpiSim
58 +   object created when the mpiSimulation creation routine is
59 +   called. Every one who includes the header file will then have
60 +   access to all of the routines in mpiSimulation class.
61 + */
62 +
63 + extern mpiSimulation* mpiSim;
64 +
65   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines