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

# 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 chuckv 460 void (*p3) doForceLoopList,
11 mmeineke 626 void (*p4) set_sticky_params_List,
12     void (*p5) set_gb_pair_params_List )
13 chuckv 460 );
14 mmeineke 377
15     void wrapsimmod_ ( void (*wrapFunction)( void (*p1) setFortranSimList,
16 mmeineke 626 void (*p2) setFortranBoxList,
17     void (*p3) notifyFortranCutOffList) );
18 mmeineke 377
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 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
28     void (*p5) set_gb_pair_params_List );
29 mmeineke 377 void (*makeAtype) makeAtypeList;
30     void (*initFortranFF) initFortranFFList;
31 chuckv 460 void (*set_sticky_params) set_sticky_params_List;
32     void (*set_gb_pair_params) set_gb_pair_params_List;
33 mmeineke 377
34 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
35     void (*p3) notifyFortranCutOffList );
36 mmeineke 377
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 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
54     void (*p5) set_gb_pair_params_List ){
55 mmeineke 377
56     makeAtype = p1;
57     initFortranFF = p2;
58     currentFF->setFortranForceLoop( p3 );
59 mmeineke 626 set_sticky_params = p4;
60     set_gb_pair_params = p5;
61 chuckv 460
62 mmeineke 377 }
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 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
75     void (*p3) notifyFortranCutOffList){
76 mmeineke 377
77 mmeineke 626 currentPlug->setInternal( p1, p2, p3 );
78 mmeineke 377 }
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