4 subroutine stepgrid(q,fm,fp,gm,gp,mitot,mjtot,mbc,dt,dtnew,dx,dy,
5 & nvar,xlow,ylow,time,mptr,maux,aux)
26 implicit double precision (a-h,o-z)
29 common /comxyt/ dtcom,dxcom,dycom,tcom,icom,jcom
31 parameter(msize=max1d+4)
32 parameter(mwork=msize*(maxvar*maxvar + 13*maxvar + 3*maxaux +2))
34 dimension q(nvar,mitot,mjtot)
35 dimension fp(nvar,mitot,mjtot),gp(nvar,mitot,mjtot)
36 dimension fm(nvar,mitot,mjtot),gm(nvar,mitot,mjtot)
37 dimension aux(maux,mitot,mjtot)
41 data debug/.false./, dump/.false./
51 write(outunit,*)
"dumping grid ",mptr,
" at time ",time
54 write(outunit,545) i,j,(q(ivar,i,j),ivar=1,nvar)
56 545
format(2i4,5e15.7)
66 xlowmbc = xlow + mbc*dx
67 ylowmbc = ylow + mbc*dy
110 & xlowmbc,ylowmbc,dx,dy,time,dt,maux,aux)
115 call
step2(mbig,nvar,maux,
117 & q,aux,dx,dy,dt,cflgrid,
118 & fm,fp,gm,gp,
rpn2,rpt2)
121 write(outunit,1001) mptr, node(nestlevel,mptr),cflgrid
122 1001
format(
' Courant # of grid', i4,
123 &
' on level', i3,
' is ', e10.3)
128 cfl_level = dmax1(cfl_level,cflgrid)
136 do 50 j=mbc+1,mjtot-mbc
137 do 50 i=mbc+1,mitot-mbc
144 & - dtdx * (fm(m,i+1,j) - fp(m,i,j))
145 & - dtdy * (gm(m,i,j+1) - gp(m,i,j))
149 & - (dtdx * (fm(m,i+1,j) - fp(m,i,j))
150 & + dtdy * (gm(m,i,j+1) - gp(m,i,j))) / aux(mcapa,i,j)
156 if (method(5).eq.1)
then
158 call
src2(nvar,mbc,mx,my,xlowmbc,ylowmbc,dx,dy,
159 & q,maux,aux,time,dt)
166 write(dbugunit,*)
" fluxes for grid ",mptr
168 do 830 i = mbc+1, mitot-1
169 do 830 j = mbc+1, mjtot-1
170 write(dbugunit,831) i,j,fm(1,i,j),fp(1,i,j),
171 . gm(1,i,j),gp(1,i,j)
173 write(dbugunit,832) fm(m,i,j),fp(m,i,j),
174 . gm(m,i,j),gp(m,i,j)
175 831
format(2i4,4d16.6)
176 832
format(8x,4d16.6)
186 if (cflgrid .gt. 0.d0)
then
187 dtnew = dt*cfl/cflgrid
196 if (cflgrid .gt. cflv1)
then
198 write(outunit,810) cflgrid, cflv1
199 810
format(
'*** WARNING *** Courant number =', d12.4,
200 &
' is larger than input cfl_max = ', d12.4)
204 write(outunit,*)
"dumping grid ",mptr,
" after stepgrid"
207 write(outunit,545) i,j,(q(ivar,i,j),ivar=1,nvar)
subroutine b4step2(mbc, mx, my, meqn, q, xlower, ylower, dx, dy, t, dt, maux, aux)
subroutine src2(meqn, mbc, mx, my, xlower, ylower, dx, dy, q, maux, aux, t, dt)
subroutine stepgrid(q, fm, fp, gm, gp, mitot, mjtot, mbc, dt, dtnew, dx, dy, nvar, xlow, ylow, time, mptr, maux, aux)
subroutine rpn2(ixy, maxm, meqn, mwaves, maux, mbc, mx, ql, qr, auxl, auxr, wave, s, amdq, apdq)
subroutine step2(maxm, meqn, maux, mbc, mx, my, qold, aux, dx, dy, dt, cflgrid, fm, fp, gm, gp, rpn2, rpt2)