ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrappers.cpp
Revision: 626
Committed: Wed Jul 16 21:30:56 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 2319 byte(s)
Log Message:
Changed how cutoffs were handled from C. Now notifyCutoffs in Fortran notifies those who need the information of any changes to cutoffs.

File Contents

# Content
1 #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 void (*p4) set_sticky_params_List,
12 void (*p5) set_gb_pair_params_List )
13 );
14
15 void wrapsimmod_ ( void (*wrapFunction)( void (*p1) setFortranSimList,
16 void (*p2) setFortranBoxList,
17 void (*p3) notifyFortranCutOffList) );
18
19 #ifdef IS_MPI
20 void wrapsimparallelmod_( void (*wrapFunction)(void (*p1) setFortranMPIlist ) );
21 #endif // is_mpi
22
23 }
24
25
26 void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
27 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
28 void (*p5) set_gb_pair_params_List );
29 void (*makeAtype) makeAtypeList;
30 void (*initFortranFF) initFortranFFList;
31 void (*set_sticky_params) set_sticky_params_List;
32 void (*set_gb_pair_params) set_gb_pair_params_List;
33
34 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
35 void (*p3) notifyFortranCutOffList );
36
37 #ifdef IS_MPI
38 void wrapSimParallel(void (*p1) setFortranMPIlist );
39 #endif // is_mpi
40
41
42 // take care of the ForceField functions
43
44 ForceFields* currentFF;
45 void wrapMeFF( ForceFields* thisFF ){
46
47 currentFF = thisFF;
48 wrapforcefield_( wrapFF );
49 }
50
51
52 void wrapFF( void (*p1) makeAtypeList, void (*p2) initFortranFFList,
53 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
54 void (*p5) set_gb_pair_params_List ){
55
56 makeAtype = p1;
57 initFortranFF = p2;
58 currentFF->setFortranForceLoop( p3 );
59 set_sticky_params = p4;
60 set_gb_pair_params = p5;
61
62 }
63
64
65 // wrap the SimInfo functions
66
67 SimInfo* currentPlug;
68 void wrapMeSimInfo( SimInfo* thePlug ){
69
70 currentPlug = thePlug;
71 wrapsimmod_( wrapSimInfo );
72 }
73
74 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
75 void (*p3) notifyFortranCutOffList){
76
77 currentPlug->setInternal( p1, p2, p3 );
78 }
79
80
81 #ifdef IS_MPI
82
83 // wrap the mpiSim functions
84
85 mpiSimulation* currentMPIsim;
86 void wrapMeSimParallel( mpiSimulation* thisMPIsim ){
87
88 currentMPIsim = thisMPIsim;
89 wrapsimparallelmod_( wrapSimParallel );
90 }
91
92 void wrapSimParallel(void (*p1) setFortranMPIlist ){
93
94 currentMPIsim->setInternal( p1 );
95 }
96
97
98 #endif // is_mpi