| 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 |