8 implicit double precision (a-h,o-z)
10 dimension fliparray((nrow+ncol)*
nghost*(nvar+naux))
11 dimension val(nvar,nrow,ncol)
12 dimension aux(naux,nrow,ncol)
14 dimension ist(3), iend(3), jst(3), jend(3), ishift(3), jshift(3)
19 iadd(ivar,i,j) = locflip + ivar-1 + nvar*((j-1)*nc+i-1)
20 iaddaux(iaux,i,j) = locflipaux + iaux-1 + naux*((j-1)*nc+i-1)
41 locflipaux = 1 + nvar*(ncol+nrow)
100 i1 = max(ilo, ist(i))
101 i2 = min(ihi, iend(i))
102 if (i1 .gt. i2)
go to 20
104 j1 = max(jlo, jst(j))
105 j2 = min(jhi, jend(j))
112 iputst = i1 - ilo + 1
113 jputst = j1 - jlo + 1
114 call icall(val,aux,nrow,ncol,nvar,naux,
115 1 i1+ishift(i),i2+ishift(i),
116 2 j1+jshift(j),j2+jshift(j),level,
124 if (j1 < 0) jbump = abs(j1)
128 iwrap1 = i1 + ishift(i)
129 iwrap2 = i2 + ishift(i)
131 iwrap1 =
iregsz(level) - iwrap1 -1
132 iwrap2 =
iregsz(level) - iwrap2 -1
145 iflipchunksize = naux*nc*nr - 1 + nvar*(ncol+nrow)
146 idimen = (nrow+ncol)*
nghost*(nvar+naux)
147 if (iflipchunksize .gt. idimen)
then 148 write(*,*)
"Error in fliparray size: asking for ",
149 . iflipchunksize,
" but dimension is",idimen
152 fliparray(locflipaux:locflipaux+naux*nc*nr - 1) =
154 call setaux(ng,nr,nc,xlwrap,ybwrap,
156 2 fliparray(locflipaux))
161 101
format(
" actual patch from i:",2i5,
" j :",2i5)
162 102
format(
" icall called w i:",2i5,
" j :",2i5)
163 call icall(fliparray(locflip),fliparray(locflipaux),
164 1 nr,nc,nvar, naux,iwrap1,iwrap2,jwrap1,jwrap2,
174 100
format(
" filling loc ",2i5,
" with ",2i5)
177 val(ivar,nrowst+(ii-ilo),ncolst+(jj-jlo)) =
178 1 fliparray(
iadd(ivar,nr-(ii-i1),nc-(jj-j1)))
182 aux(iaux,nrowst+(ii-ilo),ncolst+(jj-jlo)) =
183 1 fliparray(iaddaux(iaux,nr-(ii-i1),nc-(jj-j1)))
integer, dimension(maxlv) iregsz
real(kind=8), dimension(maxlv) hyposs
real(kind=8), dimension(maxlv) hxposs
integer, dimension(maxlv) jregsz
integer pure function iadd(ivar, i, j)
subroutine icall(val, aux, nrow, ncol, nvar, naux, ilo, ihi, jlo, jhi, level, iputst, jputst)
For a rectangle defined on level level and bound by ilo, ihi, jlo, jhi, find intersecting grids at th...
real(kind=8), parameter needs_to_be_set
The module contains the definition of a "node descriptor" as well as other global variables used duri...
subroutine setaux(mbc, mx, my, xlower, ylower, dx, dy, maux, aux)