1 |
gezelter |
1948 |
! provide interface for c calls.... |
2 |
|
|
|
3 |
|
|
subroutine makeatype(atp, status) |
4 |
|
|
|
5 |
|
|
use atype_module, ONLY: new_atype |
6 |
|
|
|
7 |
|
|
#define __FORTRAN90 |
8 |
|
|
#include "types/AtomTypeProperties.h" |
9 |
|
|
|
10 |
|
|
type(AtomTypeProperties), intent(in) :: atp |
11 |
|
|
integer, intent(inout) :: status |
12 |
|
|
|
13 |
|
|
integer :: ident |
14 |
|
|
logical :: is_Directional, is_LennardJones, is_Electrostatic |
15 |
gezelter |
2086 |
logical :: is_Charge, is_Dipole, is_Quadrupole |
16 |
|
|
logical :: is_Sticky, is_GayBerne, is_EAM, is_Shape, is_FLARB |
17 |
gezelter |
1948 |
|
18 |
|
|
ident = atp%ident |
19 |
|
|
is_Directional = (atp%is_Directional .ne. 0) |
20 |
|
|
is_LennardJones = (atp%is_LennardJones .ne. 0) |
21 |
gezelter |
2086 |
is_Electrostatic = ((atp%is_Charge .ne. 0) .or. (atp%is_Dipole .ne. 0)) & |
22 |
|
|
.or. (atp%is_Quadrupole .ne. 0) |
23 |
gezelter |
1948 |
|
24 |
|
|
is_Charge = (atp%is_Charge .ne. 0) |
25 |
|
|
is_Dipole = (atp%is_Dipole .ne. 0) |
26 |
gezelter |
2086 |
is_Quadrupole = (atp%is_Quadrupole .ne. 0) |
27 |
gezelter |
1948 |
is_Sticky = (atp%is_Sticky .ne. 0) |
28 |
|
|
is_GayBerne = (atp%is_GayBerne .ne. 0) |
29 |
|
|
is_EAM = (atp%is_EAM .ne. 0) |
30 |
|
|
is_Shape = (atp%is_Shape .ne. 0) |
31 |
|
|
is_FLARB = (atp%is_FLARB .ne. 0) |
32 |
|
|
|
33 |
|
|
call new_atype(ident, is_Directional, is_LennardJones, is_Electrostatic, & |
34 |
gezelter |
2086 |
is_Charge, is_Dipole, is_Quadrupole, is_Sticky, is_GayBerne, is_EAM, & |
35 |
|
|
is_Shape, is_FLARB, status) |
36 |
gezelter |
1948 |
|
37 |
|
|
end subroutine |
38 |
chuckv |
2169 |
|
39 |
gezelter |
2177 |
! clears memory up |
40 |
chuckv |
2169 |
subroutine deleteAtypes() |
41 |
gezelter |
2177 |
use atype_module,ONLY: delete_atypes |
42 |
|
|
call delete_atypes() |
43 |
chuckv |
2169 |
end subroutine deleteatypes |