- Timestamp:
- 11/19/09 11:29:41 (14 years ago)
- Branches:
- master
- Children:
- 38d77eb
- Parents:
- 6650a56
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
enyshe.f
r6650a56 r32289cd 1 1 ! ************************************************************** 2 2 ! 3 ! This file contains the subroutines: enyshe 3 ! This file contains the subroutines: enyshe 4 4 ! 5 5 ! Copyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann, 6 ! Shura Hayryan, Chin-Ku 6 ! Shura Hayryan, Chin-Ku 7 7 ! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann, 8 8 ! Jan H. Meinke, Sandipan Mohanty … … 20 20 ! 21 21 ! The function loops over all moving sets within the molecule. Within 22 ! this loop it loops over the van-der-Waals domains of each atom in the 22 ! this loop it loops over the van-der-Waals domains of each atom in the 23 23 ! moving set and finally over the atoms that belong to the 1-4 interaction 24 24 ! set. … … 28 28 29 29 ! If nml == 0 calculate the interaction between all pairs. 30 double precision e0, vr, cqi, xi, yi, zi, xij, yij, zij, rij2 31 double precision rij4, rij6, rij, sr, ep 32 33 integer nml, ntlvr, ifivr, i1s, io, iv, ia, it, ic, i2s, ims, i1 34 integer i2, i, ity, ivw, j, jty, i14 35 30 36 if (nml.eq.0) then 31 37 ntlvr = nvr … … 33 39 ntlvr=nvrml(nml) 34 40 endif 35 41 36 42 if (ntlvr.eq.0) then 37 43 write (*,'(a,i4)') … … 48 54 ifivr = ivrml1(1) 49 55 i1s = imsml1(ntlml) + nmsml(ntlml) 50 else 56 else 51 57 ! Index of first variable in molecule. 52 58 ifivr=ivrml1(nml) … … 54 60 i1s=imsml1(nml)+nmsml(nml) 55 61 endif 56 ! Loop over moving sets/variables in reverse order 57 do io=ifivr+ntlvr-1,ifivr,-1 62 ! Loop over moving sets/variables in reverse order 63 do io=ifivr+ntlvr-1,ifivr,-1 58 64 ! The array iorvr contains the variables in an "apropriate" order. 59 iv=iorvr(io) 65 iv=iorvr(io) 60 66 ! Index of the primary moving atom for the variable with index iv 61 ia=iatvr(iv) 67 ia=iatvr(iv) 62 68 ! Get the type of variable iv (valence length, valence angle, dihedral angle) 63 it=ityvr(iv) 69 it=ityvr(iv) 64 70 ! Class of variable iv's potential (Q: What are they) 65 ic=iclvr(iv) 71 ic=iclvr(iv) 66 72 ! If iv is a dihedral angle ... 67 if (it.eq.3) then 73 if (it.eq.3) then 68 74 ! Barrier height * 1/2 of the potential of iv. 69 75 e0=e0to(ic) 70 76 ! Calculate the periodic potential term. sgto is the sign of the barrier, rnto is 71 77 ! the periodicity and toat is torsion angle(?) associate with atom ia. 72 if (e0.ne.0.) 78 if (e0.ne.0.) 73 79 & eyvr=eyvr+e0*(1.0+sgto(ic)*cos(toat(ia)*rnto(ic))) 74 80 ! else if iv is a valence angle ... 75 elseif (it.eq.2) then 81 elseif (it.eq.2) then 76 82 ! vr is the valence angle of ia 77 83 vr=baat(ia) 78 84 ! else if iv is a valence length... 79 elseif (it.eq.1) then 85 elseif (it.eq.1) then 80 86 ! vr is the length of the valence bond 81 87 vr=blat(ia) … … 86 92 i2s=i1s-1 87 93 ! index of first moving set associated with iv 88 i1s=imsvr1(iv) 94 i1s=imsvr1(iv) 89 95 ! Loop over all moving sets starting from the one associated with vr to the end. 90 do ims=i1s,i2s 96 do ims=i1s,i2s 91 97 ! First atom of the current moving set 92 98 i1=latms1(ims) … … 94 100 i2=latms2(ims) 95 101 ! Loop over all atoms of the current moving set. 96 do i=i1,i2 102 do i=i1,i2 97 103 ! Atom class of current atom 98 104 ity=ityat(i) … … 104 110 zi=zat(i) 105 111 ! Loop over the atoms of the van der Waals domain belonging to atom i 106 do ivw=ivwat1(i),ivwat2(i) 107 ! Loop over the atoms of the van der Waals domain of the atoms of the 112 do ivw=ivwat1(i),ivwat2(i) 113 ! Loop over the atoms of the van der Waals domain of the atoms of the 108 114 ! van der Waals domain of atom i 109 115 ! Q: Which atoms are in these domains? 110 do j=lvwat1(ivw),lvwat2(ivw) 116 do j=lvwat1(ivw),lvwat2(ivw) 111 117 ! Atom type of partner 112 118 jty=ityat(j) … … 139 145 endif 140 146 141 enddo 142 enddo 143 147 enddo 148 enddo 149 144 150 ! Loop over 1-4 interaction partners 145 151 ! The interactions between atoms that are three bonds apart in the protein are 146 152 ! dominated by quantum mechanical effects. They are treated separately. 147 do i14=i14at1(i),i14at2(i) 153 do i14=i14at1(i),i14at2(i) 148 154 j=l14at(i14) 149 155
Note:
See TracChangeset
for help on using the changeset viewer.