ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrappers.cpp
Revision: 747
Committed: Fri Sep 5 21:28:52 2003 UTC (20 years, 9 months ago) by gezelter
File size: 3099 byte(s)
Log Message:
Changes to autoconf / configure method of configuring OOPSE

File Contents

# User Rev Content
1 mmeineke 377 #define __C
2 gezelter 747
3     #include "config.h"
4 mmeineke 377 #include "fSimulation.h"
5     #include <fortranWrappers.hpp>
6    
7     extern "C" {
8    
9 gezelter 747 void F90_FUNC(wrapforcefield, WRAPFORCEFIELD) (void (*wrapFunction)(void (*p1) makeAtypeList,
10     void (*p2) initFortranFFList,
11     void (*p3) doForceLoopList,
12     void (*p4) set_sticky_params_List,
13     void (*p5) set_gb_pair_params_List,
14     void (*p6) newEAMtype_List)
15     );
16 mmeineke 377
17 gezelter 747 void F90_FUNC(wrapsimmod, WRAPSIMMOD) (void (*wrapFunction)(void (*p1) setFortranSimList,
18     void (*p2) setFortranBoxList,
19     void (*p3) notifyFortranCutOffList)
20     );
21 mmeineke 377
22     #ifdef IS_MPI
23 gezelter 747 void F90_FUNC(wrapsimparallelmod, WRAPSIMPARALLELMOD) (void (*wrapFunction)(void (*p1) setFortranMPIlist) );
24 mmeineke 377 #endif // is_mpi
25 gezelter 747
26 mmeineke 377 }
27    
28    
29     void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
30 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
31 chuckv 631 void (*p5) set_gb_pair_params_List, void (*p6) newEAMtype_List);
32 mmeineke 377 void (*makeAtype) makeAtypeList;
33     void (*initFortranFF) initFortranFFList;
34 chuckv 460 void (*set_sticky_params) set_sticky_params_List;
35     void (*set_gb_pair_params) set_gb_pair_params_List;
36 chuckv 631 void (*newEAMtype) newEAMtype_List;
37 mmeineke 377
38 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
39     void (*p3) notifyFortranCutOffList );
40 mmeineke 377
41     #ifdef IS_MPI
42     void wrapSimParallel(void (*p1) setFortranMPIlist );
43     #endif // is_mpi
44    
45    
46     // take care of the ForceField functions
47    
48     ForceFields* currentFF;
49     void wrapMeFF( ForceFields* thisFF ){
50    
51     currentFF = thisFF;
52 gezelter 747 F90_FUNC(wrapforcefield, WRAPFORCEFIELD)( wrapFF );
53 mmeineke 377 }
54    
55 gezelter 747
56 mmeineke 377 void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
57 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
58 chuckv 631 void (*p5) set_gb_pair_params_List, void (*p6) newEAMtype_List){
59 mmeineke 377
60     makeAtype = p1;
61     initFortranFF = p2;
62     currentFF->setFortranForceLoop( p3 );
63 mmeineke 626 set_sticky_params = p4;
64     set_gb_pair_params = p5;
65 chuckv 631 newEAMtype = p6;
66 gezelter 747
67 mmeineke 377 }
68    
69    
70     // wrap the SimInfo functions
71    
72     SimInfo* currentPlug;
73     void wrapMeSimInfo( SimInfo* thePlug ){
74    
75     currentPlug = thePlug;
76 gezelter 747 F90_FUNC(wrapsimmod, WRAPSIMMOD) ( wrapSimInfo );
77 mmeineke 377 }
78    
79 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
80     void (*p3) notifyFortranCutOffList){
81 mmeineke 377
82 mmeineke 626 currentPlug->setInternal( p1, p2, p3 );
83 mmeineke 377 }
84    
85 gezelter 747
86 mmeineke 377 #ifdef IS_MPI
87    
88     // wrap the mpiSim functions
89    
90     mpiSimulation* currentMPIsim;
91     void wrapMeSimParallel( mpiSimulation* thisMPIsim ){
92    
93     currentMPIsim = thisMPIsim;
94 gezelter 747 F90_FUNC(wrapsimparallelmod, WRAPSIMPARALLELMOD) ( wrapSimParallel );
95 mmeineke 377 }
96    
97     void wrapSimParallel(void (*p1) setFortranMPIlist ){
98    
99     currentMPIsim->setInternal( p1 );
100     }
101    
102    
103     #endif // is_mpi