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 121 by chuckv, Mon Sep 30 19:36:00 2002 UTC vs.
Revision 253 by chuckv, Thu Jan 30 15:20:21 2003 UTC

# Line 1 | Line 1
1 + #ifndef __MPISIMULATION__
2 + #define __MPISIMULATION__
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();
14 <    ~mpiSimulation();
13 >  mpiSimulation(SimInfo* the_entryPlug);
14 >  ~mpiSimulation();
15 >  
16 >  int *divideLabor( void );
17 >  
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 >  
28  
29 <    int  getMyNode(void) {return myNode;}
10 <    int  mpiInitSimulation();
11 <    int  mpiDistSimulation();
29 >  // sets the internal function pointer to fortran.
30  
31 < private:
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 <    int myMolStart;
42 <    int myMolEnd;
18 <    int myMol;
19 <    int  numberProcessors;
20 <    int  myNode;
21 <    int  processorNameLen;
22 <    char processorName[MPI_MAX_PROCESSOR_NAME];
23 <    int  natomsRow,natomsCol,natomsStart,natomsEnd;
24 <    int  numberCols,numberRows;
25 <    int  nmolsRow,nmolsCol,nmolsLocal;
41 >  SimInfo* entryPlug;
42 >  mpiSimData* mpiPlug;
43  
44 +  // function to wrap the fortran function
45 +  void wrapMe();
46 +  
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