ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrappers.cpp
Revision: 377
Committed: Fri Mar 21 17:42:12 2003 UTC (21 years, 3 months ago) by mmeineke
Original Path: branches/mmeineke/OOPSE/libmdtools/fortranWrappers.cpp
File size: 1780 byte(s)
Log Message:
New OOPSE Tree

File Contents

# User Rev Content
1 mmeineke 377 #define __C
2     #include "fSimulation.h"
3     #include <fortranWrappers.hpp>
4    
5    
6     extern "C" {
7    
8     void wrapforcefield_( void (*wrapFunction)( void (*p1) makeAtypeList,
9     void (*p2) initFortranFFList,
10     void (*p3) doForceLoopList ));
11    
12     void wrapsimmod_ ( void (*wrapFunction)( void (*p1) setFortranSimList,
13     void (*p2) setFortranBoxList) );
14    
15     #ifdef IS_MPI
16     void wrapsimparallelmod_( void (*wrapFunction)(void (*p1) setFortranMPIlist ) );
17     #endif // is_mpi
18    
19     }
20    
21    
22     void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
23     void (*p3) doForceLoopList );
24     void (*makeAtype) makeAtypeList;
25     void (*initFortranFF) initFortranFFList;
26    
27     void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList );
28    
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     void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
45     void (*p3) doForceLoopList ){
46    
47     makeAtype = p1;
48     initFortranFF = p2;
49     currentFF->setFortranForceLoop( p3 );
50     }
51    
52    
53     // wrap the SimInfo functions
54    
55     SimInfo* currentPlug;
56     void wrapMeSimInfo( SimInfo* thePlug ){
57    
58     currentPlug = thePlug;
59     wrapsimmod_( wrapSimInfo );
60     }
61    
62     void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList ){
63    
64     currentPlug->setInternal( p1, p2 );
65     }
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