diff --git a/src/cafe/cf_main.F b/src/cafe/cf_main.F index 9eeb848b35..792eee3b99 100644 --- a/src/cafe/cf_main.F +++ b/src/cafe/cf_main.F @@ -1,5 +1,5 @@ subroutine cf_weight(numw,nums,isat,isml,wbx) -c $Id: cf_main.F,v 1.124 2002-01-15 23:02:50 d3j191 Exp $ +c $Id: cf_main.F,v 1.125 2002-02-07 00:13:27 d3j191 Exp $ implicit none c #include "cf_common.fh" @@ -1439,6 +1439,7 @@ c real*8 wm,wmtot logical skip c + call timer_start(29) epmf=zero skip=.true. c @@ -1475,12 +1476,16 @@ c 4 continue 3 continue 1 continue + call timer_stop(29) c if(skip) return c + call timer_start(30) call ga_dgop(mcf_59,wpmf,4*numpmf,'+') call ga_dgop(mcf_73,xpmf,12*numpmf,'+') + call timer_stop(30) c + call timer_start(31) do 6 i=1,numpmf if(ipmf(i,6).eq.2.and.lpmfc) goto 6 c @@ -1621,6 +1626,7 @@ c write(*,'(a,f12.6,e12.5,3e12.5)') 'Imp:',rv,(ft(3,j),j=1,3) endif c 6 continue + call timer_stop(31) c return end @@ -1642,6 +1648,7 @@ c integer i,j,k real*8 d,di,dd,dn,dx(3),dfor,df(3),en c + call timer_start(26) edrs=zero c do 1 i=1,ndrs @@ -1661,9 +1668,13 @@ c endif 3 continue 1 continue + call timer_stop(26) c + call timer_start(27) call ga_dgop(mcf_59,xdrs,6*ndrs,'+') + call timer_stop(27) c + call timer_start(28) do 4 i=1,ndrs dx(1)=xdrs(i,1)-xdrs(i,4) dx(2)=xdrs(i,2)-xdrs(i,5) @@ -1716,6 +1727,7 @@ c endif endif 5 continue 4 continue + call timer_stop(28) c return end @@ -1739,6 +1751,7 @@ c c integer i,j,ix c + call timer_start(23) do 1 i=1,nmul fmul(i,1)=zero fmul(i,2)=zero @@ -1761,10 +1774,14 @@ c 2 continue if(me.gt.0) imul(i,1)=0 1 continue + call timer_stop(23) c + call timer_start(24) call ga_dgop(mcf_46,xmul,3*mmult,'+') call ga_igop(mcf_47,imul,4*mmult,'+') + call timer_stop(24) c + call timer_start(25) if(me.eq.0) then if(nmult(1).gt.0) then ix=1 @@ -1798,9 +1815,13 @@ c + xmul,fmul,ess,.true.,.true.,me.eq.0,dbl_mb(i_sti)) endif endif + call timer_stop(25) c + call timer_start(24) call ga_brdcst(mcf_74,fmul,3*mmult*ma_sizeof(mt_dbl,1,mt_byte),0) + call timer_stop(24) c + call timer_start(25) do 3 i=1,nmul do 4 j=1,nums if(isgan(j).eq.imul(i,1)) then @@ -1810,6 +1831,7 @@ c endif 4 continue 3 continue + call timer_stop(25) c return end diff --git a/src/cafe/pme_grid.F b/src/cafe/pme_grid.F index a1760f1734..986b88a3d4 100644 --- a/src/cafe/pme_grid.F +++ b/src/cafe/pme_grid.F @@ -1,5 +1,5 @@ subroutine pme_chgrid(ipset,xw,nwmloc,xs,isq,nsaloc,epme) -c $Id: pme_grid.F,v 1.22 2002-01-28 21:17:35 d3j191 Exp $ +c $Id: pme_grid.F,v 1.23 2002-02-07 00:13:28 d3j191 Exp $ implicit none c #include "pme_common.fh" @@ -9,7 +9,7 @@ c real*8 xw(mwm,3,mwa),xs(msa,3),epme integer isq(msa) c - call timer_start(23) + call timer_start(33) c call pme_init() c @@ -17,7 +17,7 @@ c call cf_pmecor(ipset,xw,nwmloc,xs,isq,nsaloc,ecorr(ipset)) lcorr(ipset)=.true. endif - call timer_stop(23) + call timer_stop(33) c call pme_grid(ipset,xw,nwmloc,xs,isq,nsaloc, + int_mb(i_nodp),int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto), @@ -27,32 +27,32 @@ c c if(lpnode) then c - call timer_start(27) + call timer_start(37) c call pme_fft(ngx,ngy,ngz,-2,dbl_mb(i_grd2),dbl_mb(i_grd1), + int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft) c - call timer_stop(27) - call timer_start(28) + call timer_stop(37) + call timer_start(38) c call cf_epme(int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto), + dbl_mb(i_bmod),dbl_mb(i_grd1),mgz,epme) c epme=epme+ecorr(ipset) c - call timer_stop(28) - call timer_start(29) + call timer_stop(38) + call timer_start(39) c call pme_sync(nodpme,int_mb(i_nodp)) c - call timer_stop(29) - call timer_start(30) + call timer_stop(39) + call timer_start(40) c call pme_fft(ngx,ngy,ngz,1,dbl_mb(i_grd1),dbl_mb(i_grd2), + int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft) c - call timer_stop(30) - call timer_start(31) + call timer_stop(40) + call timer_start(41) c call pme_putgrd(dbl_mb(i_grd2)) c @@ -65,13 +65,13 @@ c grid calculation has completed c if(me.eq.int_mb(i_nodp)) call pme_flag(0,1,-1) c - call timer_stop(31) + call timer_stop(41) endif c - call timer_start(31) + call timer_start(41) if(icntrl.eq.1) call ga_sync() c - call timer_stop(31) + call timer_stop(41) c return end @@ -86,14 +86,14 @@ c real*8 xw(mwm,3,mwa),xs(msa,3),epme integer isq(msa) c - call timer_start(23) + call timer_start(33) call pme_init() c if(.not.lcorr(ipset)) then call cf_pmecor(ipset,xw,nwmloc,xs,isq,nsaloc,ecorr(ipset)) lcorr(ipset)=.true. endif - call timer_stop(23) + call timer_stop(33) c call pme_grid(ipset,xw,nwmloc,xs,isq,nsaloc, + int_mb(i_nodp),int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto), @@ -103,20 +103,20 @@ c c if(.not.lpnode) return c - call timer_start(27) + call timer_start(37) c call pme_fft(ngx,ngy,ngz,-2,dbl_mb(i_grd2),dbl_mb(i_grd1), + int_mb(i_map1),int_mb(i_map2),int_mb(i_knod),imfft) c - call timer_stop(27) - call timer_start(28) + call timer_stop(37) + call timer_start(38) c call cf_epme(int_mb(i_knod),int_mb(i_kfr),int_mb(i_kto), + dbl_mb(i_bmod),dbl_mb(i_grd1),mgz,epme) c epme=epme+ecorr(ipset) c - call timer_stop(28) + call timer_stop(38) c return end @@ -141,7 +141,7 @@ c integer ilsl,ihsl,jlsl,jhsl logical lset,lgrid c - call timer_start(24) + call timer_start(34) c lset=.true. c @@ -166,8 +166,8 @@ c if(lgrid) then lnode(node+1)=1 c - call timer_stop(24) - call timer_start(25) + call timer_stop(34) + call timer_start(35) c do 21 k=1,ngznon if(lsldo(node+1,k)) then @@ -176,8 +176,8 @@ c + jlsl+maxy-1,gridr(minx,miny,k),mgx,one) endif 21 continue - call timer_stop(25) - call timer_start(24) + call timer_stop(35) + call timer_start(34) c endif c @@ -185,8 +185,8 @@ c c c pmenodes should wait until all nodes have finished contributions to the grid c - call timer_stop(24) - call timer_start(26) + call timer_stop(34) + call timer_start(36) c c the following pme_flag/pme_wait/pme_flag combination may be c replaced by a ga_sync() at loss of performance @@ -209,7 +209,7 @@ c 24 continue 23 continue endif - call timer_stop(26) + call timer_stop(36) c return end @@ -284,10 +284,10 @@ c c c wait until potential grid is available c - call timer_start(38) + call timer_start(48) call pme_wait(0,1) - call timer_stop(38) - call timer_start(39) + call timer_stop(48) + call timer_start(49) c do 1 inode=1,np node=me+inode @@ -304,18 +304,18 @@ c if(kto(node+1).gt.0) ngznon=kto(node+1)-kfrom(node+1)+1 if(ngznon.eq.0) goto 1 c - call timer_stop(39) - call timer_start(40) + call timer_stop(49) + call timer_start(50) call pme_getgrd(node,ngznon,dbl_mb(i_grd1)) - call timer_stop(40) - call timer_start(39) + call timer_stop(50) + call timer_start(49) c call cf_fpme(fw,nwmloc,fs,isq,nsaloc,dbl_mb(i_grd1),mgz, + int_mb(i_knod),int_mb(i_kfr),log_mb(i_lsld),node) c 1 continue c - call timer_stop(39) + call timer_stop(49) c return end diff --git a/src/nwmd/md_main.F b/src/nwmd/md_main.F index 52d00a8f6f..0eef21db64 100644 --- a/src/nwmd/md_main.F +++ b/src/nwmd/md_main.F @@ -1,6 +1,6 @@ subroutine md_main() c -c $Id: md_main.F,v 1.117 2002-01-28 21:17:25 d3j191 Exp $ +c $Id: md_main.F,v 1.118 2002-02-07 00:13:37 d3j191 Exp $ c implicit none c @@ -969,7 +969,7 @@ c c call md_newton() c - call timer_start(51) + call timer_start(61) call prp_proper(mdstep,stime,eww,dbl_mb(i_esw), + dbl_mb(i_ess),dbl_mb(i_esk),epme,uqmd,uqmmm, + epot,epotw,epotsw,epots,volume,dwr,dbl_mb(i_dsr),ekin,etot, @@ -977,7 +977,7 @@ c call md_server call prp_step(mdstep,stime,eww,dbl_mb(i_esw), + dbl_mb(i_ess),dbl_mb(i_esk),epme,uqmd,uqmmm) - call timer_stop(51) + call timer_stop(61) c call timer_start(15) c @@ -1000,13 +1000,13 @@ c endif call timer_stop(15) c - call timer_start(52) + call timer_start(62) mdt=' ' if(iguide.gt.0) mdt='g' write(projct,4000) mdt,mequi,idacq,tmpext,prsext,filnam(1:41) 4000 format('md',a1,i7,' + ',i7,' @',f7.2,e9.2,' ',a) if(frequency(mdstep,nfrest)) call md_wrtrst(lfnrst,filrst,.true.) - call timer_stop(52) + call timer_stop(62) if(frequency(mdstep,nftime)) call md_wrtime c call timer_stop(1) @@ -1204,13 +1204,6 @@ c c mdstep=mdstep+1 stime=stime+tstep -c - lxw=frequency(mdstep,nfcoor) - lvw=frequency(mdstep,nfvelo) - lfw=frequency(mdstep,nfforc) - lxs=frequency(mdstep,nfscoo) - lvs=frequency(mdstep,nfsvel) - lfs=frequency(mdstep,nfsfor) c c debug code c @@ -1378,34 +1371,34 @@ c c c self-guided forces c - call timer_start(45) + call timer_start(55) if(iguide.gt.0) then call md_guided(dbl_mb(i_fw),dbl_mb(i_fs), + dbl_mb(i_gw),dbl_mb(i_gs)) endif - call timer_stop(45) + call timer_stop(55) c c time step c - call timer_start(46) + call timer_start(56) call cf_mdstep(int_mb(i_iw+(lwdyn-1)*mwm),dbl_mb(i_xw), + dbl_mb(i_yw),dbl_mb(i_vw),dbl_mb(i_vwt),dbl_mb(i_fw),nwmloc, + int_mb(i_is+(lsdyn-1)*msa),int_mb(i_is+(lsatt-1)*msa), + dbl_mb(i_xs),dbl_mb(i_ys),dbl_mb(i_vs),dbl_mb(i_vst), + dbl_mb(i_fs),nsaloc,int_mb(i_iw+(lwgmn-1)*mwm), + int_mb(i_is+(lsgan-1)*msa),tmpext) - call timer_stop(46) + call timer_stop(56) c c shake c - call timer_start(47) + call timer_start(57) call md_shake(dbl_mb(i_xw),dbl_mb(i_yw),int_mb(i_iw), + dbl_mb(i_xs),dbl_mb(i_ys),int_mb(i_is),dxmax) - call timer_stop(47) + call timer_stop(57) c c coordinate scaling c - call timer_start(48) + call timer_start(58) call cf_final(dbl_mb(i_xw),dbl_mb(i_xwm),dbl_mb(i_yw), + dbl_mb(i_vw),dbl_mb(i_vwt),nwmloc, + dbl_mb(i_xs),dbl_mb(i_xsm),dbl_mb(i_ys),dbl_mb(i_vs), @@ -1413,11 +1406,11 @@ c + int_mb(i_is+(lsmol-1)*msa),int_mb(i_is+(lsdyn-1)*msa), + int_mb(i_is+(lsfrc-1)*msa),dbl_mb(i_zs), + dbl_mb(i_esk),nsaloc,box,vlat,pres,temp,tempw,temps) - call timer_stop(48) + call timer_stop(58) c c center of mass coordinates c - call timer_start(49) + call timer_start(59) c call cf_cenmas(nwmloc,dbl_mb(i_xw),dbl_mb(i_xwm),nsaloc, + int_mb(i_is+(lsatt-1)*msa),int_mb(i_is+(lsmol-1)*msa), @@ -1449,8 +1442,8 @@ c + dbl_mb(i_vw),dbl_mb(i_vs),int_mb(i_iw+(lwdyn-1)*mwm), + int_mb(i_is+(lsdyn-1)*msa),int_mb(i_is+(lsatt-1)*msa)) endif - call timer_stop(49) - call timer_start(50) + call timer_stop(59) + call timer_start(60) c c update decomposition module c @@ -1462,7 +1455,7 @@ c c lfirst=.false. c - call timer_stop(50) + call timer_stop(60) call timer_stop(3) c return @@ -1631,34 +1624,36 @@ c + isl(1,lsmol), + dbl_mb(i_xs),dbl_mb(i_xsm),dbl_mb(i_fs), + dbl_mb(i_xw),dbl_mb(i_xwm),dbl_mb(i_fw)) + call timer_stop(21) + call timer_start(22) if(ifield.gt.0) call cf_extern(stime,nsaloc,dbl_mb(i_fs), + isl(1,lsct1),nwmloc,dbl_mb(i_fw)) + call timer_stop(22) call cf_multi(nsaloc,dbl_mb(i_xs),dbl_mb(i_fs),isl(1,lsgan), + isl(1,lsatt),isl(1,lsfrc),isl(1,lsdyn),isl(1,lsct1), + dbl_mb(i_ess),lfnpmf,.not.lequi,npmf.eq.1.or.lpmfc) - call timer_stop(21) c - call timer_start(22) + call timer_start(32) if(ipolt.gt.0) then call md_induce(iwl,isl,xw,xwm,xs,dbl_mb(i_pw), + dbl_mb(i_pwp),dbl_mb(i_ps),dbl_mb(i_psp)) endif - call timer_stop(22) + call timer_stop(32) c if(ipme.gt.0) then if(lpert2) then call pme_energy(2,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs), + isl(1,lsct1),nsaloc,epme(2)) - call timer_start(23) + call timer_start(33) call pme_init() - call timer_stop(23) + call timer_stop(33) endif if(lpert3) then call pme_energy(3,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs), + isl(1,lsct1),nsaloc,epme(3)) - call timer_start(23) + call timer_start(33) call pme_init() - call timer_stop(23) + call timer_stop(33) endif call pme_chgrid(iset,dbl_mb(i_xw),nwmloc,dbl_mb(i_xs), + isl(1,lsct1),nsaloc,epme(iset)) @@ -1684,26 +1679,26 @@ c c call md_fclass(iwl,isl,xw,xwm,xs,fw,fs) c - call timer_start(41) + call timer_start(51) call timer_start(2) call timer_start(4) call ga_sync() call timer_stop(4) call timer_stop(2) - call timer_stop(41) + call timer_stop(51) c - call timer_start(42) + call timer_start(52) call sp_final(fw,fs,lpair,int_mb(i_iwz),int_mb(i_isz)) - call timer_stop(42) + call timer_stop(52) c - call timer_start(43) + call timer_start(53) if(lqmmm) then call qmmm_forces(irtdb,mwm,nwmloc,mwa,nwa,int_mb(i_iwz),xw,fw, + msa,nsaloc,int_mb(i_is+(lsatt-1)*msa),int_mb(i_is+(lsdyn-1)*msa), + int_mb(i_is+(lsct1-1)*msa),int_mb(i_isz),xs,fs,uqmmm) uqmmm=uqmmm-uqmatm endif - call timer_stop(43) + call timer_stop(53) c if(ltwin) then do 1 j=1,3 @@ -1720,10 +1715,10 @@ c c endif c - call timer_start(44) + call timer_start(54) call cf_fnorm(iwl(1,lwdyn),fw,nwmloc, + isl(1,lsatt),isl(1,lsdyn),fs,nsaloc,fnorm,fmax) - call timer_stop(44) + call timer_stop(54) c return end @@ -1802,18 +1797,18 @@ c integer itcom1,itforc,itcom2 c local=.true. - itcom1=32 - itforc=33 - itcom2=34 + itcom1=42 + itforc=43 + itcom2=44 c call sp_nbbl(nbbl) c do 1 ibbl=1,nbbl c if(local.and..not.sp_local(ibbl)) then - itcom1=35 - itforc=36 - itcom2=37 + itcom1=45 + itforc=46 + itcom2=47 local=.false. endif c @@ -2189,7 +2184,7 @@ c c integer i c - do 1 i=10,52 + do 1 i=10,62 call timer_reset(i) 1 continue c @@ -2207,26 +2202,26 @@ c real*8 timer_wall,timer_wall_total c integer i,j - real*8 tim(44,1024) + real*8 tim(54,1024) c do 1 i=1,np - do 2 j=1,44 + do 2 j=1,54 tim(j,i)=zero 2 continue 1 continue c - do 3 i=1,43 + do 3 i=1,53 tim(i,me+1)=timer_wall_total(i+9) - tim(44,me+1)=tim(44,me+1)+tim(i,me+1) + tim(54,me+1)=tim(54,me+1)+tim(i,me+1) 3 continue c - call ga_dgop(mrg_d04,tim,44*np,'+') + call ga_dgop(mrg_d04,tim,54*np,'+') c if(me.eq.0) then write(lfntim,1000) stime 1000 format('timings',/,f12.6) do 1002 j=1,np - write(lfntim,1001) (tim(i,j),i=1,44) + write(lfntim,1001) (tim(i,j),i=1,54) 1001 format(10f7.3) 1002 continue endif @@ -2235,7 +2230,7 @@ c end subroutine md_test c -c $Id: md_main.F,v 1.117 2002-01-28 21:17:25 d3j191 Exp $ +c $Id: md_main.F,v 1.118 2002-02-07 00:13:37 d3j191 Exp $ c implicit none c diff --git a/src/nwmd/md_start.F b/src/nwmd/md_start.F index 80560509f1..8e008fa95b 100644 --- a/src/nwmd/md_start.F +++ b/src/nwmd/md_start.F @@ -1,6 +1,6 @@ subroutine md_start c -c $Id: md_start.F,v 1.111 2002-02-02 16:32:26 d3j191 Exp $ +c $Id: md_start.F,v 1.112 2002-02-07 00:13:38 d3j191 Exp $ c implicit none c @@ -1212,7 +1212,7 @@ c if(nftime.gt.0) then open(unit=lfntim,file=filtim(1:index(filtim,' ')-1), + form='formatted',status='unknown') - write(lfntim,1200) np,44 + write(lfntim,1200) np,54 1200 format(2i5) write(lfntim,1201) write(lfntim,1202) @@ -1258,6 +1258,16 @@ c write(lfntim,1242) write(lfntim,1243) write(lfntim,1244) + write(lfntim,1245) + write(lfntim,1246) + write(lfntim,1247) + write(lfntim,1248) + write(lfntim,1249) + write(lfntim,1250) + write(lfntim,1251) + write(lfntim,1252) + write(lfntim,1253) + write(lfntim,1254) 1201 format(' 1 : Initialization velocities') 1202 format(' 2 : Periodic Boundary Conditions') 1203 format(' 3 : Dynamic Load Balancing') @@ -1269,39 +1279,49 @@ c 1209 format(' 9 : Synchronization') 1210 format(' 10 : SPACE Initialization') 1211 format(' 11 : Synchronization') - 1212 format(' 12 : Replicated Data Forces Evaluation') - 1213 format(' 13 : Induced Dipoles Evaluation') - 1214 format(' 14 : PME Initialization') - 1215 format(' 15 : PME Charge Grid Evaluation') - 1216 format(' 16 : PME Charge Grid Communication') - 1217 format(' 17 : PME Charge Grid Retrieval') - 1218 format(' 18 : PME Reverse 3D-pFFT') - 1219 format(' 19 : PME Energy Evaluation') - 1220 format(' 20 : PME Synchronization') - 1221 format(' 21 : PME Forward 3D-pFFT') - 1222 format(' 22 : PME Synchronization') - 1223 format(' 23 : Local Coordinates Retrieval') - 1224 format(' 24 : Local Forces Evaluation') - 1225 format(' 25 : Local Force Accumulation') - 1226 format(' 26 : Non-Local Coordinates Retrieval') - 1227 format(' 27 : Non-Local Forces Evaluation') - 1228 format(' 28 : Non-Local Force Accumulation') - 1229 format(' 29 : PME Wait') - 1230 format(' 30 : PME Forces Evaluation') - 1231 format(' 31 : PME Forces Communication') - 1232 format(' 32 : Synchronization') - 1233 format(' 33 : SPACE Finalization') - 1234 format(' 34 : QM/MM Forces Evaluation') - 1235 format(' 35 : Forces Normalization') - 1236 format(' 36 : Guided MD Forces') - 1237 format(' 37 : MD Time Step') - 1238 format(' 38 : SHAKE') - 1239 format(' 39 : CAFE Finalization') - 1240 format(' 40 : Center of Mass Motion Removal') - 1241 format(' 41 : SPACE Update') - 1242 format(' 42 : Property Evaluation') - 1243 format(' 43 : Property Recording') - 1244 format(' 44 : TOTAL TIME PER STEP') + 1212 format(' 12 : Collapse Option') + 1213 format(' 13 : External Fields') + 1214 format(' 14 : Multiprocs Data Initialization') + 1215 format(' 15 : Multiprocs Data Communication') + 1216 format(' 16 : Multiprocs Data Forces Evaluation') + 1217 format(' 17 : Restraints Data Initialization') + 1218 format(' 18 : Restraints Data Communication') + 1219 format(' 19 : Restraints Data Forces Evaluation') + 1220 format(' 20 : PMF Data Initialization') + 1221 format(' 21 : PMF Data Communication') + 1222 format(' 22 : PMF Data Forces Evaluation') + 1223 format(' 23 : Induced Dipoles Evaluation') + 1224 format(' 24 : PME Initialization') + 1225 format(' 25 : PME Charge Grid Evaluation') + 1226 format(' 26 : PME Charge Grid Communication') + 1227 format(' 27 : PME Charge Grid Retrieval') + 1228 format(' 28 : PME Reverse 3D-pFFT') + 1229 format(' 29 : PME Energy Evaluation') + 1230 format(' 20 : PME Synchronization') + 1231 format(' 21 : PME Forward 3D-pFFT') + 1232 format(' 22 : PME Synchronization') + 1233 format(' 23 : Local Coordinates Retrieval') + 1234 format(' 24 : Local Forces Evaluation') + 1235 format(' 25 : Local Force Accumulation') + 1236 format(' 36 : Non-Local Coordinates Retrieval') + 1237 format(' 37 : Non-Local Forces Evaluation') + 1238 format(' 38 : Non-Local Force Accumulation') + 1239 format(' 39 : PME Wait') + 1240 format(' 30 : PME Forces Evaluation') + 1241 format(' 31 : PME Forces Communication') + 1242 format(' 32 : Synchronization') + 1243 format(' 33 : SPACE Finalization') + 1244 format(' 34 : QM/MM Forces Evaluation') + 1245 format(' 35 : Forces Normalization') + 1246 format(' 46 : Guided MD Forces') + 1247 format(' 47 : MD Time Step') + 1248 format(' 48 : SHAKE') + 1249 format(' 49 : CAFE Finalization') + 1250 format(' 40 : Center of Mass Motion Removal') + 1251 format(' 41 : SPACE Update') + 1252 format(' 42 : Property Evaluation') + 1253 format(' 43 : Property Recording') + 1254 format(' 44 : TOTAL TIME PER STEP') c endif if(itest.gt.0) then diff --git a/src/nwmd/prp_init.F b/src/nwmd/prp_init.F index ffe6b14d41..bb81329754 100644 --- a/src/nwmd/prp_init.F +++ b/src/nwmd/prp_init.F @@ -4,7 +4,7 @@ + nwmtot,msfi,nsfi,mpei,mdacq,mrn,ipset,isetp1,isetp2,tstp, + msmi,nsmi,nsai,ddi,edi,iprf,npmf,npenrg,ndistr,lpbc,nbiasi) c -c $Id: prp_init.F,v 1.45 2002-02-03 16:46:17 d3j191 Exp $ +c $Id: prp_init.F,v 1.46 2002-02-07 00:13:38 d3j191 Exp $ c implicit none c @@ -349,20 +349,20 @@ c 5 continue endif c - if(msm.gt.0) then + if(msm.gt.0.and.npstat.gt.0) then if(it+2*nsm.gt.maxpro) + call errquit('Increase dimension maxpro',0) do 7 i=1,nsm it=it+1 pronam(it)='Moment of inertia solute molecule kg nm2/mol' write(pronam(it)(34:38),'(i5)') i - if(npstat.gt.0) lp(it)=.true. + lp(it)=.true. 7 continue do 8 i=1,nsm it=it+1 pronam(it)='Radius of gyration solute molecule nm' write(pronam(it)(34:38),'(i5)') i - if(npstat.gt.0) lp(it)=.true. + lp(it)=.true. 8 continue endif c @@ -405,7 +405,37 @@ c pronam(it)='Prof: Synchronization s' lp(it)=.true. it=it+1 - pronam(it)='Prof: Replicated Data Forces Evaluation s' + pronam(it)='Prof: Collapse Option Calculation s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: External Field Contribution s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Multiprocs Data Initialization s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Multiprocs Data Communication s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Multiprocs Data Forces Evaluation s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Restraints Data Initialization s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Restraints Data Communication s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: Restraints Data Forces Evaluation s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: PMF Data Initialization s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: PMF Data Communication s' + lp(it)=.true. + it=it+1 + pronam(it)='Prof: PMF Data Forces Evaluation s' lp(it)=.true. it=it+1 pronam(it)='Prof: Induced Dipoles Evaluation s' diff --git a/src/nwmd/prp_main.F b/src/nwmd/prp_main.F index 4eca43b97d..69525a1f4c 100644 --- a/src/nwmd/prp_main.F +++ b/src/nwmd/prp_main.F @@ -1,6 +1,6 @@ subroutine prp_step(mdstep,stime,eww,esw,ess,esk,epme,uqmd,uqmmm) c -c $Id: prp_main.F,v 1.66 2002-01-28 21:17:26 d3j191 Exp $ +c $Id: prp_main.F,v 1.67 2002-02-07 00:13:38 d3j191 Exp $ c implicit none c @@ -253,7 +253,7 @@ c endif maxp=it c - if(nsm.gt.0) then + if(nsm.gt.0.and.npstat.gt.0) then it=maxp do 37 i=1,nsm it=it+1 @@ -270,7 +270,7 @@ c endif c if(iprof.eq.1) then - do 56 i=1,41 + do 56 i=1,51 it=it+1 p(it)=timer_wall_total(i+9) 56 continue