Statistiques
| Révision :

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