ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrapDefines.hpp
Revision: 836
Committed: Tue Oct 28 22:25:46 2003 UTC (20 years, 8 months ago) by mmeineke
File size: 2372 byte(s)
Log Message:
did a complete overhaul of how c calls fortran. All function pointers and fortran calls are rigidly typecast now.

File Contents

# Content
1 #ifndef __FORTRAN_WRAP_DEFINES_H__
2 #define __FORTRAN_WRAP_DEFINES_H__
3
4 #define __C
5 #include "fSimulation.h"
6
7 // here we declare the function pointer typedefs for fortran functions
8
9 extern "C" {
10
11 typedef void (*makeAtype_TD) ( int* unique_ident,
12 int* isLJ,
13 int* isSticky,
14 int* isDipole,
15 int* isGB,
16 int* isEAM,
17 double* lj_epslon,
18 double* lj_sigma,
19 double* dipole_moment,
20 int* status );
21
22 typedef void (*newEAMtype_TD)( double* lattice_constant,
23 int* eam_nrho,
24 double* eam_drho,
25 int* eam_nr,
26 double* eam_dr,
27 double* eam_rcut,
28 double* eam_rvals,
29 double* eam_rhovals,
30 double* eam_Frhovals,
31 int* eam_ident,
32 int* status );
33
34 typedef void (*initFortranFF_TD)( int* LJ_mix_policy,
35 int* useReactionField,
36 int *isError );
37
38 typedef void (*doForceLoop_TD)( double* positionArray,
39 double* RotationMatrixArray,
40 double* unitVectorArray_l,
41 double* forceArray,
42 double *torqueArray,
43 double* StressTensor,
44 double* potentialEnergy,
45 short int* doPotentialCalc,
46 short int* doStressCalc,
47 int* isError );
48
49 typedef void (*set_sticky_params_TD)( double* sticky_w0,
50 double* sticky_v0,
51 double* sticky_v0p,
52 double* sticky_rl,
53 double* sticky_ru,
54 double* sticky_rlp,
55 double* sticky_rup );
56
57 typedef void (*set_gb_pair_params_TD)( double* GB_sigma,
58 double* GB_l2b_ratio,
59 double* GB_eps,
60 double* GB_eps_ratio,
61 double* GB_mu,
62 double* GB_nu );
63
64 typedef void (*setFortranSim_TD)( simtype* the_Info,
65 int* nGlobal,
66 int* nLocal,
67 int* identArray,
68 int* nLocalExcludes,
69 int* excludesLocalArray,
70 int* nGloabalsExcludes,
71 int* excludesGlobalArray,
72 int* molMembershipArray,
73 int* isError );
74
75 typedef void (*setFortranBox_TD) ( double *Hmat,
76 double *HmatI,
77 int* orthoRhombic );
78
79 typedef void (*notifyFortranCutOff_TD) ( double *rCut,
80 double *rList,
81 double *ecr,
82 double *est );
83 }
84
85
86 #ifdef IS_MPI
87
88 #include "mpiComponentPlan.h"
89
90
91
92 extern "C" {
93
94 typedef void (*setFortranMPI_TD)( mpiSimData* the_mpiPlug,
95 int *nLocal,
96 int* globalIndexArray,
97 int* isError );
98
99 }
100
101 #endif // is_mpi
102
103 #endif // frotranWrapDefines.hpp