ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE_old/src/mdtools/libmdCode/fortranWrappers.cpp
Revision: 367
Committed: Wed Mar 19 17:29:49 2003 UTC (21 years, 5 months ago) by mmeineke
File size: 1780 byte(s)
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 mmeineke 365 #define __C
2     #include "fSimulation.h"
3 mmeineke 293 #include <fortranWrappers.hpp>
4    
5    
6     extern "C" {
7    
8 mmeineke 367 void wrapforcefield_( void (*wrapFunction)( void (*p1) makeAtypeList,
9     void (*p2) initFortranFFList,
10 mmeineke 294 void (*p3) doForceLoopList ));
11    
12 mmeineke 359 void wrapsimmod_ ( void (*wrapFunction)( void (*p1) setFortranSimList,
13     void (*p2) setFortranBoxList) );
14 mmeineke 294
15     #ifdef IS_MPI
16     void wrapsimparallelmod_( void (*wrapFunction)(void (*p1) setFortranMPIlist ) );
17     #endif // is_mpi
18    
19 mmeineke 293 }
20    
21    
22 mmeineke 367 void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
23 mmeineke 294 void (*p3) doForceLoopList );
24 mmeineke 367 void (*makeAtype) makeAtypeList;
25     void (*initFortranFF) initFortranFFList;
26 mmeineke 293
27 mmeineke 359 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList );
28 mmeineke 294
29     #ifdef IS_MPI
30     void wrapSimParallel(void (*p1) setFortranMPIlist );
31     #endif // is_mpi
32    
33    
34     // take care of the ForceField functions
35    
36     ForceFields* currentFF;
37     void wrapMeFF( ForceFields* thisFF ){
38    
39     currentFF = thisFF;
40     wrapforcefield_( wrapFF );
41     }
42    
43    
44 mmeineke 367 void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
45 mmeineke 294 void (*p3) doForceLoopList ){
46    
47 mmeineke 367 makeAtype = p1;
48 mmeineke 294 initFortranFF = p2;
49     currentFF->setFortranForceLoop( p3 );
50     }
51    
52    
53     // wrap the SimInfo functions
54    
55 mmeineke 367 SimInfo* currentPlug;
56 mmeineke 294 void wrapMeSimInfo( SimInfo* thePlug ){
57    
58     currentPlug = thePlug;
59     wrapsimmod_( wrapSimInfo );
60     }
61    
62 mmeineke 359 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList ){
63 mmeineke 294
64 mmeineke 359 currentPlug->setInternal( p1, p2 );
65 mmeineke 294 }
66    
67    
68     #ifdef IS_MPI
69    
70     // wrap the mpiSim functions
71    
72     mpiSimulation* currentMPIsim;
73     void wrapMeSimParallel( mpiSimulation* thisMPIsim ){
74    
75     currentMPIsim = thisMPIsim;
76     wrapsimparallelmod_( wrapSimParallel );
77     }
78    
79     void wrapSimParallel(void (*p1) setFortranMPIlist ){
80    
81     currentMPIsim->setInternal( p1 );
82     }
83    
84    
85     #endif // is_mpi