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","WDFAD",
309 & "WDFAT","WDFAN","WDFAB"/
344 #if defined(SCP14) && defined(SPLITELE)
346 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
347 & 24,15,26,27,28,29,30,31,22,23,25,20/
350 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
351 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
352 #elif defined(SPLITELE)
354 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
355 & 24,15,26,27,28,29,30,31,22,23,25,20,0/
358 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
359 & 24,15,26,27,28,29,30,31,22,23,25,20,2*0/
362 #if defined(SCP14) && defined(SPLITELE)
364 data print_order/1,2,18,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
365 & 24,15,26,27,22,23,25,20,4*0/
368 data print_order/1,2,18,3,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
369 & 24,15,26,27,22,23,25,20,5*0/
370 #elif defined(SPLITELE)
372 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
373 & 24,15,26,27,22,23,25,20,5*0/
376 data print_order/1,2,3,16,17,11,12,13,14,4,5,6,7,8,9,10,21,19,
377 & 24,15,26,27,22,23,25,20,6*0/
381 c---------------------------------------------------------------------------
382 subroutine init_int_table
383 implicit real*8 (a-h,o-z)
385 include 'DIMENSIONS.ZSCOPT'
390 include 'COMMON.INFO'
392 include 'COMMON.CHAIN'
393 include 'COMMON.INTERACT'
394 include 'COMMON.LOCAL'
395 include 'COMMON.SBRIDGE'
396 include 'COMMON.IOUNITS'
397 include "COMMON.TORCNSTR"
398 logical scheck,lprint
414 cd write (iout,*) 'ns=',ns,' nss=',nss,' ihpb,jhpb',
415 cd & (ihpb(i),jhpb(i),i=1,nss)
420 if (ihpb(ii).eq.i+nres) then
427 cd write (iout,*) 'i=',i,' scheck=',scheck,' jj=',jj
433 else if (jj.eq.nct) then
448 ind_scint=int_scint+nct-i
455 write (iout,'(a)') 'Interaction array:'
457 write (iout,'(i3,2(2x,2i3))')
458 & i,(istart(i,iint),iend(i,iint),iint=1,nint_gr(i))
469 write (iout,'(a)') 'Electrostatic interaction array:'
471 write (iout,'(i3,2(2x,2i3))') i,ielstart(i),ielend(i)
476 C Partition the SC-p interaction array
480 if (i.lt.nnt+iscp) then
482 iscpstart(i,1)=i+iscp
484 elseif (i.gt.nct-iscp) then
492 iscpstart(i,2)=i+iscp
497 write (iout,'(a)') 'SC-p interaction array:'
498 do i=iatscp_s,iatscp_e
499 write (iout,'(i3,2(2x,2i3))')
500 & i,(iscpstart(i,j),iscpend(i,j),j=1,nscp_gr(i))
503 C Partition local interactions
515 idihconstr_end=ndih_constr
517 ithetaconstr_end=ntheta_constr
522 c---------------------------------------------------------------------------
523 subroutine int_partition(int_index,lower_index,upper_index,atom,
524 & at_start,at_end,first_atom,last_atom,int_gr,jat_start,jat_end,*)
525 implicit real*8 (a-h,o-z)
527 include 'COMMON.IOUNITS'
528 integer int_index,lower_index,upper_index,atom,at_start,at_end,
529 & first_atom,last_atom,int_gr,jat_start,jat_end
532 if (lprn) write (iout,*) 'int_index=',int_index
533 int_index_old=int_index
534 int_index=int_index+last_atom-first_atom+1
536 & write (iout,*) 'int_index=',int_index,
537 & ' int_index_old',int_index_old,
538 & ' lower_index=',lower_index,
539 & ' upper_index=',upper_index,
540 & ' atom=',atom,' first_atom=',first_atom,
541 & ' last_atom=',last_atom
542 if (int_index.ge.lower_index) then
544 if (at_start.eq.0) then
546 jat_start=first_atom-1+lower_index-int_index_old
550 if (lprn) write (iout,*) 'jat_start',jat_start
551 if (int_index.ge.upper_index) then
553 jat_end=first_atom-1+upper_index-int_index_old
558 if (lprn) write (iout,*) 'jat_end',jat_end
562 c------------------------------------------------------------------------------
563 subroutine hpb_partition
564 implicit real*8 (a-h,o-z)
566 include 'COMMON.SBRIDGE'
567 include 'COMMON.IOUNITS'
572 write (iout,*) 'HPB_PARTITION',
573 & ' nhpb',nhpb,' link_start=',link_start,
574 & ' link_end',link_end,' link_start_peak',link_start_peak,
575 & ' link_end_peak',link_end_peak
578 c------------------------------------------------------------------------------
579 subroutine homology_partition
580 implicit real*8 (a-h,o-z)
582 include 'DIMENSIONS.FREE'
583 include 'COMMON.SBRIDGE'
584 include 'COMMON.IOUNITS'
585 include 'COMMON.CONTROL'
586 include 'COMMON.HOMOLOGY'
587 include 'COMMON.HOMRESTR'
588 include 'COMMON.INTERACT'
589 cd write(iout,*)"homology_partition: lim_odl=",lim_odl,
590 cd & " lim_dih",lim_dih
592 link_end_homo=lim_odl
593 idihconstr_start_homo=nnt+3
594 idihconstr_end_homo=lim_dih+nnt-1+3
596 & ' lim_odl',lim_odl,' link_start=',link_start_homo,
597 & ' link_end',link_end_homo,' lim_dih',lim_dih,
598 & ' idihconstr_start_homo',idihconstr_start_homo,
599 & ' idihconstr_end_homo',idihconstr_end_homo