X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fgeometry.F90;h=27b2d7deb459e76e14295fecaf3ff1040c4adf4c;hb=603baff0aabf21ffced01092a8e60ebce34f1adc;hp=1d155848e6ab0dec6345ec50315f64736e9c938e;hpb=376cd655ce6755a52645984ead6fecc4c38a28c9;p=unres4.git diff --git a/source/unres/geometry.F90 b/source/unres/geometry.F90 index 1d15584..27b2d7d 100644 --- a/source/unres/geometry.F90 +++ b/source/unres/geometry.F90 @@ -566,7 +566,7 @@ dV=2.0D0*5.0D0*deg2rad*deg2rad print *,'dv=',dv do 10 it=1,1 - if (it.eq.10) goto 10 + if ((it.eq.10).or.(it.eq.ntyp1)) goto 10 open (20,file=restyp(it,1)//'_distr.sdc',status='unknown') call gen_side(it,90.0D0 * deg2rad,al,om,fail) close (20) @@ -811,6 +811,7 @@ subroutine gen_rand_conf(nstart,*) ! Generate random conformation or chain cut and regrowth. use mcm_data + use random, only: iran_num,ran_number ! implicit real*8 (a-h,o-z) ! include 'DIMENSIONS' ! include 'COMMON.CHAIN' @@ -871,6 +872,8 @@ it1=iabs(itype(i-1,molnum(i-1))) it2=iabs(itype(i-2,molnum(i-2))) it=iabs(itype(i,molnum(i))) + if ((it.eq.ntyp1).and.(it1.eq.ntyp1)) & + vbld(i)=ran_number(30.0D0,40.0D0) ! print *,'Gen_Rand_Conf: i=',i,' it=',it,' it1=',it1,' it2=',it2,& ! ' nit=',nit,' niter=',niter,' maxgen=',maxgen phi(i+1)=gen_phi(i+1,it1,it) @@ -891,7 +894,7 @@ call locate_next_res(i-1) endif theta(i)=gen_theta(it1,phi(i),phi(i+1)) - write(iout,*) "theta(i),",theta(i) +! write(iout,*) "theta(i),",theta(i) if ((it1.ne.10).and.(it1.ne.ntyp1)) then nsi=0 fail=.true. @@ -903,7 +906,7 @@ if (nsi.gt.maxsi) return 1 endif call locate_next_res(i) - write(iout,*) "overlap,",overlap(i-1) +! write(iout,*) "overlap,",overlap(i-1) if (overlap(i-1)) then if (nit.lt.maxnit) then back=.true. @@ -922,7 +925,7 @@ endif endif else - write(iout,*) "tu dochodze" +! write(iout,*) "tu dochodze" back=.false. nit=0 i=i+1 @@ -960,7 +963,9 @@ ! Check for SC-SC overlaps. !d print *,'nnt=',nnt,' nct=',nct do j=nnt,i-1 + itj=iabs(itype(j,1)) + if (itj.eq.ntyp1) cycle if (j.lt.i-1 .or. ipot.ne.4) then rcomp=sigmaii(iti,itj) else @@ -1039,7 +1044,7 @@ end function gen_phi !----------------------------------------------------------------------------- real(kind=8) function gen_theta(it,gama,gama1) - use random,only:binorm + use random,only:binorm,ran_number ! implicit real*8 (a-h,o-z) ! include 'DIMENSIONS' ! include 'COMMON.LOCAL' @@ -1065,9 +1070,12 @@ else z(1)=0.0D0 z(2)=0.0D0 - endif + endif + if (it.eq.ntyp1) then + gen_theta=ran_number(theta_max/2.0,theta_max) + else thet_pred_mean=a0thet(it) - write(iout,*),it,thet_pred_mean,"gen_thet" +! write(iout,*),it,thet_pred_mean,"gen_thet" do k=1,2 thet_pred_mean=thet_pred_mean+athet(k,it,1,1)*y(k) & +bthet(k,it,1,1)*z(k) @@ -1086,6 +1094,7 @@ if (theta_temp.gt.theta_max) theta_temp=theta_max gen_theta=theta_temp ! print '(a)','Exiting GENTHETA.' + endif return end function gen_theta !----------------------------------------------------------------------------- @@ -1347,16 +1356,16 @@ write(iout,'(4(1pe14.4))') ((box(k,j),k=1,2),j=1,2) write(iout,'(a,4(1pe14.4))')'sumW: ',(sumW(i),i=0,nlob(it) ) endif - if (box(1,2).lt.-MaxBoxLen .or. box(2,2).gt.MaxBoxLen) then -#ifdef MPI - write (iout,'(a,i4,a,3e15.5)') 'CG Processor:',me,': bad sampling box.',box(1,2),box(2,2),radmax - write (*,'(a,i4,a)') 'CG Processor:',me,': bad sampling box.' -#else +! if (box(1,2).lt.-MaxBoxLen .or. box(2,2).gt.MaxBoxLen) then +!#ifdef MPI +! write (iout,'(a,i4,a,3e15.5)') 'CG Processor:',me,': bad sampling box.',box(1,2),box(2,2),radmax +! write (*,'(a,i4,a)') 'CG Processor:',me,': bad sampling box.' +!#else ! write (iout,'(a)') 'Bad sampling box.' -#endif - fail=.true. - return - endif +!#endif +! fail=.true. +! return +! endif which_lobe=ran_number(0.0D0,sumW(nlobit)) ! print '(a,1pe14.4)','which_lobe=',which_lobe do i=1,nlobit