1 |
! 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 |
logical :: is_Charge, is_Dipole, is_Sticky, is_GayBerne, is_EAM |
16 |
logical :: is_Shape, is_FLARB |
17 |
|
18 |
ident = atp%ident |
19 |
is_Directional = (atp%is_Directional .ne. 0) |
20 |
is_LennardJones = (atp%is_LennardJones .ne. 0) |
21 |
is_Electrostatic = (atp%is_Charge .ne. 0) .or. (atp%is_Dipole .ne. 0) .and. & |
22 |
(atp%is_Quadrupole .ne. 0) |
23 |
|
24 |
is_Charge = (atp%is_Charge .ne. 0) |
25 |
is_Dipole = (atp%is_Dipole .ne. 0) |
26 |
is_Sticky = (atp%is_Sticky .ne. 0) |
27 |
is_GayBerne = (atp%is_GayBerne .ne. 0) |
28 |
is_EAM = (atp%is_EAM .ne. 0) |
29 |
is_Shape = (atp%is_Shape .ne. 0) |
30 |
is_FLARB = (atp%is_FLARB .ne. 0) |
31 |
|
32 |
call new_atype(ident, is_Directional, is_LennardJones, is_Electrostatic, & |
33 |
is_Charge, is_Dipole, is_Sticky, is_GayBerne, is_EAM, is_Shape, & |
34 |
is_FLARB, status) |
35 |
|
36 |
end subroutine |