3 C Define constants and zero out tables.
5 implicit real*8 (a-h,o-z)
7 include 'DIMENSIONS.ZSCOPT'
11 include 'COMMON.IOUNITS'
12 include 'COMMON.CHAIN'
13 include 'COMMON.INTERACT'
15 include 'COMMON.LOCAL'
16 include 'COMMON.TORSION'
17 include 'COMMON.FFIELD'
18 include 'COMMON.SBRIDGE'
19 include 'COMMON.MINIM'
20 include 'COMMON.DERIV'
21 include "COMMON.WEIGHTS"
22 include "COMMON.NAMES"
23 include "COMMON.TIME1"
24 include "COMMON.THERMAL"
25 include "COMMON.TORCNSTR"
27 C The following is just to define auxiliary variables used in angle conversion
64 C CSA I/O units (separated from others especially for Jooyoung)
75 icsa_bank_reminimized=38
79 C Set default weights of the energy terms.
123 athet(j,i,ichir1,ichir2)=0.0D0
124 bthet(j,i,ichir1,ichir2)=0.0D0
144 gaussc(l,k,j,i)=0.0D0
157 v1(k,j,i,iblock)=0.0D0
158 v2(k,j,i,iblock)=0.0D0
167 C Initialize the bridge arrays
186 C Initialize variables used in minimization.
195 C Initialize the variables responsible for the mode of gradient storage.
201 if (print_order(i).eq.j) then
209 C Set timers and counters for the respective routines
228 nprint_ene=nprint_ene-1
232 c-------------------------------------------------------------------------
234 implicit real*8 (a-h,o-z)
236 include 'DIMENSIONS.ZSCOPT'
237 include 'COMMON.NAMES'
238 include 'COMMON.WEIGHTS'
239 include 'COMMON.FFIELD'
241 &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
242 & 'DSG','DGN','DSN','DTH',
243 &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
244 &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
245 &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
248 &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
249 &'a','y','w','v','l','i','f','m','c','x',
250 &'C','M','F','I','L','V','W','Y','A','G','T',
251 &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
252 data potname /'LJ','LJK','BP','GB','GBV','MM'/
254 & "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
255 & "ECORR6 ","EELLO ","ETURN3 ","ETURN4 ","ETURN6 ",
256 & "EBE bend","ESC SCloc","ETORS ","ETORSD ","EHPB","EVDWPP",
257 & "ESTR","EVDW2_14","ESCCOR","EDIHC","EVDW_T","ELIPTRAN",
258 & "EAFM","ETHETC","EMPTY"/
260 & "WSC","WSCP","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
261 & "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR","WTORD",
262 & "WHPB","WVDWPP","WBOND","WSCP14","WSCCOR","WDIHC","WSC",
263 & "WLIPTRAN","WAFM","WTHETC","WSHIELD"/
264 data ww0 /1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,
265 & 1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,0.0d0,1.0d0,
266 & 0.0d0,0.0,0.0d0,0.0d0,0.0d0,0.0d0/
268 data print_order /1,2,3,17,11,12,13,14,4,5,6,7,8,9,10,19,16,15,18,
271 c---------------------------------------------------------------------------
272 subroutine init_int_table
273 implicit real*8 (a-h,o-z)
275 include 'DIMENSIONS.ZSCOPT'
280 include 'COMMON.INFO'
282 include 'COMMON.CHAIN'
283 include 'COMMON.INTERACT'
284 include 'COMMON.LOCAL'
285 include 'COMMON.SBRIDGE'
286 include 'COMMON.IOUNITS'
287 logical scheck,lprint
303 cd write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
304 cd & (ihpb(i),jhpb(i),i=1,nss)
308 if (ihpb(ii).eq.i+nres) then
315 cd write (iout,*) 'i=',i,' scheck=',scheck,' jj=',jj
321 else if (jj.eq.nct) then
336 ind_scint=int_scint+nct-i
343 write (iout,'(a)') 'Interaction array:'
345 write (iout,'(i3,2(2x,2i3))')
346 & i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
357 write (iout,'(a)') 'Electrostatic interaction array:'
359 write (iout,'(i3,2(2x,2i3))') i,ielstart(i),ielend(i)
364 C Partition the SC-p interaction array
368 if (i.lt.nnt+iscp) then
370 iscpstart(i,1)=i+iscp
372 elseif (i.gt.nct-iscp) then
380 iscpstart(i,2)=i+iscp
385 write (iout,'(a)') 'SC-p interaction array:'
386 do i=iatscp_s,iatscp_e
387 write (iout,'(i3,2(2x,2i3))')
388 & i,(iscpstart(i,j),iscpend(i,j),j=1,nscp_gr(i))
391 C Partition local interactions
403 idihconstr_end=ndih_constr
405 ithetaconstr_end=ntheta_constr
410 c---------------------------------------------------------------------------
411 subroutine int_partition(int_index,lower_index,upper_index,atom,
412 & at_start,at_end,first_atom,last_atom,int_gr,jat_start,jat_end,*)
413 implicit real*8 (a-h,o-z)
415 include 'DIMENSIONS.ZSCOPT'
416 include 'COMMON.IOUNITS'
417 integer int_index,lower_index,upper_index,atom,at_start,at_end,
418 & first_atom,last_atom,int_gr,jat_start,jat_end
421 if (lprn) write (iout,*) 'int_index=',int_index
422 int_index_old=int_index
423 int_index=int_index+last_atom-first_atom+1
425 & write (iout,*) 'int_index=',int_index,
426 & ' int_index_old',int_index_old,
427 & ' lower_index=',lower_index,
428 & ' upper_index=',upper_index,
429 & ' atom=',atom,' first_atom=',first_atom,
430 & ' last_atom=',last_atom
431 if (int_index.ge.lower_index) then
433 if (at_start.eq.0) then
435 jat_start=first_atom-1+lower_index-int_index_old
439 if (lprn) write (iout,*) 'jat_start',jat_start
440 if (int_index.ge.upper_index) then
442 jat_end=first_atom-1+upper_index-int_index_old
447 if (lprn) write (iout,*) 'jat_end',jat_end
451 c------------------------------------------------------------------------------
452 subroutine hpb_partition
453 implicit real*8 (a-h,o-z)
455 include 'DIMENSIONS.ZSCOPT'
456 include 'COMMON.SBRIDGE'
457 include 'COMMON.IOUNITS'
460 cd write (iout,*) 'Processor',MyID,' MyRank',MyRank,
461 cd & ' nhpb',nhpb,' link_start=',link_start,
462 cd & ' link_end',link_end