ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrappers.cpp
Revision: 631
Committed: Thu Jul 17 19:25:51 2003 UTC (20 years, 11 months ago) by chuckv
File size: 2467 byte(s)
Log Message:
Added massive changes for eam....

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