if (me.eq.king) call cinfo
C Read force field parameters and job setup data
call readrtns
- call flush(iout)
C
if (me.eq.king .or. .not. out1file) then
write (iout,'(2a/)')
else if (modecalc.eq.12) then
call exec_MD
else if (modecalc.eq.14) then
+#ifdef MPI
call exec_MREMD
+#else
+ write (iout,*) "Need a parallel version to run MREMD."
+ stop
+#endif
else
write (iout,'(a)') 'This calculation type is not supported',
& ModeCalc
include 'COMMON.SETUP'
include 'COMMON.CONTROL'
include 'COMMON.IOUNITS'
- if (me.eq.king .or. .not. out1file)
- & write (iout,*) "Calling chainbuild"
+c if (me.eq.king .or. .not. out1file) then
+c write (iout,*) "Calling chainbuild"
+c call flush(iout)
+c endif
call chainbuild
+c if (me.eq.king .or. .not. out1file) then
+c write (iout,*) "Calling MD"
+c call flush(iout)
+c endif
call MD
return
end
c---------------------------------------------------------------------------
+#ifdef MPI
subroutine exec_MREMD
include 'DIMENSIONS'
#ifdef MPI
endif
return
end
+#endif
c---------------------------------------------------------------------------
subroutine exec_eeval_or_minim
implicit real*8 (a-h,o-z)
double precision energy_long(0:n_ene),energy_short(0:n_ene)
double precision varia(maxvar)
if (indpdb.eq.0) call chainbuild
- time00=MPI_Wtime()
print *,'dc',c(1,1)
if (indpdb.ne.0) then
dc(1,0)=c(1,1)
dc(2,0)=c(2,1)
dc(3,0)=c(3,1)
endif
+#ifdef MPI
+ time00=MPI_Wtime()
+#else
+ time00=tcpu()
+#endif
call chainbuild_cart
print *,'dc',dc(1,0),dc(2,0),dc(3,0)
if (split_ene) then
call enerprint(energy(0))
endif
call etotal(energy(0))
+#ifdef MPI
time_ene=MPI_Wtime()-time00
+#else
+ time_ene=tcpu()-time00
+#endif
write (iout,*) "Time for energy evaluation",time_ene
print *,"after etotal"
etota = energy(0)
if (dccart) then
print *, 'Calling MINIM_DC'
+#ifdef MPI
time1=MPI_WTIME()
+#else
+ time1=tcpu()
+#endif
call minim_dc(etot,iretcode,nfun)
else
if (indpdb.ne.0) then
endif
call geom_to_var(nvar,varia)
print *,'Calling MINIMIZE.'
+#ifdef MPI
time1=MPI_WTIME()
+#else
+ time1=tcpu()
+#endif
call minimize(etot,varia,iretcode,nfun)
endif
print *,'SUMSL return code is',iretcode,' eval ',nfun
+#ifdef MPI
evals=nfun/(MPI_WTIME()-time1)
+#else
+ evals=nfun/(tcpu()-time1)
+#endif
print *,'# eval/s',evals
print *,'refstr=',refstr
call hairpin(.false.,nharp,iharp)
endif
do while (.not. eof)
if (read_cart) then
- read (intin,'(e15.10,e15.5)',end=1100,err=1100) time,ene
+ read (intin,'(e15.10,e15.5)',end=11,err=11) time,ene
call read_x(intin,*11)
#ifdef MPI
c Broadcast the order to compute internal coordinates to the slaves.
#endif
call int_from_cart1(.false.)
else
- read (intin,'(i5)',end=1100,err=1100) iconf
+ read (intin,'(i5)',end=11,err=11) iconf
call read_angles(intin,*11)
call geom_to_var(nvar,varia)
call chainbuild
include 'COMMON.SBRIDGE'
common /srutu/ icall
double precision energy(0:max_ene)
+ print *,"A TU?"
c do i=2,nres
c vbld(i)=vbld(i)+ran_number(-0.1d0,0.1d0)
c if (itype(i).ne.10)
totT=1.d0
eq_time=0.0d0
call read_fragments
+ print *, "AFTER read fragments"
call chainbuild_cart
+ print *,"chainbuild_cart"
call cartprint
+ print *,"After cartprint"
call intout
icall=1
+ print *,"before ETOT"
call etotal(energy(0))
etot = energy(0)
call enerprint(energy(0))
print *,'icheckgrad=',icheckgrad
goto (10,20,30) icheckgrad
10 call check_ecartint
+ call check_ecartint
return
20 call check_cartgrad
return