source: zimmer.f

Last change on this file was 32289cd, checked in by baerbaer <baerbaer@…>, 14 years ago

Explicitly declare variables.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@33 26dc1dd8-5c4e-0410-9ffe-d298b4865968

  • Property mode set to 100644
File size: 3.4 KB
Line 
1!**************************************************************
2!
3! This file contains the subroutines: zimmer
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! CALLS: none
11!
12! **************************************************************
13
14
15 subroutine zimmer(nresi)
16
17! Calculates the Zimmerman-code of a configuration (Zimmerman et. al.
18! Macromolecules, vol. 10 (1977) 1-9.)
19!
20! Note the difference in Notations:
21! SMMP: Zimmerman, et.al.:
22! A A
23! B B
24! C C
25! D D
26! E E
27! F F
28! G G
29! H H
30! a A*
31! b B*
32! c C*
33! d D*
34! e E*
35! f F*
36! g G*
37! h H*
38!
39 include 'INCL.H'
40!f2py intent(in) nresi
41 character*1 zim
42 double precision xphi, xpsi
43
44 integer j, nresi, i, iv, nres, nursvr
45
46
47 do j=1,nresi
48 write(zimm(j:j),'(a1)') '-'
49 end do
50
51 do i=1,nvr
52 iv=idvr(i)
53 if(nmvr(iv).eq.'phi') then
54 xphi = vlvr(iv)*crd
55 xpsi = vlvr(idvr(i+1))*crd
56
57 if(xphi.le.-110.0d0) then
58 if(xpsi.le.-140.0d0.or.xpsi.gt.110.0d0) zim='E'
59 if(xpsi.le.-90.0d0.and.xpsi.gt.-140.0d0) zim='H'
60 if(xpsi.le.-40.0d0.and.xpsi.gt.-90.0d0) zim='G'
61 if(xpsi.le.20.0d0.and.xpsi.gt.-40.0d0) zim='B'
62 if(xpsi.le.110.0d0.and.xpsi.gt.20.0d0) zim='D'
63 else if(xphi.le.-40.0d0) then
64 if(xpsi.le.-140.0d0.or.xpsi.gt.130.0d0) zim='F'
65 if(xpsi.le.-90.0d0.and.xpsi.gt.-140.0d0) zim='H'
66 if(xpsi.le.-10.0d0.and.xpsi.gt.-90.0d0) zim='A'
67 if(xpsi.le.50.0d0.and.xpsi.gt.-10.0d0) zim='B'
68 if(xpsi.le.130.0d0.and.xpsi.gt.50.0d0) zim='C'
69 else if(xphi.le.0.0d0) then
70 zim='H'
71 else if(xphi.le.40.0d0) then
72 zim='h'
73 else if(xphi.le.110.0d0) then
74 if(xpsi.le.-130.0d0.or.xpsi.gt.140.0d0) zim='f'
75 if(xpsi.le.140.0d0.and.xpsi.gt.90.0d0) zim='h'
76 if(xpsi.le.90.0d0.and.xpsi.gt.10.0d0) zim='a'
77 if(xpsi.le.10.0d0.and.xpsi.gt.-50.0d0) zim='b'
78 if(xpsi.le.-50.0d0.and.xpsi.gt.-130.0d0) zim='c'
79 else
80 if(xpsi.le.-110.0d0.or.xpsi.gt.140.0d0) zim='e'
81 if(xpsi.le.140.0d0.and.xpsi.gt.90.0d0) zim='h'
82 if(xpsi.le.90.0d0.and.xpsi.gt.40.0d0) zim='g'
83 if(xpsi.le.40.0d0.and.xpsi.gt.-20.0d0) zim='b'
84 if(xpsi.le.-20.0d0.and.xpsi.gt.-110.0d0) zim='d'
85 end if
86 nres=nursvr(iv)
87 write(zimm(nres:nres),'(a1)') zim
88 end if
89 end do
90
91 return
92 end
93
Note: See TracBrowser for help on using the repository browser.