fgrid_geo.f.html | ![]() |
Source file: fgrid_geo.f | |
Directory: /home/rjl/git/claworg/clawpack-4.x/geoclaw/2d/lib | |
Converted: Sat Aug 6 2011 at 21:52:49 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
c------------------------------------------------------------------------------ subroutine fgrid_advance(time,dt) c------------------------------------------------------------------------------ c:::::::::::::::FGRID_ADVANCE::::::::::::::::::::::::::::::::::::::::::::::::: c advance (output) all fgrids at all times that have not yet been output c but that have been bracketed by computational times. implicit double precision (a-h,o-z) include "call.i" include "fixedgrids.i" tc0=time !# start of computational step tcf=tc0+dt !# end of computational step c # see if any f-grids should be written out do ng=1,mfgrids if (tc0.gt.tstartfg(ng).and.ilastoutfg(ng).lt.noutfg(ng)) then c # fgrid ng may need to be written out c # find the first output number that has not been written out and c # find the first output number on a fixed grid that is >= tc0 c # which will not be written out if (dtfg(ng).gt.0.d0) then ioutfgend= 1+max(0,nint((tc0-tstartfg(ng))/dtfg(ng))) else ioutfgend=1 endif ioutfgend=min(ioutfgend,noutfg(ng)) ioutfgstart=ilastoutfg(ng)+1 c # write-out fgrid times that are less than tc0, and have not been written yet c # these should be the most accurate values at any given point in the fgrid c # since tc0> output time do ioutfg=ioutfgstart,ioutfgend toutfg=tstartfg(ng)+(ioutfg-1)*dtfg(ng) if (toutfg.lt.tc0) then c # write out the solution for fixed grid ng i0=i0fg(ng) i02=i0fg2(ng) c # test if arrival times should be output ioutflag = ioutarrivaltimes(ng)* & (noutfg(ng)-ilastoutfg(ng)) call fgridout(fgridearly(i0),fgridlate(i0), & fgridoften(i02),xlowfg(ng),xhifg(ng),ylowfg(ng), & yhifg(ng),mxfg(ng),myfg(ng), & mfgridvars(ng),mfgridvars2(ng),toutfg, & ioutfg,ng,ioutarrivaltimes(ng),ioutflag) tlastoutfg(ng)=toutfg ilastoutfg(ng)=ilastoutfg(ng)+1 endif enddo endif enddo return end