ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrappers.cpp
Revision: 829
Committed: Tue Oct 28 16:03:37 2003 UTC (20 years, 8 months ago) by gezelter
File size: 2671 byte(s)
Log Message:
replace c++ header stuff with more portable c header stuff
Also, mod file fixes and portability changes
Some fortran changes will need to be reversed.

File Contents

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