root / src / addligne.f90 @ 1
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 |