! -*- f90 -*- ! Note: the context of this file is case sensitive. python module metropolis__user__routines interface metropolis_user_interface function dummy(x) result (r) ! in :smmp:metropolis.f:metropolis:unknown_interface real*8 :: x real*8 :: r end function dummy end interface metropolis_user_interface end python module metropolis__user__routines python module smmp ! in interface ! in :smmp block data updtchs ! in :smmp:metropolis.f integer optional,dimension(5) :: ncalls=5*0 integer optional,dimension(5) :: nacalls=5*0 double precision optional :: up2bmax=4.0d0 double precision optional :: up2bmin=0.5d0 common /updstats/ ncalls,nacalls common /updtparam/ up2bmax,up2bmin end block data updtchs subroutine metropolis(eol1,acz,dummy) ! in :smmp:metropolis.f use metropolis__user__routines real*8 intent(in,out) :: eol1 real*8 intent(in,out) :: acz external dummy real*8 :: vdvol real*8 :: asa real*8 :: asap real*8 :: asah integer :: bgsnvar integer dimension(8) :: iph real*8 dimension(2600) :: cgat real*8 dimension(2600) :: xbaat real*8 dimension(2600) :: ybaat real*8 dimension(2600) :: zbaat real*8 dimension(2600) :: baat real*8 dimension(2600) :: snbaat real*8 dimension(2600) :: csbaat real*8 dimension(2600) :: xtoat real*8 dimension(2600) :: ytoat real*8 dimension(2600) :: ztoat real*8 dimension(2600) :: toat real*8 dimension(2600) :: sntoat real*8 dimension(2600) :: cstoat real*8 dimension(2600) :: blat real*8 dimension(2602) :: xat real*8 dimension(2602) :: yat real*8 dimension(2602) :: zat integer*4 dimension(100,100) :: ijcont integer*4 dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer*4 :: nvr real*8 dimension(9,18) :: coef_sl real*8 dimension(9,18) :: rad_vdw real*8 dimension(100) :: surfres integer*4 :: ntyhb integer*4 dimension(100) :: ixtyhb integer*4 dimension(100) :: nutyhb integer*4 dimension(10,10) :: mmhb character dimension(4,2600) :: nmat integer*4 :: lunlib integer*4 :: lunseq integer*4 :: lunchg integer*4 :: lunvar integer*4 :: lunrst logical dimension(800) :: isrfvr real*8 dimension(500) :: pbrt real*8 dimension(1000) :: vuvrrt real*8 dimension(1000) :: dvvrrt integer*4 dimension(2600) :: ityat integer*4 dimension(2600) :: iowat integer*4 dimension(2600) :: iyowat integer*4 dimension(2600) :: nbdat integer*4 dimension(3,2600) :: ibdat integer*4 dimension(3,2600) :: iybdat integer*4 dimension(2600) :: ixmsat real*8 :: ehm real*8 dimension(18) :: atpl real*8 dimension(18) :: efel real*8 dimension(18) :: emin real*8 dimension(18) :: rmin real*8 dimension(4,6) :: chb_s real*8 dimension(4,6) :: ahb_s real*8 dimension(19) :: e0to_s real*8 dimension(19) :: sgto_s real*8 dimension(19) :: rnto_s real*8 :: eps_s real*8 dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer*4 :: ntlml integer*4 dimension(10) :: irsml1 integer*4 dimension(10) :: irsml2 integer*4 dimension(10) :: ivrml1 integer*4 dimension(10) :: nvrml integer*4 dimension(10) :: imsml1 integer*4 dimension(10) :: nmsml integer*4 dimension(10) :: iadml1 integer*4 dimension(10) :: nadml integer*4 dimension(3,10) :: ixrfpt integer*4 dimension(2600) :: ixatp integer*4 :: ireg real*8 dimension(100) :: blath real*8 dimension(100) :: baath real*8 dimension(100) :: toath real*8 dimension(100) :: cgath integer*4 dimension(100,100) :: iref integer*4 :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer*4 :: ientyp real*8 :: rgyh real*8 :: rgyp double precision :: abgs double precision :: bbgs double precision dimension(8) :: dph integer dimension(100) :: bgsvar integer*4 :: idloa integer*4 :: idloz integer*4 :: idupa integer*4 :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer*4 dimension(100) :: ityath integer*4 dimension(100) :: iowath integer*4 dimension(100) :: iyowath integer*4 dimension(100) :: nbdath integer*4 dimension(3,100) :: ibdath integer*4 dimension(3,100) :: iybdath integer*4 dimension(100) :: ityvrh integer*4 dimension(100) :: iclvrh integer*4 dimension(100) :: iatvrh integer*4 dimension(5) :: ncalls integer*4 dimension(5) :: nacalls character dimension(100,4) :: seq integer*4 :: nchp integer*4 dimension(100) :: nchrsp integer*4 :: nrsp integer*4 dimension(1000) :: irsatp integer*4 dimension(1000) :: nrsatp integer*4 :: natp integer*4 dimension(10000) :: noatp real*8 dimension(2600) :: rvdw real*8 dimension(2600) :: sigma real*8 dimension(2600,3) :: gradan integer*4 dimension(18,18) :: ihbty character dimension(100) :: chnp character dimension(1000,3) :: rsnmp character dimension(1000,5) :: rsidp character dimension(10000,4) :: atnmp double precision :: kbias double precision :: epshb1 double precision :: epshb2 double precision :: powa double precision :: powb double precision :: sighb double precision :: cthb double precision :: cthb2 double precision :: alhb double precision :: blhb double precision :: sighb2 double precision :: cdon double precision :: cacc double precision :: casc integer*4 dimension(100,6) :: ihpat integer*4 dimension(100) :: nhpat double precision dimension(3 * 3) :: hpstrg double precision :: exvk double precision :: exvcut double precision :: exvcut2 integer*4 dimension(40 + 41,2600) :: matcon double precision dimension(18) :: sigsa double precision dimension(18,18) :: sig2lcp double precision dimension(18,18) :: asalcp double precision dimension(18,18) :: bsalcp integer*4 dimension(5000) :: lcp1 integer*4 dimension(5000) :: lcp2 integer*4 dimension(10) :: ilpst integer*4 dimension(10) :: ilpnd double precision :: exvlam double precision :: exvcutg double precision :: exvcutg2 double precision dimension(18,18) :: sig2exv double precision dimension(18,18) :: asaexv double precision dimension(18,18) :: bsaexv integer*4 :: npnt character dimension(10,80) :: nmml real*8 dimension(18,18) :: cij real*8 dimension(18,18) :: aij real*8 dimension(18,18) :: a14 real*8 dimension(18,18) :: chb real*8 dimension(18,18) :: ahb real*8 dimension(19) :: e0to real*8 dimension(19) :: sgto real*8 dimension(19) :: rnto real*8 dimension(19) :: esnto real*8 :: conv real*8 :: plt real*8 :: slp real*8 :: cohb real*8 dimension(10000) :: xatp real*8 dimension(10000) :: yatp real*8 dimension(10000) :: zatp integer*4 dimension(100) :: iatrs1 integer*4 dimension(100) :: iatrs2 integer*4 dimension(100) :: ixatrs integer*4 dimension(100) :: ivrrs1 integer*4 dimension(100) :: nvrrs integer*4 :: ntlrt integer*4 :: ntlsu integer*4 dimension(500) :: i1vrrt integer*4 dimension(500) :: i2vrrt integer*4 dimension(4800) :: iprtsu integer*4 dimension(800) :: i1rtsu integer*4 dimension(800) :: nrtsu integer*4 dimension(800) :: i1vrsu integer*4 dimension(800) :: i2vrsu integer*4 dimension(800) :: ipvrsu real*8 dimension(3,10) :: rfpt real*8 dimension(6,10) :: gbpr real*8 dimension(3,10) :: xrfax real*8 dimension(3,10) :: yrfax real*8 dimension(3,10) :: zrfax integer*4 dimension(100) :: in integer*4 dimension(100) :: ica integer*4 dimension(100) :: ic integer*4 dimension(800) :: mlvr integer*4 dimension(100) :: iphi integer*4 dimension(100) :: ipsi logical dimension(800) :: fxvr real*8 :: eyel real*8 :: eyvw real*8 :: eyhb real*8 :: eyvr real*8 :: eysm real*8 :: eysl real*8 :: eyrg real*8 :: eyslh real*8 :: eyslp real*8 :: eyab real*8 :: eysmi real*8 :: eyhbi real*8 :: eyeli real*8 :: eyvwi real*8 dimension(800) :: gdeyvr real*8 dimension(800) :: gdeyrg real*8 dimension(800) :: gdeysl real*8 dimension(60) :: gdeygb real*8 :: wtey real*8 :: wtrg integer*4 dimension(800) :: iatvr integer*4 dimension(800) :: ityvr integer*4 dimension(800) :: iclvr integer*4 dimension(800) :: iorvr integer*4 dimension(800) :: imsvr1 integer*4 dimension(800) :: imsvr2 integer*4 dimension(2400) :: latms1 integer*4 dimension(2400) :: latms2 integer*4 dimension(800) :: iadvr1 integer*4 dimension(800) :: iadvr2 integer*4 dimension(800) :: ladvr integer*4 dimension(800) :: idvr integer :: enysolct character dimension(3,800) :: nmvr real*8 :: boxsize integer :: seed character*100 :: zimm integer*4 :: itysol logical :: isolscl real*8 dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer*4 dimension(10) :: nvwml integer*4 dimension(10) :: ivwml1 integer*4 dimension(10) :: n14ml integer*4 dimension(10) :: i14ml1 integer*4 dimension(2600) :: ivwat1 integer*4 dimension(2600) :: ivwat2 integer*4 dimension(2600) :: i14at1 integer*4 dimension(2600) :: i14at2 integer*4 dimension(10400) :: lvwat1 integer*4 dimension(10400) :: lvwat2 integer*4 dimension(10400) :: l14at integer*4 dimension(10400) :: ixatvw integer*4 dimension(10400) :: ixat14 real*8 dimension(800) :: olvlvr real*8 dimension(800) :: vlvr real*8 dimension(800) :: axvr real*8 :: beta real*8 dimension(18,18) :: c_f real*8 dimension(18,18) :: a_f real*8 dimension(4,6) :: chb_f real*8 dimension(4,6) :: ahb_f real*8 dimension(19) :: e0to_f real*8 dimension(19) :: sgto_f real*8 dimension(19) :: rnto_f real*8 :: plt_f real*8 :: slp_f real*8 :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /bgs_i/ bgsnvar,iph common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /bgs_r/ abgs,bbgs,dph,bgsvar common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /updstats/ ncalls,nacalls common /res_c/ seq common /pdb_i/ nchp,nchrsp,nrsp,irsatp,nrsatp,natp,noatp common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pdb_c/ chnp,rsnmp,rsidp,atnmp common /lundff/ kbias,epshb1,epshb2,powa,powb,sighb,cthb,cthb2,alhb,blhb,sighb2,cdon,cacc,casc,ihpat,nhpat,hpstrg,exvk,exvcut,exvcut2,matcon,sigsa,sig2lcp,asalcp,bsalcp,lcp1,lcp2,ilpst,ilpnd,exvlam,exvcutg,exvcutg2,sig2exv,asaexv,bsaexv common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /pdb_r/ xatp,yatp,zatp common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /lundds/ in,ica,ic,mlvr,iphi,ipsi common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine metropolis function energy() ! in :smmp:energy.f double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f real*8 :: energy common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end function energy function enysol(nmol) ! in :smmp:enysol.f integer optional, intent(in):: nmol=0 double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f real*8 :: enysol common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end function enysol subroutine setvar(nml,vlvrx) ! in :smmp:setvar.f integer intent(in) :: nml double precision dimension(800) :: vlvrx double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine setvar subroutine minim(imin,maxit,eps) ! in :smmp:minim.f integer*4 intent(in) :: imin integer*4 intent(in) :: maxit real*8 :: eps double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine minim subroutine contacts(ncn,nham2,dham) ! in :smmp:contacts.f integer*4 intent(out) :: ncn integer*4 intent(out) :: nham2 real*8 intent(out) :: dham double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine contacts subroutine hbond(nml,mhb,ipr) ! in :smmp:hbond.f integer*4 :: nml integer*4 intent(out) :: mhb integer*4 :: ipr double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine hbond subroutine interhbond(mhb) ! in :smmp:hbond.f integer*4 intent(out) :: mhb double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine interhbond subroutine helix(nhel,mhel,nbet,mbet) ! in :smmp:helix.f integer*4 intent(out) :: nhel integer*4 intent(out) :: mhel integer*4 intent(out) :: nbet integer*4 intent(out) :: mbet double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine helix subroutine anneal(nequi,nswp,nmes,tmax,tmin,lrand) ! in :smmp:anneal.f integer intent(in) :: nequi integer intent(in) :: nswp integer intent(in) :: nmes double precision intent(in) :: tmax double precision intent(in) :: tmin logical optional, intent(in) :: lrand=1 double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine anneal subroutine rgyr(nml,rgy,ee) ! in :smmp:rgyr.f integer*4 intent(in) :: nml real*8 intent(out) :: rgy real*8 intent(out) :: ee double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine rgyr subroutine zimmer(nresi) ! in :smmp:zimmer.f integer*4 intent(in) :: nresi double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine zimmer subroutine canon(nequi,nswp,nmes,temp,lrand) ! in :smmp:canon.f integer intent(in) :: nequi integer intent(in) :: nswp integer intent(in) :: nmes double precision intent(in):: temp logical optional, intent(in) :: lrand=1 double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine canon subroutine outpdb(nml,filename) ! in :smmp:outpdb.f integer*4 intent(in) :: nml character*(*) intent(in) :: filename double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine outpdb function rmsdfun(nml,ir1,ir2,ixat,xrf,yrf,zrf,isl) ! in :smmp:rmsdfun.f integer*4 :: nml integer*4 :: ir1 integer*4 :: ir2 integer*4 dimension(2600) :: ixat real*8 dimension(10000) :: xrf real*8 dimension(10000) :: yrf real*8 dimension(10000) :: zrf integer*4 :: isl double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq integer*4 :: nchp integer*4 dimension(100) :: nchrsp integer*4 :: nrsp integer*4 dimension(1000) :: irsatp integer*4 dimension(1000) :: nrsatp integer*4 :: natp integer*4 dimension(10000) :: noatp double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty character dimension(100) :: chnp character dimension(1000,3) :: rsnmp character dimension(1000,5) :: rsidp character dimension(10000,4) :: atnmp integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb real*8 dimension(10000) :: xatp real*8 dimension(10000) :: yatp real*8 dimension(10000) :: zatp integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f real*8 :: rmsdfun common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /pdb_i/ nchp,nchrsp,nrsp,irsatp,nrsatp,natp,noatp common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pdb_c/ chnp,rsnmp,rsidp,atnmp common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /pdb_r/ xatp,yatp,zatp common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end function rmsdfun subroutine init_energy(libdir) ! in :smmp:init_energy.f character*(*) :: libdir double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine init_energy block data ! in :smmp:init_energy.f double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical optional,dimension(18) :: do_s=.false. logical optional,dimension(18) :: ac_s=.false. character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision optional,dimension(9,18) :: coef_sl=54*0.0 double precision optional,dimension(9,18) :: rad_vdw=54*0. double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision optional :: ehm=362.55d0 double precision optional,dimension(18) :: atpl=42. double precision optional,dimension(18) :: efel=85. double precision optional,dimension(18) :: emin=37. double precision optional,dimension(18) :: rmin=292. double precision optional,dimension(4,6) :: chb_s=2624. double precision optional,dimension(4,6) :: ahb_s=5890. double precision optional,dimension(19) :: e0to_s=20. double precision optional,dimension(19) :: sgto_s=-1. double precision optional,dimension(19) :: rnto_s=2. double precision optional :: eps_s=2.d0 double precision dimension(2000,3) :: spoint logical optional,dimension(18) :: do_f=.false. logical optional,dimension(18) :: ac_f=.false. character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision optional :: conv=332.d0 double precision optional :: plt=78.d0 double precision optional :: slp=0.3d0 double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision optional,dimension(18,18) :: c_f=40. double precision optional,dimension(18,18) :: a_f=7.74 double precision optional,dimension(4,6) :: chb_f=180. double precision optional,dimension(4,6) :: ahb_f=6600. double precision optional,dimension(19) :: e0to_f=20. double precision optional,dimension(19) :: sgto_f=-1. double precision optional,dimension(19) :: rnto_f=2. double precision optional :: plt_f=78.d0 double precision optional :: slp_f=0.16d0 double precision optional :: cohb_f=6.d0 double precision parameter,optional :: cdr=0.0174532925199 integer parameter,optional :: mxvw=10400 integer parameter,optional :: mxtyat=18 integer parameter,optional :: mxat=2600 double precision parameter,optional :: crd=57.2957795131 double precision parameter,optional :: zero=0.0 integer parameter,optional :: mxtyto=19 character*255 parameter,optional :: version='$id: incl.h 335 2007-08-09 09:32:21z meinke $' integer parameter,optional :: mxbd=3 integer parameter,optional :: mxrs=100 integer parameter,optional :: mxrt=500 integer parameter,optional :: mx14=10400 integer parameter,optional :: mxtybl=0 integer parameter,optional :: mxtyba=0 double precision parameter,optional :: pi=3.14159265359 integer parameter,optional :: nrsty=35 integer parameter,optional :: ione=1 integer :: logfileunit integer parameter,optional :: mxinbox=80000 integer parameter,optional :: mxhbac=6 integer parameter,optional :: mxvrh=100 integer parameter,optional :: mxrtsu=4800 integer parameter,optional :: max_replica=2048 double precision parameter,optional :: rwater=1.4 integer parameter,optional :: mxms=2400 integer parameter,optional :: mxml=10 integer parameter,optional :: mxbox=80000 double precision parameter,optional :: one=1.0 integer parameter,optional :: mxtysol=9 double precision parameter,optional :: pi2=6.28318530718 integer parameter,optional :: mxhbdo=4 integer parameter,optional :: izero=0 integer parameter,optional :: mxpoint=2000 integer parameter,optional :: mxtyhb=100 integer parameter,optional :: mxath=100 integer parameter,optional :: mxvrrt=1000 integer :: maxloglevel integer parameter,optional :: mxvr=800 double precision parameter,optional :: pi4=12.5663706144 integer parameter,optional :: max_proc=2048 common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end block data subroutine init_molecule(iabin,grpn,grpc,seqfile,varfile) ! in :smmp:init_molecule.f integer*4 :: iabin character*4 :: grpn character*4 :: grpc character*80 optional, intent(in) :: seqfile=' ' character*80 optional, intent(in) :: varfile=' ' double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq integer*4 :: nchp integer*4 dimension(100) :: nchrsp integer*4 :: nrsp integer*4 dimension(1000) :: irsatp integer*4 dimension(1000) :: nrsatp integer*4 :: natp integer*4 dimension(10000) :: noatp double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty character dimension(100) :: chnp character dimension(1000,3) :: rsnmp character dimension(1000,5) :: rsidp character dimension(10000,4) :: atnmp integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb real*8 dimension(10000) :: xatp real*8 dimension(10000) :: yatp real*8 dimension(10000) :: zatp integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /pdb_i/ nchp,nchrsp,nrsp,irsatp,nrsatp,natp,noatp common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pdb_c/ chnp,rsnmp,rsidp,atnmp common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /pdb_r/ xatp,yatp,zatp common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine init_molecule subroutine regul(nml,iter,nsteps,acc) ! in :smmp:regul.f integer*4 intent(in) :: nml integer*4 intent(in) :: iter integer*4 intent(in) :: nsteps real*8 intent(in) :: acc double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq integer*4 :: nchp integer*4 dimension(100) :: nchrsp integer*4 :: nrsp integer*4 dimension(1000) :: irsatp integer*4 dimension(1000) :: nrsatp integer*4 :: natp integer*4 dimension(10000) :: noatp double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty character dimension(100) :: chnp character dimension(1000,3) :: rsnmp character dimension(1000,5) :: rsidp character dimension(10000,4) :: atnmp integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb real*8 dimension(10000) :: xatp real*8 dimension(10000) :: yatp real*8 dimension(10000) :: zatp integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /pdb_i/ nchp,nchrsp,nrsp,irsatp,nrsatp,natp,noatp common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pdb_c/ chnp,rsnmp,rsidp,atnmp common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /pdb_r/ xatp,yatp,zatp common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine regul subroutine sgrnd(seed) ! in :smmp:twister.f integer :: seed integer :: mti integer dimension(624) :: mt common /myblock/ mti,mt end subroutine sgrnd block data twbloks ! in :smmp:twister.f integer optional,depend(n1) :: mti=625 integer dimension(624) :: mt integer parameter,optional :: n1=625 integer parameter,optional :: n=624 common /myblock/ mti,mt end block data twbloks subroutine init_lund ! in :smmp:bgs.f double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer :: bgsnvar integer dimension(8) :: iph integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp double precision :: abgs double precision :: bbgs double precision dimension(8) :: dph integer dimension(100) :: bgsvar integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty double precision :: kbias double precision :: epshb1 double precision :: epshb2 double precision :: powa double precision :: powb double precision :: sighb double precision :: cthb double precision :: cthb2 double precision :: alhb double precision :: blhb double precision :: sighb2 double precision :: cdon double precision :: cacc double precision :: casc integer*4 dimension(100,6) :: ihpat integer*4 dimension(100) :: nhpat double precision dimension(3 * nhptyp) :: hpstrg double precision :: exvk double precision :: exvcut double precision :: exvcut2 integer*4 dimension(mxconr + 41,2600) :: matcon double precision dimension(18) :: sigsa double precision dimension(18,18) :: sig2lcp double precision dimension(18,18) :: asalcp double precision dimension(18,18) :: bsalcp integer*4 dimension(5000) :: lcp1 integer*4 dimension(5000) :: lcp2 integer*4 dimension(10) :: ilpst integer*4 dimension(10) :: ilpnd double precision :: exvlam double precision :: exvcutg double precision :: exvcutg2 double precision dimension(18,18) :: sig2exv double precision dimension(18,18) :: asaexv double precision dimension(18,18) :: bsaexv integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax integer*4 dimension(100) :: in integer*4 dimension(100) :: ica integer*4 dimension(100) :: ic integer*4 dimension(800) :: mlvr integer*4 dimension(100) :: iphi integer*4 dimension(100) :: ipsi logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /bgs_i/ bgsnvar,iph common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /bgs_r/ abgs,bbgs,dph,bgsvar common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /lundff/ kbias,epshb1,epshb2,powa,powb,sighb,cthb,cthb2,alhb,blhb,sighb2,cdon,cacc,casc,ihpat,nhpat,hpstrg,exvk,exvcut,exvcut2,matcon,sigsa,sig2lcp,asalcp,bsalcp,lcp1,lcp2,ilpst,ilpnd,exvlam,exvcutg,exvcutg2,sig2exv,asaexv,bsaexv common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /lundds/ in,ica,ic,mlvr,iphi,ipsi common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine init_lund module multicanonical ! in :smmp:mulcan_par_mod.f90 real*8 private :: ebin real*8 private :: beta real*8 allocatable,private,dimension(:) :: b real*8 private :: xmax real*8 private :: xmin real*8 allocatable,private,dimension(:) :: alpha subroutine mulcan_par(nsweep,nup,temp,kmin,kmax,binwidth,l_iter) ! in :smmp:mulcan_par_mod.f90:multicanonical integer intent(in) :: nsweep integer intent(in) :: nup real*8 intent(in) :: temp integer intent(in) :: kmin integer intent(in) :: kmax real*8 intent(in) :: binwidth logical intent(in) :: l_iter double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine mulcan_par subroutine mulcan_sim(nequi,nsweep,nmes,nsave,kmin,kmax,binwidth,restart) ! in :smmp:mulcan_par_mod.f90:multicanonical integer intent(in) :: nequi integer intent(in) :: nsweep integer intent(in) :: nmes integer intent(in) :: nsave integer intent(in) :: kmin integer intent(in) :: kmax real*8 intent(in) :: binwidth logical intent(in) :: restart double precision :: vdvol double precision :: asa double precision :: asap double precision :: asah integer dimension(2600) :: cgat double precision dimension(2600) :: xbaat double precision dimension(2600) :: ybaat double precision dimension(2600) :: zbaat double precision dimension(2600) :: baat double precision dimension(2600) :: snbaat double precision dimension(2600) :: csbaat double precision dimension(2600) :: xtoat double precision dimension(2600) :: ytoat double precision dimension(2600) :: ztoat double precision dimension(2600) :: toat double precision dimension(2600) :: sntoat double precision dimension(2600) :: cstoat double precision dimension(2600) :: blat double precision dimension(2602) :: xat double precision dimension(2602) :: yat double precision dimension(2602) :: zat integer dimension(100,100) :: ijcont integer dimension(100) :: ind_alf logical dimension(18) :: do_s logical dimension(18) :: ac_s character dimension(500,4) :: nmrt character dimension(1000,3) :: nmvrrt integer :: nvr double precision dimension(9,18) :: coef_sl double precision dimension(9,18) :: rad_vdw double precision dimension(100) :: surfres integer :: ntyhb integer dimension(100) :: ixtyhb integer dimension(100) :: nutyhb integer dimension(10,10) :: mmhb character dimension(2600,4) :: nmat integer :: lunlib integer :: lunseq integer :: lunchg integer :: lunvar integer :: lunrst logical dimension(800) :: isrfvr double precision dimension(500) :: pbrt double precision dimension(1000) :: vuvrrt double precision dimension(1000) :: dvvrrt integer dimension(2600) :: ityat integer dimension(2600) :: iowat integer dimension(2600) :: iyowat integer dimension(2600) :: nbdat integer dimension(3,2600) :: ibdat integer dimension(3,2600) :: iybdat integer dimension(2600) :: ixmsat double precision :: ehm double precision dimension(18) :: atpl double precision dimension(18) :: efel double precision dimension(18) :: emin double precision dimension(18) :: rmin double precision dimension(4,6) :: chb_s double precision dimension(4,6) :: ahb_s double precision dimension(19) :: e0to_s double precision dimension(19) :: sgto_s double precision dimension(19) :: rnto_s double precision :: eps_s double precision dimension(2000,3) :: spoint logical dimension(18) :: do_f logical dimension(18) :: ac_f character*80 :: reslib character*80 :: seqfil character*80 :: chgfil character*80 :: varfil character*80 :: rstfil integer :: ntlml integer dimension(10) :: irsml1 integer dimension(10) :: irsml2 integer dimension(10) :: ivrml1 integer dimension(10) :: nvrml integer dimension(10) :: imsml1 integer dimension(10) :: nmsml integer dimension(10) :: iadml1 integer dimension(10) :: nadml integer dimension(3,10) :: ixrfpt integer dimension(2600) :: ixatp integer :: ireg double precision dimension(100) :: blath double precision dimension(100) :: baath double precision dimension(100) :: toath double precision dimension(100) :: cgath integer dimension(100,100) :: iref integer :: nci logical :: flex logical :: tesgrd logical :: sh2 logical :: epsd integer :: ientyp double precision :: rgyh double precision :: rgyp integer :: idloa integer :: idloz integer :: idupa integer :: idupz integer :: myrank integer :: no integer :: my_mpi_comm integer dimension(11,2049) :: workperprocessor character dimension(100,4) :: nmath character dimension(100,3) :: nmvrh integer dimension(100) :: ityath integer dimension(100) :: iowath integer dimension(100) :: iyowath integer dimension(100) :: nbdath integer dimension(3,100) :: ibdath integer dimension(3,100) :: iybdath integer dimension(100) :: ityvrh integer dimension(100) :: iclvrh integer dimension(100) :: iatvrh character dimension(100,4) :: seq double precision dimension(2600) :: rvdw double precision dimension(2600) :: sigma double precision dimension(2600,3) :: gradan integer dimension(18,18) :: ihbty integer :: npnt character dimension(10,80) :: nmml double precision dimension(18,18) :: cij double precision dimension(18,18) :: aij double precision dimension(18,18) :: a14 double precision dimension(18,18) :: chb double precision dimension(18,18) :: ahb double precision dimension(19) :: e0to double precision dimension(19) :: sgto double precision dimension(19) :: rnto double precision dimension(19) :: esnto double precision :: conv double precision :: plt double precision :: slp double precision :: cohb integer dimension(100) :: iatrs1 integer dimension(100) :: iatrs2 integer dimension(100) :: ixatrs integer dimension(100) :: ivrrs1 integer dimension(100) :: nvrrs integer :: ntlrt integer :: ntlsu integer dimension(500) :: i1vrrt integer dimension(500) :: i2vrrt integer dimension(4800) :: iprtsu integer dimension(800) :: i1rtsu integer dimension(800) :: nrtsu integer dimension(800) :: i1vrsu integer dimension(800) :: i2vrsu integer dimension(800) :: ipvrsu double precision dimension(3,10) :: rfpt double precision dimension(6,10) :: gbpr double precision dimension(3,10) :: xrfax double precision dimension(3,10) :: yrfax double precision dimension(3,10) :: zrfax logical dimension(800) :: fxvr double precision :: eyel double precision :: eyvw double precision :: eyhb double precision :: eyvr double precision :: eysm double precision :: eysl double precision :: eyrg double precision :: eyslh double precision :: eyslp double precision :: eyab double precision :: eysmi double precision :: eyhbi double precision :: eyeli double precision :: eyvwi double precision dimension(800) :: gdeyvr double precision dimension(800) :: gdeyrg double precision dimension(800) :: gdeysl double precision dimension(60) :: gdeygb double precision :: wtey double precision :: wtrg integer dimension(800) :: iatvr integer dimension(800) :: ityvr integer dimension(800) :: iclvr integer dimension(800) :: iorvr integer dimension(800) :: imsvr1 integer dimension(800) :: imsvr2 integer dimension(2400) :: latms1 integer dimension(2400) :: latms2 integer dimension(800) :: iadvr1 integer dimension(800) :: iadvr2 integer dimension(800) :: ladvr integer dimension(800) :: idvr integer :: enysolct character dimension(800,3) :: nmvr double precision :: boxsize integer :: seed character*mxrs :: zimm integer :: itysol logical :: isolscl double precision dimension(100) :: rsstrg character dimension(35,4) :: rsnmcd character dimension(35) :: onltcd logical :: rndord integer :: upchswitch double precision :: bgsprob integer dimension(10) :: nvwml integer dimension(10) :: ivwml1 integer dimension(10) :: n14ml integer dimension(10) :: i14ml1 integer dimension(2600) :: ivwat1 integer dimension(2600) :: ivwat2 integer dimension(2600) :: i14at1 integer dimension(2600) :: i14at2 integer dimension(10400) :: lvwat1 integer dimension(10400) :: lvwat2 integer dimension(10400) :: l14at integer dimension(10400) :: ixatvw integer dimension(10400) :: ixat14 double precision dimension(800) :: olvlvr double precision dimension(800) :: vlvr double precision dimension(800) :: axvr double precision :: beta double precision dimension(18,18) :: c_f double precision dimension(18,18) :: a_f double precision dimension(4,6) :: chb_f double precision dimension(4,6) :: ahb_f double precision dimension(19) :: e0to_f double precision dimension(19) :: sgto_f double precision dimension(19) :: rnto_f double precision :: plt_f double precision :: slp_f double precision :: cohb_f common /v_sol/ vdvol,asa,asap,asah common /atm_r/ cgat,xbaat,ybaat,zbaat,baat,snbaat,csbaat,xtoat,ytoat,ztoat,toat,sntoat,cstoat,blat,xat,yat,zat common /cont_i_j/ ijcont,ind_alf common /sche_l/ do_s,ac_s common /rstr_c/ nmrt,nmvrrt common /mol_par/ nvr common /sol/ coef_sl,rad_vdw common /ressurf/ surfres common /h_bond/ ntyhb,ixtyhb,nutyhb,mmhb common /atm_c/ nmat common /fil_i/ lunlib,lunseq,lunchg,lunvar,lunrst common /refstr/ isrfvr common /rstr_r/ pbrt,vuvrrt,dvvrrt common /atm_i/ ityat,iowat,iyowat,nbdat,ibdat,iybdat,ixmsat common /sche_r/ ehm,atpl,efel,emin,rmin,chb_s,ahb_s,e0to_s,sgto_s,rnto_s,eps_s common /tes/ spoint common /flex_l/ do_f,ac_f common /fil_c/ reslib,seqfil,chgfil,varfil,rstfil common /mol_i/ ntlml,irsml1,irsml2,ivrml1,nvrml,imsml1,nmsml,iadml1,nadml,ixrfpt,ixatp,ireg common /help_r/ blath,baath,toath,cgath common /jref/ iref,nci common /epar_l/ flex,tesgrd,sh2,epsd,ientyp common /rgy/ rgyh,rgyp common /con_i/ idloa,idloz,idupa,idupz common /paral/ myrank,no,my_mpi_comm,workperprocessor common /help_c/ nmath,nmvrh common /help_i/ ityath,iowath,iyowath,nbdath,ibdath,iybdath,ityvrh,iclvrh,iatvrh common /res_c/ seq common /solvent/ rvdw,sigma common /deriv/ gradan common /epar_i/ ihbty common /pnt/ npnt common /mol_c/ nmml common /epar_r/ cij,aij,a14,chb,ahb,e0to,sgto,rnto,esnto,conv,plt,slp,cohb common /res_i/ iatrs1,iatrs2,ixatrs,ivrrs1,nvrrs common /rstr_i/ ntlrt,ntlsu,i1vrrt,i2vrrt,iprtsu,i1rtsu,nrtsu,i1vrsu,i2vrsu,ipvrsu common /mol_r/ rfpt,gbpr,xrfax,yrfax,zrfax common /var_l/ fxvr common /eny_r/ eyel,eyvw,eyhb,eyvr,eysm,eysl,eyrg,eyslh,eyslp,eyab,eysmi,eyhbi,eyeli,eyvwi,gdeyvr,gdeyrg,gdeysl,gdeygb,wtey,wtrg common /var_i/ iatvr,ityvr,iclvr,iorvr,imsvr1,imsvr2,latms1,latms2,iadvr1,iadvr2,ladvr,idvr common /counter/ enysolct common /var_c/ nmvr common /bounds/ boxsize common /commonrandom/ seed common /zimme/ zimm common /isolty/ itysol,isolscl common /abgncor/ rsstrg common /rsnm_c/ rsnmcd,onltcd common /updchois/ rndord,upchswitch,bgsprob common /eny_i/ nvwml,ivwml1,n14ml,i14ml1,ivwat1,ivwat2,i14at1,i14at2,lvwat1,lvwat2,l14at,ixatvw,ixat14 common /var_r/ olvlvr,vlvr,axvr common /bet/ beta common /flex_r/ c_f,a_f,chb_f,ahb_f,e0to_f,sgto_f,rnto_f,plt_f,slp_f,cohb_f end subroutine mulcan_sim end module multicanonical end interface end python module smmp ! This file was auto-generated with f2py (version:2_5585). ! See http://cens.ioc.ee/projects/f2py2e/