Statistiques
| Révision :

root / src / addligne.f90 @ 4

Historique | Voir | Annoter | Télécharger (1,38 ko)

1 1 equemene
      SUBROUTINE AddLigne(i,n1,n2,n3,n4,ind_zmat,val_zmat,x,y,z)
2 1 equemene
3 1 equemene
      use Path_module, only : Nat, KINT, KREAL
4 1 equemene
5 1 equemene
      integer(KINT) :: na,atome(Nat),at,ind_zmat(Nat,5),long
6 1 equemene
      real(KREAL) ::  x(Nat),y(Nat),z(Nat),fact,val_zmat(Nat,3)
7 1 equemene
8 1 equemene
      real(KREAL) :: vx1,vy1,vz1,norm1
9 1 equemene
      real(KREAL) ::  vx2,vy2,vz2,norm2
10 1 equemene
      real(KREAL) ::  vx3,vy3,vz3,norm3
11 1 equemene
      real(KREAL) ::  vx4,vy4,vz4,norm4
12 1 equemene
      real(KREAL) ::  vx5,vy5,vz5,norm5
13 1 equemene
      real(KREAL) ::  val,val_d
14 1 equemene
15 1 equemene
!     WRITE(IOOUT,*) 'Addligne:',i,n1,n2,n3,n4
16 1 equemene
17 1 equemene
      CALL vecteur(n2,n1,x,y,z,vx1,vy1,vz1,norm1)
18 1 equemene
19 1 equemene
      CALL vecteur(n2,n3,x,y,z,vx2,vy2,vz2,norm2)
20 1 equemene
      val=angle(vx1,vy1,vz1,norm1, &
21 1 equemene
           vx2,vy2,vz2,norm2)
22 1 equemene
23 1 equemene
      CALL vecteur(n3,n4,x,y,z,vx3,vy3,vz3,norm3)
24 1 equemene
      CALL produit_vect(vx1,vy1,vz1,norm1, &
25 1 equemene
           vx2,vy2,vz2,norm2, &
26 1 equemene
           vx4,vy4,vz4,norm4)
27 1 equemene
      CALL produit_vect(vx3,vy3,vz3,norm3, &
28 1 equemene
           vx2,vy2,vz2,norm2, &
29 1 equemene
           vx5,vy5,vz5,norm5)
30 1 equemene
31 1 equemene
      val_d=angle_d(vx4,vy4,vz4,norm4, &
32 1 equemene
           vx5,vy5,vz5,norm5, &
33 1 equemene
           vx2,vy2,vz2,norm2)
34 1 equemene
35 1 equemene
!     write(*,11) n1,n2,norm1,n3,val,n4,val_d
36 1 equemene
 11   format (2(1x,i3),1x,f8.4,2(1x,i3,1x,f8.3))
37 1 equemene
38 1 equemene
      ind_zmat(i,1)=n1
39 1 equemene
      ind_zmat(i,2)=n2
40 1 equemene
      ind_zmat(i,3)=n3
41 1 equemene
      ind_zmat(i,4)=n4
42 1 equemene
      ind_zmat(i,5)=0
43 1 equemene
      val_zmat(i,1)=norm1
44 1 equemene
      val_zmat(i,2)=val
45 1 equemene
      val_zmat(i,3)=val_d
46 1 equemene
47 1 equemene
!     WRITE(*,*) "Addligne",i,n1,n2,n3,n4,norm1,val,val_d
48 1 equemene
      END
49 1 equemene