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.TORCNSTR"
26 C The following is just to define auxiliary variables used in angle conversion
66 C Lipidic input file for parameters range 60-79
69 C Set default weights of the energy terms.
115 athet(j,i,ichir1,ichir2)=0.0D0
116 bthet(j,i,ichir1,ichir2)=0.0D0
136 gaussc(l,k,j,i)=0.0D0
149 v1(k,j,i,iblock)=0.0D0
150 v2(k,j,i,iblock)=0.0D0
160 v1c(1,l,i,j,k,iblock)=0.0D0
161 v1s(1,l,i,j,k,iblock)=0.0D0
162 v1c(2,l,i,j,k,iblock)=0.0D0
163 v1s(2,l,i,j,k,iblock)=0.0D0
167 v2c(m,l,i,j,k,iblock)=0.0D0
168 v2s(m,l,i,j,k,iblock)=0.0D0
179 C Initialize the bridge arrays
192 dyn_ss_mask(i)=.false.
199 C Initialize variables used in minimization.
208 C Initialize the variables responsible for the mode of gradient storage.
214 if (print_order(i).eq.j) then
222 C Set timers and counters for the respective routines
241 nprint_ene=nprint_ene-1
245 c-------------------------------------------------------------------------
247 implicit real*8 (a-h,o-z)
249 include 'DIMENSIONS.ZSCOPT'
250 include 'COMMON.NAMES'
251 include 'COMMON.WEIGHTS'
252 include 'COMMON.FFIELD'
253 include 'COMMON.SHIELD'
255 &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
256 & 'DSG','DGN','DSN','DTH',
257 &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
258 &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
259 &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
262 &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
263 &'a','y','w','v','l','i','f','m','c','x',
264 &'C','M','F','I','L','V','W','Y','A','G','T',
265 &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
266 data potname /'LJ','LJK','BP','GB','GBV'/
301 & "WSC ","WSCP ","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
303 & "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR ","WTORD",
304 ! 15 16 17 18 19 20 21
305 & "WHPB ","WVDWPP","WSCP14","WBOND","WSCCOR","WDIHC","WSC",
306 ! 22 23 24 25 26 27 28
307 & "WLIPTRAN","WAFM","WTHETC","WSHIELD","WSAXS","WHOMO","WDFADIS",
309 & "WDFATOR","WDFANEI","WDFABET"/
310 data ww0 /1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,
311 & 1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,1.0d0,0.4d0,1.0d0,1.0d0,
312 & 0.0d0,0.0,0.0d0,0.0d0,0.0d0,0.0d0,0.0d0/
314 #if defined(SCP14) && defined(SPLITELE)
316 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
317 & 24,15,26,27,28,29,30,31,22,23,25,20/
320 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
321 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
322 #elif defined(SPLITELE)
324 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
325 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
328 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
329 & 24,15,26,27,28,29,30,31,22,23,25,20,2*0/
332 #if defined(SCP14) && defined(SPLITELE)
334 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
335 & 24,15,26,27,22,23,25,20,4*0/
338 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
339 & 24,15,26,27,22,23,25,20,5*0/
340 #elif defined(SPLITELE)
342 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
343 & 24,15,26,27,22,23,25,20,5*0/
346 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
347 & 24,15,26,27,22,23,25,20,6*0/
351 c---------------------------------------------------------------------------
352 subroutine init_int_table
353 implicit real*8 (a-h,o-z)
355 include 'DIMENSIONS.ZSCOPT'
360 include 'COMMON.INFO'
362 include 'COMMON.CHAIN'
363 include 'COMMON.INTERACT'
364 include 'COMMON.LOCAL'
365 include 'COMMON.SBRIDGE'
366 include 'COMMON.IOUNITS'
367 include "COMMON.TORCNSTR"
368 logical scheck,lprint
384 cd write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
385 cd & (ihpb(i),jhpb(i),i=1,nss)
390 if (ihpb(ii).eq.i+nres) then
397 cd write (iout,*) 'i=',i,' scheck=',scheck,' jj=',jj
403 else if (jj.eq.nct) then
418 ind_scint=int_scint+nct-i
425 write (iout,'(a)') 'Interaction array:'
427 write (iout,'(i3,2(2x,2i3))')
428 & i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
439 write (iout,'(a)') 'Electrostatic interaction array:'
441 write (iout,'(i3,2(2x,2i3))') i,ielstart(i),ielend(i)
446 C Partition the SC-p interaction array
450 if (i.lt.nnt+iscp) then
452 iscpstart(i,1)=i+iscp
454 elseif (i.gt.nct-iscp) then
462 iscpstart(i,2)=i+iscp
467 write (iout,'(a)') 'SC-p interaction array:'
468 do i=iatscp_s,iatscp_e
469 write (iout,'(i3,2(2x,2i3))')
470 & i,(iscpstart(i,j),iscpend(i,j),j=1,nscp_gr(i))
473 C Partition local interactions
485 idihconstr_end=ndih_constr
487 ithetaconstr_end=ntheta_constr
492 c---------------------------------------------------------------------------
493 subroutine int_partition(int_index,lower_index,upper_index,atom,
494 & at_start,at_end,first_atom,last_atom,int_gr,jat_start,jat_end,*)
495 implicit real*8 (a-h,o-z)
497 include 'COMMON.IOUNITS'
498 integer int_index,lower_index,upper_index,atom,at_start,at_end,
499 & first_atom,last_atom,int_gr,jat_start,jat_end
502 if (lprn) write (iout,*) 'int_index=',int_index
503 int_index_old=int_index
504 int_index=int_index+last_atom-first_atom+1
506 & write (iout,*) 'int_index=',int_index,
507 & ' int_index_old',int_index_old,
508 & ' lower_index=',lower_index,
509 & ' upper_index=',upper_index,
510 & ' atom=',atom,' first_atom=',first_atom,
511 & ' last_atom=',last_atom
512 if (int_index.ge.lower_index) then
514 if (at_start.eq.0) then
516 jat_start=first_atom-1+lower_index-int_index_old
520 if (lprn) write (iout,*) 'jat_start',jat_start
521 if (int_index.ge.upper_index) then
523 jat_end=first_atom-1+upper_index-int_index_old
528 if (lprn) write (iout,*) 'jat_end',jat_end
532 c------------------------------------------------------------------------------
533 subroutine hpb_partition
534 implicit real*8 (a-h,o-z)
536 include 'COMMON.SBRIDGE'
537 include 'COMMON.IOUNITS'
542 write (iout,*) 'HPB_PARTITION',
543 & ' nhpb',nhpb,' link_start=',link_start,
544 & ' link_end',link_end,' link_start_peak',link_start_peak,
545 & ' link_end_peak',link_end_peak