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

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