4 subroutine domain (nvar,vtime,nx,ny,naux,start_time)
7 implicit double precision (a-h,o-z)
21 rnode(cornxlo,mstart) = xlower
22 rnode(cornylo,mstart) = ylower
23 rnode(cornyhi,mstart) = yupper
24 rnode(cornxhi,mstart) = xupper
25 node(nestlevel,mstart) = 1
26 node(levelptr,mstart) = 0
29 if (flag_richardson)
then
30 if (((nx/2)*2 .ne. nx) .or. (ny/2)*2 .ne. ny)
then
31 write(outunit,*)
" must have even number of cells"
32 write(*,*)
" must have even number of cells"
37 node(ndilo,mstart) = 0
38 node(ndjlo,mstart) = 0
39 node(ndihi,mstart) = nx-1
40 node(ndjhi,mstart) = ny-1
44 call
ginit(mstart, .true., nvar, naux, start_time)
52 do while (mptr .gt. 0)
54 ncells = ncells + (node(ndihi,mptr)-node(ndilo,mptr)+1)
55 & * (node(ndjhi,mptr)-node(ndjlo,mptr)+1)
56 mptr = node(levelptr, mptr)
60 avenumgrids(1) = avenumgrids(1) + ngrids
64 write(*,100) ngrids,ncells
65 100
format(
"there are ",i4,
" grids with ",i8,
" cells at level 1")
83 60 mitot = node(ndihi,mptr)-node(ndilo,mptr) + 1 + 2*nghost
84 mjtot = node(ndjhi,mptr)-node(ndjlo,mptr) + 1 + 2*nghost
85 locaux = node(storeaux,mptr)
87 call
estdt(alloc(node(store1,mptr)),mitot,mjtot,nvar,
88 1 dx,dy,dtgrid,nghost,alloc(locaux),naux,cfl)
90 mptr = node(levelptr,mptr)
91 if (mptr .ne. 0) go to 60
103 do 70 level = 2, mxnest
104 iregsz(level) = iregsz(level-1) * intratx(level-1)
105 jregsz(level) = jregsz(level-1) * intraty(level-1)
106 possk(level) = possk(level-1)/dble(kratio(level-1))
subroutine makebndrylist(level)
subroutine makegridlist(lbase)
subroutine ginit(msave, first, nvar, naux, start_time)
subroutine estdt(val, mitot, mjtot, nvar, dx, dy, dt, nghost, aux, naux, cfl)
integer function nodget()
subroutine arrangegrids(level, numg)
subroutine domain(nvar, vtime, nx, ny, naux, start_time)