4 subroutine setuse(listbc,maxsp,ispot,mkid,
6 2 iclo,ichi,jclo,jchi,kflag)
37 implicit double precision (a-h,o-z)
38 dimension listbc(5,maxsp)
49 if (ist .lt. ilo .or. kflag .ne. 1) go to 20
50 lkid = max(jlo,jclo) - jclo + 1
51 do 10 j = max(jlo,jclo), min(jhi,jchi)
53 listbc(1,ispot) = ist-ilo+nghost+1
54 listbc(2,ispot) = j-jlo+nghost+1
56 listbc(4,ispot) = mkid
57 listbc(5,ispot) = lkid
63 20
if (kflag .eq. 1)
then
64 if (jend .gt. jhi) go to 40
65 lkid = (jchi-jclo+1) + max(ilo,iclo)-iclo + 1
66 do 30 i = max(ilo,iclo), min(ihi,ichi)
68 listbc(1,ispot) = i-ilo+nghost+1
69 listbc(2,ispot) = jend-jlo+nghost+1
71 listbc(4,ispot) = mkid
72 listbc(5,ispot) = lkid
74 595
format(
" entry ",i5,
" has ", 5i5)
77 else if (kflag .eq. 2)
then
81 level = node(nestlevel,mkid) - 1
82 lkid = (jchi-jclo+1)+ 1
84 iwrap = iregsz(level) - i -1
85 if (iwrap .ge. ilo .and. iwrap .le. ihi)
then
87 listbc(1,ispot) = iwrap - ilo + nghost + 1
88 listbc(2,ispot) = jend - jlo + nghost
90 listbc(4,ispot) = mkid
91 listbc(5,ispot) = lkid
102 40
if (iend .gt. ihi .or. kflag .ne. 1) go to 60
103 lkid = (ichi-iclo+1)+(jchi-jclo+1)
104 . + max(jlo,jclo) - jclo + 1
105 do 50 j = max(jlo,jclo), min(jhi,jchi)
107 listbc(1,ispot) = iend-ilo+nghost+1
108 listbc(2,ispot) = j-jlo+nghost+1
110 listbc(4,ispot) = mkid
111 listbc(5,ispot) = lkid
118 60
if (kflag .eq. 1)
then
119 if (jst .lt. jlo) go to 80
120 lkid = 2*(jchi-jclo+1)+(ichi-iclo+1) + max(ilo,iclo)-iclo + 1
121 do 70 i = max(ilo,iclo), min(ihi,ichi)
123 listbc(1,ispot) = i-ilo+nghost+1
124 listbc(2,ispot) = jst-jlo+nghost+1
126 listbc(4,ispot) = mkid
127 listbc(5,ispot) = lkid
134 if (kflag .ne. 3) go to 80
136 level = node(nestlevel,mkid)-1
137 lkid = 2*(jchi-jclo+1) + (ichi-iclo+1) + 1
139 iwrap = iregsz(level) - i - 1
140 if (iwrap .ge. ilo .and. iwrap .le. ihi)
then
142 listbc(1,ispot) = iwrap - ilo + nghost + 1
143 listbc(2,ispot) = nghost+1
145 listbc(4,ispot) = mkid
146 listbc(5,ispot) = lkid
subroutine setuse(listbc, maxsp, ispot, mkid, ilo, ihi, jlo, jhi, iclo, ichi, jclo, jchi, kflag)