igeom= 8
intin= 9
ithep= 11
+ ithep_pdb=51
irotam=12
+ irotam_pdb=52
itorp= 13
itordp= 23
ielep= 14
icsa_in=40
crc for ifc error 118
icsa_pdb=42
+ itorkcc=43
+ ithetkcc=44
+C Lipidic input file for parameters range 60-79
+ iliptranpar=60
+C input file for transfer sidechain and peptide group inside the
+C lipidic environment if lipid is implicite
+
+C DNA input files for parameters range 80-99
+C Suger input files for parameters range 100-119
+C All-atom input files for parameters range 120-149
C
C Set default weights of the energy terms.
C
enddo
do i=1,ntyp
do j=1,ntyp
- aa(i,j)=0.0D0
- bb(i,j)=0.0D0
+ aa_aq(i,j)=0.0D0
+ bb_aq(i,j)=0.0D0
+ aa_lip(i,j)=0.0D0
+ bb_lip(i,j)=0.0D0
augm(i,j)=0.0D0
sigma(i,j)=0.0D0
r0(i,j)=0.0D0
dsc(ntyp1)=0.0D0
do i=-maxtor,maxtor
itortyp(i)=0
+cc write (iout,*) "TU DOCHODZE",i,itortyp(i)
do iblock=1,2
do j=-maxtor,maxtor
do k=1,maxterm
ihpb(i)=0
jhpb(i)=0
enddo
+C Initialize correlation arrays
+ do i=1,maxres
+ do k=1,2
+ b1(k,i)=0.0
+ b2(k,i)=0.0
+ b1tilde(k,i)=0.0
+c b2tilde(k,i)=0.0
+ do j=1,2
+C CC(j,k,i)=0.0
+C Ctilde(j,k,i)=0.0
+C DD(j,k,i)=0.0
+C Dtilde(j,k,i)=0.0
+ EE(j,k,i)=0.0
+ enddo
+ enddo
+ enddo
+ do i=-maxtor,maxtor
+ do k=1,2
+ do j=1,2
+ CC(j,k,i)=0.0
+ Ctilde(j,k,i)=0.0
+ DD(j,k,i)=0.0
+ Dtilde(j,k,i)=0.0
+ enddo
+ enddo
+ enddo
C
C Initialize timing.
C
C Initialize constants used to split the energy into long- and short-range
C components
C
- r_cut=2.0d0
- rlamb=0.3d0
+C r_cut=2.0d0
+C rlamb=0.3d0
#ifndef SPLITELE
nprint_ene=nprint_ene-1
#endif
include 'COMMON.NAMES'
include 'COMMON.FFIELD'
data restyp /
- &'DD' ,'DPR','DLY','DAR','DHI','DAS','DGL','DSG','DGN','DSN','DTH',
+ &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
+ & 'DSG','DGN','DSN','DTH',
&'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
&'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
- &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','D'/
+ &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
+ &'AIB','ABU','D'/
data onelet /
- &'z','p','k','r','h','d','e','n','q','s','t','g',
+ &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
&'a','y','w','v','l','i','f','m','c','x',
&'C','M','F','I','L','V','W','Y','A','G','T',
- &'S','Q','N','E','D','H','R','K','P','X'/
+ &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
data potname /'LJ','LJK','BP','GB','GBV'/
data ename /
& "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
& "ECORR6 ","EELLO ","ETURN3 ","ETURN4 ","ETURN6 ",
& "EBE bend","ESC SCloc","ETORS ","ETORSD ","EHPB ","EVDWPP ",
- & "ESTR ","EVDW2_14 ","UCONST ", " ","ESCCOR"/
+ & "ESTR ","EVDW2_14 ","UCONST ", " ","ESCCOR",
+ & "ELIPTRAN", "EAFM", "ETHETCNSTR", " "/
data wname /
& "WSC","WSCP","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC",
& "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR","WTORD",
- & "WSTRAIN","WVDWPP","WBOND","SCAL14"," "," ","WSCCOR"/
+ & "WSTRAIN","WVDWPP","WBOND","SCAL14"," "," ","WSCCOR",
+ & "WLT", "WAFM", "WTHETCNSR", " "/
data nprint_ene /20/
data print_order/1,2,3,11,12,13,14,4,5,6,7,8,9,10,19,18,15,17,16,
- & 21,0/
+ & 21,0,22,23,24,25/
end
c---------------------------------------------------------------------------
subroutine init_int_table
include 'COMMON.IOUNITS'
include 'COMMON.DERIV'
include 'COMMON.CONTACTS'
- common /przechowalnia/ iturn3_start_all(0:MaxProcs),
- & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
- & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
- & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
- & ielend_all(maxres,0:MaxProcs-1),
+ common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+ & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+ & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+ &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+ & ielend_all(maxres,0:max_fg_procs-1),
& ntask_cont_from_all(0:max_fg_procs-1),
& itask_cont_from_all(0:max_fg_procs-1,0:max_fg_procs-1),
& ntask_cont_to_all(0:max_fg_procs-1),
itask_cont_from(i)=fg_rank
itask_cont_to(i)=fg_rank
enddo
- lprint=.false.
+ lprint=energy_dec
if (lprint)
&write (iout,*) 'INIT_INT_TABLE nres=',nres,' nnt=',nnt,' nct=',nct
n_sc_int_tot=(nct-nnt+1)*(nct-nnt)/2-nss
cd & (ihpb(i),jhpb(i),i=1,nss)
do i=nnt,nct-1
scheck=.false.
+ if (dyn_ss) goto 10
do ii=1,nss
if (ihpb(ii).eq.i+nres) then
scheck=.true.
iatsc_s=nnt
iatsc_e=nct-1
#endif
+ if (iatsc_s.eq.0) iatsc_s=1
#ifdef MPI
if (lprint) write (*,*) 'Processor',fg_rank,' CG Group',kolor,
& ' absolute rank',myrank,' iatsc_s=',iatsc_s,' iatsc_e=',iatsc_e
endif
enddo ! i
#endif
+ if (iatscp_s.eq.0) iatscp_s=1
if (lprint) then
write (iout,'(a)') 'SC-p interaction array:'
do i=iatscp_s,iatscp_e
iphi_end=iturn3_end+2
iturn3_start=iturn3_start-1
iturn3_end=iturn3_end-1
+ call int_bounds(nres-3,itau_start,itau_end)
+ itau_start=itau_start+3
+ itau_end=itau_end+3
call int_bounds(nres-3,iphi1_start,iphi1_end)
iphi1_start=iphi1_start+3
iphi1_end=iphi1_end+3
call int_bounds(nct-nnt,ibondp_start,ibondp_end)
ibondp_start=ibondp_start+nnt
ibondp_end=ibondp_end+nnt
+ call int_bounds(nres,ilip_start,ilip_end)
+ ilip_start=ilip_start
call int_bounds1(nres-1,ivec_start,ivec_end)
c print *,"Processor",myrank,fg_rank,fg_rank1,
c & " ivec_start",ivec_start," ivec_end",ivec_end
else
call int_bounds(ndih_constr,idihconstr_start,idihconstr_end)
endif
+ if (ntheta_constr.eq.0) then
+ ithetaconstr_start=1
+ ithetaconstr_end=0
+ else
+ call int_bounds
+ & (ntheta_constr,ithetaconstr_start,ithetaconstr_end)
+ endif
c nsumgrad=(nres-nnt)*(nres-nnt+1)/2
c nlen=nres-nnt+1
nsumgrad=(nres-nnt)*(nres-nnt+1)/2
& ' ivec_start',ivec_start,' ivec_end',ivec_end,
& ' iset_start',iset_start,' iset_end',iset_end,
& ' idihconstr_start',idihconstr_start,' idihconstr_end',
- & idihconstr_end
+ & idihconstr_end,
+ & ' ithetaconstr_start',ithetaconstr_start,' ithetaconstr_end',
+ & ithetaconstr_end
+
write (*,*) 'Processor:',fg_rank,myrank,' igrad_start',
& igrad_start,' igrad_end',igrad_end,' ngrad_start',ngrad_start,
& ' ngrad_end',ngrad_end
iphi1_end=nres
idihconstr_start=1
idihconstr_end=ndih_constr
+ ithetaconstr_start=1
+ ithetaconstr_end=ntheta_constr
iphid_start=iphi_start
iphid_end=iphi_end-1
+ itau_start=4
+ itau_end=nres
ibond_start=2
ibond_end=nres-1
ibondp_start=nnt
- ibondp_end=nct-1
+C ibondp_end=nct-1
+ ibondp_end=nct
ivec_start=1
ivec_end=nres-1
iset_start=3
iset_end=nres+1
iint_start=2
iint_end=nres-1
+ ilip_start=1
+ ilip_end=nres
#endif
return
end
include "COMMON.INTERACT"
include "COMMON.SETUP"
include "COMMON.IOUNITS"
- integer ii,jj,itask(4),ntask_cont_to,itask_cont_to(0:MaxProcs-1)
+ integer ii,jj,itask(4),ntask_cont_to,
+ &itask_cont_to(0:max_fg_procs-1)
logical flag
integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
& iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
- common /przechowalnia/ iturn3_start_all(0:MaxProcs),
- & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
- & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
- & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
- & ielend_all(maxres,0:MaxProcs-1)
+ common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+ & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+ & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+ &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+ & ielend_all(maxres,0:max_fg_procs-1)
integer iproc,isent,k,l
c Determines whether to send interaction ii,jj to other processors; a given
c interaction can be sent to at most 2 processors.
include "COMMON.SETUP"
include "COMMON.IOUNITS"
integer ii,jj,itask(2),ntask_cont_from,
- & itask_cont_from(0:MaxProcs-1)
+ & itask_cont_from(0:max_fg_procs-1)
logical flag
integer iturn3_start_all,iturn3_end_all,iturn4_start_all,
& iturn4_end_all,iatel_s_all,iatel_e_all,ielstart_all,ielend_all
- common /przechowalnia/ iturn3_start_all(0:MaxProcs),
- & iturn3_end_all(0:MaxProcs),iturn4_start_all(0:MaxProcs),
- & iturn4_end_all(0:MaxProcs),iatel_s_all(0:MaxProcs),
- & iatel_e_all(0:MaxProcs),ielstart_all(maxres,0:MaxProcs-1),
- & ielend_all(maxres,0:MaxProcs-1)
+ common /przechowalnia/ iturn3_start_all(0:max_fg_procs),
+ & iturn3_end_all(0:max_fg_procs),iturn4_start_all(0:max_fg_procs),
+ & iturn4_end_all(0:max_fg_procs),iatel_s_all(0:max_fg_procs),
+ &iatel_e_all(0:max_fg_procs),ielstart_all(maxres,0:max_fg_procs-1),
+ & ielend_all(maxres,0:max_fg_procs-1)
integer iproc,k,l
do iproc=fg_rank+1,nfgtasks-1
do k=iturn3_start_all(iproc),iturn3_end_all(iproc)
subroutine add_task(iproc,ntask_cont,itask_cont)
implicit none
include "DIMENSIONS"
- integer iproc,ntask_cont,itask_cont(0:MaxProcs-1)
+ integer iproc,ntask_cont,itask_cont(0:max_fg_procs-1)
integer ii
do ii=1,ntask_cont
if (itask_cont(ii).eq.iproc) return