16 subroutine update (level, nvar, naux)
19 implicit double precision (a-h,o-z)
31 iadd(ivar,i,j) = loc + ivar-1 + nvar*((j-1)*mitot+i-1)
32 iaddf(ivar,i,j) = locf + ivar-1 + nvar*((j-1)*mi+i-1)
33 iaddfaux(i,j) = locfaux +
mcapa-1 + naux*((j-1)*mi + (i-1))
34 iaddcaux(i,j) = loccaux +
mcapa-1 + naux*((j-1)*mitot+(i-1))
48 100
format(19h updating level ,i5)
89 1 naux,mitot,mjtot,
listsp(lget),mptr)
96 30
if (mkid .eq. 0)
go to 80
114 if (iplo .gt. iphi .or. jplo .gt. jphi)
go to 75
125 write(
outunit,101) i,j,mptr,iff,jff,mkid
126 101
format(
' updating pt. ',2i4,
' of grid ',i3,
' using ',2i4,
129 102
format(
' old vals: ',4e12.4)
138 if (
mcapa .eq. 0)
then 143 1
alloc(iaddf(ivar,iff+ico-1,jff+jco-1))
153 capa =
alloc(iaddfaux(iff+ico-1,jff+jco-1))
156 1
alloc(iaddf(ivar,iff+ico-1,jff+jco-1))*capa
161 1 (totrat*
alloc(iaddcaux(i,j)))
166 103
format(
' new vals: ',4e12.4)
integer, parameter ndihi
global i index of right border of this grid
integer, dimension(nsize, maxgr) node
integer, dimension(0:maxlv+1) liststart
subroutine upbnd(listbc, val, nvar, naux, mitot, mjtot, maxsp, mptr)
Do conservation fix-up for cells on grid mptr that border finer grids.
integer, dimension(maxlv) numgrids
integer, dimension(maxgr) listofgrids
integer pure function iadd(ivar, i, j)
subroutine update(level, nvar, naux)
Synchronize between all grids on level level and grids on level level+1.
integer, parameter ndilo
global i index of left border of this grid
integer, parameter ndjlo
global j index of lower border of this grid
integer, parameter store1
pointer to the address of memory storing the first copy of solution data on this grid, usually for storing new solution
integer, dimension(maxlv) lstart
integer, dimension(maxlv) intraty
integer, parameter outunit
real(kind=8), dimension(maxlv) possk
integer, parameter ndjhi
global j index of upper border of this grid
integer, dimension(maxlv) listsp
integer, dimension(maxlv) intratx
integer, parameter levelptr
node number (index) of next grid on the same level
The module contains the definition of a "node descriptor" as well as other global variables used duri...
integer, parameter cfluxptr
Pointer to an 5 by maxsp array, which has boundary information for this grid.
integer, parameter storeaux
pointer to the address of memory storing auxiliary data on this grid
real(kind=8), dimension(:), allocatable alloc