- Timestamp:
- 09/05/08 11:49:42 (16 years ago)
- Branches:
- master
- Children:
- fafe4d6
- Parents:
- 2ebb8b6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
dihedr.f
r2ebb8b6 rbd2278d 1 c**************************************************************2 c 3 cThis file contains the subroutines: dihedr,valang4 c 5 cCopyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann,6 cShura Hayryan, Chin-Ku7 cCopyright 2007 Frank Eisenmenger, U.H.E. Hansmann,8 cJan H. Meinke, Sandipan Mohanty9 c 10 c**************************************************************1 ! ************************************************************** 2 ! 3 ! This file contains the subroutines: dihedr,valang 4 ! 5 ! Copyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann, 6 ! Shura Hayryan, Chin-Ku 7 ! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann, 8 ! Jan H. Meinke, Sandipan Mohanty 9 ! 10 ! ************************************************************** 11 11 12 12 real*8 function dihedr(i1,i2,i3,i4) 13 13 14 c.............................................15 cPURPOSE: return dihedral angle (i1,i2,i3,i4)16 c[in rad.]17 c 18 cINPUT: i1,i2,i3,i4 - indices of four atoms19 c 20 cCALLS: none21 c.............................................14 ! ............................................. 15 ! PURPOSE: return dihedral angle (i1,i2,i3,i4) 16 ! [in rad.] 17 ! 18 ! INPUT: i1,i2,i3,i4 - indices of four atoms 19 ! 20 ! CALLS: none 21 ! ............................................. 22 22 23 23 include 'INCL.H' … … 49 49 dihedr=acos(a) 50 50 if (ux1*(uy2*z2-uz2*y2)+uy1*(uz2*x2-ux2*z2)+ 51 #uz1*(ux2*y2-uy2*x2).lt.zero) dihedr =-dihedr51 & uz1*(ux2*y2-uy2*x2).lt.zero) dihedr =-dihedr 52 52 return 53 53 else 54 54 write (*,'(a,4i5)')' dihedr> Error in coordinates of atoms #: ' 55 #,i1,i2,i3,i455 & ,i1,i2,i3,i4 56 56 57 57 write (*,*) 'stored coordinates are xvals :', 58 #xat(i1),xat(i2),xat(i3),xat(i4)58 & xat(i1),xat(i2),xat(i3),xat(i4) 59 59 write (*,*) 'yvals:', yat(i1),yat(i2),yat(i3),yat(i4) 60 60 write (*,*) 'zvals:', zat(i1),zat(i2),zat(i3),zat(i4) … … 64 64 65 65 end 66 c************************************66 ! ************************************ 67 67 real*8 function valang(i1,i2,i3) 68 68 69 c.........................................70 cPURPOSE: return valence angle (i1,i2,i3)71 c[in rad.] with 'i2' as vertex72 c 73 cINPUT: i1,i2,i3 - indices of 3 atoms74 c 75 cCALLS: none76 c.............................................69 ! ......................................... 70 ! PURPOSE: return valence angle (i1,i2,i3) 71 ! [in rad.] with 'i2' as vertex 72 ! 73 ! INPUT: i1,i2,i3 - indices of 3 atoms 74 ! 75 ! CALLS: none 76 ! ............................................. 77 77 78 78 include 'INCL.H' … … 101 101 else 102 102 write (*,'(a,3i5)')' valang> Error in coordinates of atoms #: ' 103 #,i1,i2,i3103 & ,i1,i2,i3 104 104 write (*,*) 'stored coordinates are xvals :', 105 #xat(i1),xat(i2),xat(i3)105 & xat(i1),xat(i2),xat(i3) 106 106 write (*,*) 'yvals:', yat(i1),yat(i2),yat(i3) 107 107 write (*,*) 'zvals:', zat(i1),zat(i2),zat(i3)
Note:
See TracChangeset
for help on using the changeset viewer.