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"
25 include "COMMON.SETUP"
27 C The following is just to define auxiliary variables used in angle conversion
67 C Lipidic input file for parameters range 60-79
70 C Set default weights of the energy terms.
116 athet(j,i,ichir1,ichir2)=0.0D0
117 bthet(j,i,ichir1,ichir2)=0.0D0
137 gaussc(l,k,j,i)=0.0D0
150 v1(k,j,i,iblock)=0.0D0
151 v2(k,j,i,iblock)=0.0D0
161 v1c(1,l,i,j,k,iblock)=0.0D0
162 v1s(1,l,i,j,k,iblock)=0.0D0
163 v1c(2,l,i,j,k,iblock)=0.0D0
164 v1s(2,l,i,j,k,iblock)=0.0D0
168 v2c(m,l,i,j,k,iblock)=0.0D0
169 v2s(m,l,i,j,k,iblock)=0.0D0
180 C Initialize the bridge arrays
193 dyn_ss_mask(i)=.false.
200 C Initialize variables used in minimization.
209 C Initialize the variables responsible for the mode of gradient storage.
215 if (print_order(i).eq.j) then
223 C Set timers and counters for the respective routines
243 nprint_ene=nprint_ene-1
247 c-------------------------------------------------------------------------
249 implicit real*8 (a-h,o-z)
251 include 'DIMENSIONS.ZSCOPT'
252 include 'COMMON.NAMES'
253 include 'COMMON.WEIGHTS'
254 include 'COMMON.FFIELD'
255 include 'COMMON.SHIELD'
257 &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
258 & 'DSG','DGN','DSN','DTH',
259 &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
260 &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
261 &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
264 &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
265 &'a','y','w','v','l','i','f','m','c','x',
266 &'C','M','F','I','L','V','W','Y','A','G','T',
267 &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
268 data potname /'LJ','LJK','BP','GB','GBV'/
303 & "WSC ","WSCP ","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
305 & "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR ","WTORD",
306 ! 15 16 17 18 19 20 21
307 & "WHPB ","WVDWPP","WSCP14","WBOND","WSCCOR","WDIHC","WSC",
308 ! 22 23 24 25 26 27 28
309 & "WLT ","WAFM","WTHETC","WSHIELD","WSAXS","WHOMO","WDFAD",
311 & "WDFAT","WDFAN","WDFAB"/
346 #if defined(SCP14) && defined(SPLITELE)
348 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
349 & 24,15,26,27,28,29,30,31,22,23,25,20/
352 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
353 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
354 #elif defined(SPLITELE)
356 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
357 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
360 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
361 & 24,15,26,27,28,29,30,31,22,23,25,20,2*0/
364 #if defined(SCP14) && defined(SPLITELE)
366 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
367 & 24,15,26,27,22,23,25,20,4*0/
370 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
371 & 24,15,26,27,22,23,25,20,5*0/
372 #elif defined(SPLITELE)
374 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
375 & 24,15,26,27,22,23,25,20,5*0/
378 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
379 & 24,15,26,27,22,23,25,20,6*0/
383 c---------------------------------------------------------------------------
384 subroutine init_int_table
385 implicit real*8 (a-h,o-z)
387 include 'DIMENSIONS.ZSCOPT'
392 include 'COMMON.INFO'
394 include 'COMMON.CHAIN'
395 include 'COMMON.INTERACT'
396 include 'COMMON.LOCAL'
397 include 'COMMON.SBRIDGE'
398 include 'COMMON.IOUNITS'
399 include "COMMON.TORCNSTR"
400 logical scheck,lprint
416 cd write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
417 cd & (ihpb(i),jhpb(i),i=1,nss)
422 if (ihpb(ii).eq.i+nres) then
429 cd write (iout,*) 'i=',i,' scheck=',scheck,' jj=',jj
435 else if (jj.eq.nct) then
450 ind_scint=int_scint+nct-i
457 write (iout,'(a)') 'Interaction array:'
459 write (iout,'(i3,2(2x,2i3))')
460 & i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
471 write (iout,'(a)') 'Electrostatic interaction array:'
473 write (iout,'(i3,2(2x,2i3))') i,ielstart(i),ielend(i)
478 C Partition the SC-p interaction array
482 if (i.lt.nnt+iscp) then
484 iscpstart(i,1)=i+iscp
486 elseif (i.gt.nct-iscp) then
494 iscpstart(i,2)=i+iscp
499 write (iout,'(a)') 'SC-p interaction array:'
500 do i=iatscp_s,iatscp_e
501 write (iout,'(i3,2(2x,2i3))')
502 & i,(iscpstart(i,j),iscpend(i,j),j=1,nscp_gr(i))
505 C Partition local interactions
517 idihconstr_end=ndih_constr
519 ithetaconstr_end=ntheta_constr
524 c---------------------------------------------------------------------------
525 subroutine int_partition(int_index,lower_index,upper_index,atom,
526 & at_start,at_end,first_atom,last_atom,int_gr,jat_start,jat_end,*)
527 implicit real*8 (a-h,o-z)
529 include 'COMMON.IOUNITS'
530 integer int_index,lower_index,upper_index,atom,at_start,at_end,
531 & first_atom,last_atom,int_gr,jat_start,jat_end
534 if (lprn) write (iout,*) 'int_index=',int_index
535 int_index_old=int_index
536 int_index=int_index+last_atom-first_atom+1
538 & write (iout,*) 'int_index=',int_index,
539 & ' int_index_old',int_index_old,
540 & ' lower_index=',lower_index,
541 & ' upper_index=',upper_index,
542 & ' atom=',atom,' first_atom=',first_atom,
543 & ' last_atom=',last_atom
544 if (int_index.ge.lower_index) then
546 if (at_start.eq.0) then
548 jat_start=first_atom-1+lower_index-int_index_old
552 if (lprn) write (iout,*) 'jat_start',jat_start
553 if (int_index.ge.upper_index) then
555 jat_end=first_atom-1+upper_index-int_index_old
560 if (lprn) write (iout,*) 'jat_end',jat_end
564 c------------------------------------------------------------------------------
565 subroutine hpb_partition
566 implicit real*8 (a-h,o-z)
568 include 'COMMON.SBRIDGE'
569 include 'COMMON.IOUNITS'
574 write (iout,*) 'HPB_PARTITION',
575 & ' nhpb',nhpb,' link_start=',link_start,
576 & ' link_end',link_end,' link_start_peak',link_start_peak,
577 & ' link_end_peak',link_end_peak
580 c------------------------------------------------------------------------------
581 subroutine homology_partition
582 implicit real*8 (a-h,o-z)
584 include 'DIMENSIONS.FREE'
585 include 'COMMON.SBRIDGE'
586 include 'COMMON.IOUNITS'
587 include 'COMMON.CONTROL'
588 include 'COMMON.HOMOLOGY'
589 include 'COMMON.HOMRESTR'
590 include 'COMMON.INTERACT'
591 cd write(iout,*)"homology_partition: lim_odl=",lim_odl,
592 cd & " lim_dih",lim_dih
594 link_end_homo=lim_odl
595 idihconstr_start_homo=nnt+3
596 idihconstr_end_homo=lim_dih+nnt-1+3
598 & ' lim_odl',lim_odl,' link_start=',link_start_homo,
599 & ' link_end',link_end_homo,' lim_dih',lim_dih,
600 & ' idihconstr_start_homo',idihconstr_start_homo,
601 & ' idihconstr_end_homo',idihconstr_end_homo