ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/fortranWrapDefines.hpp
Revision: 999
Committed: Fri Jan 30 15:01:09 2004 UTC (20 years, 5 months ago) by chrisfen
File size: 2465 byte(s)
Log Message:
Substantial changes. OOPSE now has a working WATER.cpp forcefield and parser.
This involved changes to WATER.cpp and ForceFields amoung other files. One important
note: a hardwiring of LJ_rcut was made in calc_LJ_FF.F90. This will be removed on
the next commit...

File Contents

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