ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/mpiSimulation.hpp
Revision: 244
Committed: Fri Jan 24 21:25:04 2003 UTC (21 years, 7 months ago) by mmeineke
File size: 1708 byte(s)
Log Message:
added the fortran function wrapping to the mpiSim class

File Contents

# User Rev Content
1 chuckv 131 #ifndef __MPISIMULATION__
2     #define __MPISIMULATION__
3 chuckv 121
4 chuckv 194 #include "SimInfo.hpp"
5 chuckv 195 #include "MakeStamps.hpp"
6 chuckv 215 #define __C
7     #include "mpiComponentPlan.h"
8 chuckv 194
9 chuckv 215
10 chuckv 121 class mpiSimulation{
11     public:
12    
13 chuckv 194 mpiSimulation(SimInfo* the_entryPlug);
14     ~mpiSimulation();
15    
16 mmeineke 199 void divideLabor( void );
17 chuckv 194
18 mmeineke 244 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 chuckv 194
28 chuckv 121
29 mmeineke 244 // sets the internal function pointer to fortran.
30    
31     void setInternal( void (*fSetup)( mpiSimData*, int*, int*, int*) ){
32     setFsimParallel = fSetup;
33     }
34    
35 chuckv 121 private:
36    
37     protected:
38 chuckv 194 SimInfo* entryPlug;
39 chuckv 215 mpiSimData* mpiPlug;
40 chuckv 121
41 mmeineke 244 // function to wrap the fortran function
42     void wrapMe();
43    
44     // private function to initialize the fortran side of the simulation
45     void (*setFsimParallel)(mpiSimData* the_mpiPlug, int *nLocal,
46     int* globalIndex, int* isError );
47    
48 chuckv 215 // int *myIdents; // is needed by Cpp only. It tells the molecule which stamp it is.
49 mmeineke 201
50 chuckv 121 };
51 chuckv 131
52 chuckv 223
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 mnpiSimulation class.
58     */
59    
60 chuckv 215 extern mpiSimulation* mpiSim;
61 chuckv 131
62     #endif