1 subroutine etotal_long(energia)
2 implicit real*8 (a-h,o-z)
5 c Compute the long-range slow-varying contributions to the energy
10 cMS$ATTRIBUTES C :: proc_proc
14 include 'COMMON.IOUNITS'
15 double precision energia(0:n_ene),energia1(0:n_ene+1)
16 include 'COMMON.FFIELD'
17 include 'COMMON.DERIV'
18 include 'COMMON.INTERACT'
19 include 'COMMON.SBRIDGE'
20 include 'COMMON.CHAIN'
24 c Zero out energy components
47 call int_from_cart1(.false.)
48 cd print '(a,i2)','Calling etotal ipot=',ipot
49 cd print *,'nnt=',nnt,' nct=',nct
51 C Compute the side-chain and electrostatic interaction energy
53 goto (101,102,103,104,105,106) ipot
54 C Lennard-Jones potential.
56 cd print '(a)','Exit ELJ'
58 C Lennard-Jones-Kihara potential (shifted).
61 C Berne-Pechukas potential (dilated LJ, angular dependence).
64 C Gay-Berne potential (shifted LJ, angular dependence).
67 C Gay-Berne-Vorobjev potential (shifted LJ, angular dependence).
70 C Soft-sphere potential
71 106 call e_softsphere(evdw)
73 C Calculate electrostatic (H-bonding) energy of the main chain.
76 c print *,"Processor",myrank," computed USCSC"
78 c print *,"Processor",myrank," left VEC_AND_DERIV"
81 if (welec.gt.0d0.or.wvdwpp.gt.0d0.or.wel_loc.gt.0d0.or.
82 & wturn3.gt.0d0.or.wturn4.gt.0d0) then
84 if (welec.gt.0d0.or.wel_loc.gt.0d0.or.
85 & wturn3.gt.0d0.or.wturn4.gt.0d0) then
87 call eelec(ees,evdw1,eel_loc,eello_turn3,eello_turn4)
96 c write (iout,*) "Soft-spheer ELEC potential"
97 call eelec_soft_sphere(ees,evdw1,eel_loc,eello_turn3,
101 C Calculate excluded-volume interaction energy between peptide groups
105 call escp(evdw2,evdw2_14)
107 c write (iout,*) "Soft-sphere SCP potential"
108 call escp_soft_sphere(evdw2,evdw2_14)
111 C 12/1/95 Multi-body terms
115 if ((wcorr4.gt.0.0d0 .or. wcorr5.gt.0.0d0 .or. wcorr6.gt.0.0d0
116 & .or. wturn6.gt.0.0d0) .and. ipot.lt.6) then
117 call multibody_eello(ecorr,ecorr5,ecorr6,eturn6,n_corr,n_corr1)
118 c write (2,*) 'n_corr=',n_corr,' n_corr1=',n_corr1,
119 c &" ecorr",ecorr," ecorr5",ecorr5," ecorr6",ecorr6," eturn6",eturn6
126 if ((wcorr4.eq.0.0d0 .and. wcorr.gt.0.0d0) .and. ipot.lt.6) then
127 call multibody_hb(ecorr,ecorr5,ecorr6,n_corr,n_corr1)
131 C Calculate the virtual-bond-angle energy.
136 C Calculate the SC local energy.
143 C Calculate the virtual-bond torsional energy.
145 call etor(etors,edihcnstr)
148 C 6/23/01 Calculate double-torsional energy
154 if (wsccor.gt.0.0d0) then
155 call eback_sc_corr(esccor)
160 C If performing constraint dynamics, call the constraint energy
161 C after the equilibration time
162 if(usampl.and.totT.gt.eq_time) then
169 c print *,"Processor",myrank," computed Uconstr"
175 energia(2)=evdw2-evdw2_14
192 energia(8)=eello_turn3
193 energia(9)=eello_turn4
200 energia(19)=edihcnstr
202 energia(20)=Uconst+Uconst_back
204 call sum_energy(energia,.true.)
207 c------------------------------------------------------------------------------
208 subroutine etotal_short(energia)
209 implicit real*8 (a-h,o-z)
212 c Compute the short-range fast-varying contributions to the energy
217 cMS$ATTRIBUTES C :: proc_proc
220 include 'COMMON.IOUNITS'
221 double precision energia(0:n_ene)
222 include 'COMMON.FFIELD'
223 include 'COMMON.DERIV'
224 include 'COMMON.INTERACT'
225 include 'COMMON.SBRIDGE'
226 include 'COMMON.CHAIN'
229 c Zero out energy components
252 call int_from_cart1(.false.)
254 c Calculate the bond-stretching energy
258 C Calculate the disulfide-bridge and other energy and the contributions
259 C from other distance constraints.
263 C Calculate the virtual-bond-angle energy.
268 C Calculate the SC local energy.
276 C Calculate the virtual-bond torsional energy.
278 call etor(etors,edihcnstr)
285 energia(2)=evdw2-evdw2_14
302 energia(8)=eello_turn3
303 energia(9)=eello_turn4
310 energia(19)=edihcnstr
312 energia(20)=Uconst+Uconst_back
314 call sum_energy(energia,.true.)