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

# 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 chuckv 631 void (*p5) set_gb_pair_params_List,
13     void (*p6) newEAMtype_List)
14 chuckv 460 );
15 mmeineke 377
16     void wrapsimmod_ ( void (*wrapFunction)( void (*p1) setFortranSimList,
17 mmeineke 626 void (*p2) setFortranBoxList,
18     void (*p3) notifyFortranCutOffList) );
19 mmeineke 377
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 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
29 chuckv 631 void (*p5) set_gb_pair_params_List, void (*p6) newEAMtype_List);
30 mmeineke 377 void (*makeAtype) makeAtypeList;
31     void (*initFortranFF) initFortranFFList;
32 chuckv 460 void (*set_sticky_params) set_sticky_params_List;
33     void (*set_gb_pair_params) set_gb_pair_params_List;
34 chuckv 631 void (*newEAMtype) newEAMtype_List;
35 mmeineke 377
36 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
37     void (*p3) notifyFortranCutOffList );
38 mmeineke 377
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 mmeineke 626 void (*p3) doForceLoopList, void (*p4) set_sticky_params_List,
56 chuckv 631 void (*p5) set_gb_pair_params_List, void (*p6) newEAMtype_List){
57 mmeineke 377
58     makeAtype = p1;
59     initFortranFF = p2;
60     currentFF->setFortranForceLoop( p3 );
61 mmeineke 626 set_sticky_params = p4;
62     set_gb_pair_params = p5;
63 chuckv 631 newEAMtype = p6;
64 chuckv 460
65 mmeineke 377 }
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 mmeineke 626 void wrapSimInfo( void (*p1) setFortranSimList, void (*p2) setFortranBoxList,
78     void (*p3) notifyFortranCutOffList){
79 mmeineke 377
80 mmeineke 626 currentPlug->setInternal( p1, p2, p3 );
81 mmeineke 377 }
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