root / src / test_zmat.f90 @ 2
Historique | Voir | Annoter | Télécharger (1,19 ko)
1 |
!================================================================ |
---|---|
2 |
! test si la z_matrice peut etre ecrite pour gaussian |
3 |
! monstergauss exthuc |
4 |
!================================================================ |
5 |
|
6 |
FUNCTION test_zmat(na,ind_zmat) |
7 |
|
8 |
use Path_module |
9 |
use Io_module |
10 |
|
11 |
IMPLICIT NONE |
12 |
|
13 |
logical :: pos,test_zmat |
14 |
integer(KINT) :: i,na,n |
15 |
integer(KINT) :: ind_zmat(Na,5) |
16 |
integer(KINT), ALLOCATABLE :: ind_pos(:) |
17 |
|
18 |
ALLOCATE(ind_pos(Na)) |
19 |
pos=.true. |
20 |
|
21 |
DO i=1,na |
22 |
ind_pos(ind_zmat(i,1))=i |
23 |
END DO |
24 |
|
25 |
DO i=2,na |
26 |
n=ind_zmat(i,2) |
27 |
IF (ind_pos(n) .GE. i) THEN |
28 |
pos=.false. .AND. pos |
29 |
write(IOOUT,*) 'Bond:',n,ind_pos(n),i,pos |
30 |
END IF |
31 |
END DO |
32 |
|
33 |
DO i=3,na |
34 |
n=ind_zmat(i,3) |
35 |
IF (ind_pos(n) .GE. i) THEN |
36 |
pos=.false. .AND. pos |
37 |
write(IOOUT,*) 'Angle:',n,ind_pos(n),i,pos |
38 |
END IF |
39 |
END DO |
40 |
|
41 |
DO i=4,na |
42 |
n=ind_zmat(i,4) |
43 |
IF (ind_pos(n) .GE. i) THEN |
44 |
pos=.false. .AND. pos |
45 |
write(IOOUT,*) 'Dihedral:',n,ind_pos(n),i,pos |
46 |
END IF |
47 |
END DO |
48 |
|
49 |
test_zmat=pos |
50 |
DEALLOCATE(ind_pos) |
51 |
|
52 |
END |