4 subroutine prepc(level,nvar)
7 implicit double precision (a-h,o-z)
23 mkid = lstart(level+1)
24 10
if (mkid .eq. 0) go to 20
25 ikeep = (node(ndihi,mkid)-node(ndilo,mkid)+1)/intratx(level)
26 jkeep = (node(ndjhi,mkid)-node(ndjlo,mkid)+1)/intraty(level)
27 maxsp = maxsp + 2*(ikeep+jkeep)
28 mkid = node(levelptr,mkid)
30 20 listsp(level) = maxsp
31 if (maxsp .eq. 0) go to 99
35 hxkid = hxposs(level+1)
36 hykid = hyposs(level+1)
37 imax = iregsz(level) - 1
38 jmax = jregsz(level) - 1
41 30
if (mpar .eq. 0) go to 99
44 ilo = node(ndilo,mpar)
45 jlo = node(ndjlo,mpar)
46 ihi = node(ndihi,mpar)
47 jhi = node(ndjhi,mpar)
51 35 alloc(locbc+i-1) = 0.d0
52 node(cfluxptr,mpar) = locbc
54 mkid = lstart(level+1)
55 40
if (mkid .eq. 0) go to 60
57 iclo = node(ndilo,mkid)/intratx(level)
58 jclo = node(ndjlo,mkid)/intraty(level)
59 ichi = node(ndihi,mkid)/intratx(level)
60 jchi = node(ndjhi,mkid)/intraty(level)
70 if (iplo .le. iphi+1 .and. jplo .le. jphi+1)
then
72 call
setuse(alloc(locbc),maxsp,ispot,mkid,
73 2 ilo,ihi,jlo,jhi,iclo,ichi,jclo,jchi,kflag)
77 if (xperdom .and. ilo .eq. 0 .and. ichi .eq. imax)
then
79 call
setuse(alloc(locbc),maxsp,ispot,mkid,
80 2 ilo,ihi,jlo,jhi,iclo-iregsz(level),ichi-iregsz(level),
85 if (xperdom .and. iclo .eq. 0 .and. ihi .eq. imax)
then
87 call
setuse(alloc(locbc),maxsp,ispot,mkid,
88 2 ilo,ihi,jlo,jhi,iclo+iregsz(level),ichi+iregsz(level),
93 if (yperdom .and. jlo .eq. 0 .and. jchi .eq. jmax)
then
95 call
setuse(alloc(locbc),maxsp,ispot,mkid,
96 2 ilo,ihi,jlo,jhi,iclo,ichi,
97 3 jclo-jregsz(level),jchi-jregsz(level),kflag)
101 if (yperdom .and. jclo .eq. 0 .and. jhi .eq. jmax)
then
103 call
setuse(alloc(locbc),maxsp,ispot,mkid,
104 2 ilo,ihi,jlo,jhi,iclo,ichi,
105 3 jclo+jregsz(level),jchi+jregsz(level),kflag)
110 if (spheredom .and. jhi .eq. jmax .and. jchi .eq. jmax)
then
113 iwrap2 = iregsz(level) - iclo - 1
114 iwrap1 = iregsz(level) - ichi - 1
115 if (max(ilo,iwrap1) .le. min(ihi,iwrap2))
then
116 call
setuse(alloc(locbc),maxsp,ispot,mkid,
117 1 ilo,ihi,jlo,jhi,iclo,ichi,
124 if (spheredom .and. jclo .eq. 0 .and. jlo .eq. 0)
then
126 iwrap2 = iregsz(level) - iclo - 1
127 iwrap1 = iregsz(level) - ichi - 1
128 if (max(ilo,iwrap1) .le. min(ihi,iwrap2))
then
129 call
setuse(alloc(locbc),maxsp,ispot,mkid,
130 1 ilo,ihi,jlo,jhi,iclo,ichi,
135 50 mkid = node(levelptr,mkid)
146 mpar = node(levelptr,mpar)
subroutine prepc(level, nvar)
subroutine setuse(listbc, maxsp, ispot, mkid, ilo, ihi, jlo, jhi, iclo, ichi, jclo, jchi, kflag)