2 implicit real*8 (a-h,o-z)
4 include "DIMENSIONS.ZSCOPT"
11 include 'COMMON.INTERACT'
12 include 'COMMON.FFIELD'
14 include 'COMMON.IOUNITS'
15 include 'COMMON.TIME1'
16 include "COMMON.NAMES"
17 include "COMMON.ENERGIES"
19 c This subrouting calculates total Cartesian coordinate gradient.
20 c The subroutine chainbuild_cart and energy MUST be called beforehand.
26 write (iout,*) "gradc, gradx, gloc before sum_gradient"
28 write (iout,'(i5,2(3f10.5,5x),f10.5)') i,(gradc(j,i,icg),j=1,3),
29 & (gradx(j,i,icg),j=1,3),gloc(i,icg)
31 write (iout,*) "ghpbc ghpbx"
33 write (iout,'(i5,2(3f10.5,5x))') i,(ghpbc(j,i),j=1,3),
38 call sum_gradient_compon
40 write (iout,*) "gradc, gradx, gloc after sum_gradient"
42 write (iout,'(i5,2(3f10.5,5x),f10.5)') i,(gradc(j,i,icg),j=1,3),
43 & (gradx(j,i,icg),j=1,3),gloc(i,icg)
46 c If performing constraint dynamics, add the gradients of the constraint energy
52 time_intcartderiv=time_intcartderiv+MPI_Wtime()-time01
54 cd call checkintcartgrad
55 cd write(iout,*) 'calling int_to_cart'
57 write (iout,*) "gcart, gxcart, gloc before int_to_cart"
61 gcart(j,i)=gradc(j,i,icg)
62 gxcart(j,i)=gradx(j,i,icg)
65 write (iout,'(i5,2(3f10.5,5x),f10.5)') i,(gcart(j,i),j=1,3),
66 & (gxcart(j,i),j=1,3),gloc(i,icg)
74 time_inttocart=time_inttocart+MPI_Wtime()-time01
77 write (iout,*) "gcart and gxcart after int_to_cart"
79 write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),
82 write (iout,*) "Energy components after int_to_cart"
85 write (iout,'(a,i3,1x,a)') "Component",iene,ename(iene)
88 write (iout,'(a4,i5,3e15.5,5x,e15.5,5x,3e15.5,5x,e15.5)')
89 & restyp(itype(i)),i,(gcompon(iene,j,i),j=1,3),
90 & gloc_compon(iene,i),(gcomponx(iene,j,i),j=1,3),
91 & gloc_compon(iene,nres+i)
98 write (iout,*) "CARGRAD"
102 gcart(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
104 gcompon(k,j,i)=-gcompon(k,j,i)+gcompon(k,j,i-1)
107 ! gcart_new(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
109 ! write (iout,'(i5,3f10.5,5x,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3), &
110 ! (gcart_new(j,i),j=1,3),(gxcart(j,i),j=1,3)
112 ! Correction: dummy residues
115 ! gcart_new(j,nnt)=gcart_new(j,nnt)+gcart_new(j,1)
116 gcart(j,nnt)=gcart(j,nnt)+gcart(j,1)
118 gcompon(k,j,nnt)=gcompon(k,j,nnt)+gcompon(k,j,1)
122 if (nct.lt.nres) then
124 ! gcart_new(j,nct)=gcart_new(j,nct)+gcart_new(j,nres)
125 gcart(j,nct)=gcart(j,nct)+gcart(j,nres)
127 gcompon(k,j,nct)=gcompon(k,j,nct)+gcompon(k,j,nres)
132 write (iout,*) "gcart and gxcart after trasformation"
134 write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3),
135 & (gxcart(j,i),j=1,3)
138 write (iout,*) "Gradient components after transformation"
142 write (iout,'(a,i3,1x,a)') "Component",iene,ename(iene)
145 write (iout,'(a4,i5,3e15.5,5x,e15.5,5x,3e15.5,5x,e15.5)')
146 & restyp(itype(i)),i,(gcompon(iene,j,i),j=1,3),
147 & gloc_compon(iene,i),(gcomponx(iene,j,i),j=1,3),
148 & gloc_compon(iene,nres+i)
155 time_cartgrad=time_cartgrad+MPI_Wtime()-time00
159 C-------------------------------------------------------------------------
161 implicit real*8 (a-h,o-z)
163 include "DIMENSIONS.ZSCOPT"
164 include 'COMMON.DERIV'
165 include 'COMMON.CHAIN'
168 include 'COMMON.SCCOR'
170 C Initialize Cartesian-coordinate gradient
178 gvdwc_scpp(j,i)=0.0d0
185 gel_loc_long(j,i)=0.0d0
188 gcorr3_turn(j,i)=0.0d0
189 gcorr4_turn(j,i)=0.0d0
191 gradcorr_long(j,i)=0.0d0
192 gradcorr5_long(j,i)=0.0d0
193 gradcorr6_long(j,i)=0.0d0
194 gcorr6_turn_long(j,i)=0.0d0
197 gcorr6_turn(j,i)=0.0d0
206 gshieldc_ec(j,i)=0.0d0
207 gshieldc_t3(j,i)=0.0d0
208 gshieldc_t4(j,i)=0.0d0
209 gshieldc_ll(j,i)=0.0d0
211 gg_tube_sc(j,i)=0.0d0
214 gloc_sc(intertyp,i,icg)=0.0d0
219 C Initialize the gradient of local energy terms.
229 gel_loc_turn3(i)=0.0d0
230 gel_loc_turn4(i)=0.0d0
231 gel_loc_turn6(i)=0.0d0
234 c initialize gcart and gxcart