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