1 |
gezelter |
1390 |
#ifdef __OPENMD_C |
2 |
chuckv |
1163 |
#ifndef __FMNMINTERACTIONS |
3 |
|
|
#define __FMNMINTERACTIONS |
4 |
|
|
|
5 |
|
|
#define MNM_NUM_MNM_TYPES 4 |
6 |
|
|
#define MNM_LENNARDJONES 1 |
7 |
|
|
#define MNM_REPULSIVEMORSE 2 |
8 |
|
|
#define MNM_SHIFTEDMORSE 3 |
9 |
|
|
#define MNM_MAW 4 |
10 |
|
|
|
11 |
gezelter |
1284 |
// dummy integer below is a workaround for |
12 |
|
|
// a bug in the intel compiler, which can't |
13 |
|
|
// seem to pack structs the same way on C and |
14 |
|
|
// fortran. |
15 |
|
|
|
16 |
chuckv |
1163 |
typedef struct{ |
17 |
|
|
int MNMInteractionType; |
18 |
gezelter |
1284 |
int dummy; |
19 |
chuckv |
1163 |
int metal_atid; |
20 |
|
|
int nonmetal_atid; |
21 |
|
|
RealType R0; |
22 |
|
|
RealType D0; |
23 |
|
|
RealType beta0; |
24 |
|
|
RealType betaH; |
25 |
gezelter |
1238 |
RealType ca1; |
26 |
|
|
RealType cb1; |
27 |
chuckv |
1163 |
RealType sigma; |
28 |
|
|
RealType epsilon; |
29 |
|
|
} MNMtype; |
30 |
|
|
|
31 |
|
|
|
32 |
|
|
#endif |
33 |
gezelter |
1390 |
#endif /*__OPENMD_C*/ |
34 |
chuckv |
1163 |
|
35 |
|
|
#ifdef __FORTRAN90 |
36 |
|
|
|
37 |
|
|
INTEGER, PARAMETER:: MNM_NUM_MNM_TYPES = 4 |
38 |
|
|
INTEGER, PARAMETER:: MNM_LENNARDJONES = 1 |
39 |
|
|
INTEGER, PARAMETER:: MNM_REPULSIVEMORSE = 2 |
40 |
|
|
INTEGER, PARAMETER:: MNM_SHIFTEDMORSE = 3 |
41 |
|
|
INTEGER, PARAMETER:: MNM_MAW = 4 |
42 |
|
|
|
43 |
gezelter |
1284 |
! dummy integer below is a workaround for |
44 |
gezelter |
1286 |
! a bug in the intel compiler, which does not |
45 |
gezelter |
1284 |
! seem to pack structs the same way on C and |
46 |
|
|
! fortran. |
47 |
|
|
|
48 |
chuckv |
1163 |
type :: MNMtype |
49 |
|
|
SEQUENCE |
50 |
|
|
integer :: MNMInteractionType |
51 |
gezelter |
1284 |
integer :: dummy |
52 |
gezelter |
1286 |
integer :: metal_atid |
53 |
|
|
integer :: nonmetal_atid |
54 |
chuckv |
1163 |
real(kind=dp) :: R0 |
55 |
|
|
real(kind=dp) :: D0 |
56 |
|
|
real(kind=dp) :: beta0 |
57 |
|
|
real(kind=dp) :: betaH |
58 |
gezelter |
1238 |
real(kind=dp) :: ca1 |
59 |
|
|
real(kind=dp) :: cb1 |
60 |
chuckv |
1163 |
real(kind=dp) :: sigma |
61 |
|
|
real(kind=dp) :: epsilon |
62 |
|
|
end type MNMtype |
63 |
|
|
|
64 |
|
|
#endif |