37 logical function nestck2(mnew,lbase,badpts,npts,numptc,icl,
41 implicit double precision (a-h,o-z)
42 dimension badpts(2,npts)
43 logical baseCheck, isNested1, isNested2
46 integer numptc(
maxcl), zeroBuff
71 if (lbase .eq. 1)
then 81 isnested1 = basecheck(mnew,lbase,
node(
ndilo,mnew),
88 levtocheck = levnew - 2
89 if (levtocheck .le. 1)
then 91 else if (levtocheck .le. lbase)
then 95 isnested2 = basecheck(mnew,levtocheck,
node(
ndilo,mnew),
101 if (isnested1 .and. isnested2)
then 112 50
if (npts .gt. 1)
go to 55
115 101
format(
' nestck2: 1 pt. cluster at level ',i5,
' still not',
116 1
' nested',/,
' pt. too close to boundary')
117 write(
outunit,104) badpts(1,npts),badpts(2,npts)
118 write(*,104) badpts(1,npts),badpts(2,npts)
119 104
format(
' non-nested flagged pt. at: ',2e15.7)
121 call outmsh(mnew, .false.,nvar,naux)
124 55
if (nclust .lt.
maxcl)
go to 60
127 102
format(
' too many clusters: > ',i5,
' (from nestck2) ')
131 103
format(
' bisecting cluster ',i5,
' with ',i5,
' pts. in nestck2')
136 rmid = rmid / lratiox
141 rmid = rmid / lratioy
148 90
if (badpts(idir,ipt) .lt. rmid)
go to 100
154 badpts(1,ipt) = badpts(1,ntop)
155 badpts(1,ntop) = temp
157 badpts(2,ipt) = badpts(2,ntop)
158 badpts(2,ntop) = temp
160 if (ipt .le. ntop)
go to 90
163 if (ipt .le. ntop)
go to 90
167 110 numptc(icl) = npts - ntop
168 do 120 i = icl, nclust
169 nmove = nclust + icl - i
170 120 numptc(nmove+1) = numptc(nmove)
integer, parameter cornxlo
x-coordinate of the left border of this grid
integer, parameter ndihi
global i index of right border of this grid
integer, dimension(nsize, maxgr) node
integer, parameter nestlevel
AMR level of the grid.
real(kind=8), dimension(rsize, maxgr) rnode
integer, parameter maxcl
maximum number of clusters (grids) on each grid level
integer, parameter ndilo
global i index of left border of this grid
integer, parameter ndjlo
global j index of lower border of this grid
logical function nestck2(mnew, lbase, badpts, npts, numptc, icl, nclust, nvar, naux)
Check that the potential grid mnew is completely contained in the (coarser) finest grid which stays f...
integer, dimension(maxlv) intraty
integer, parameter outunit
integer, parameter ndjhi
global j index of upper border of this grid
integer, parameter cornylo
y-coordinate of the lower border of this grid
integer, dimension(maxlv) intratx
subroutine outtre(mlev, outgrd, nvar, naux)
Output a subtree of the grids.
integer, parameter cornxhi
x-coordinate of the right border of this grid
The module contains the definition of a "node descriptor" as well as other global variables used duri...
subroutine outmsh(mptr, outgrd, nvar, naux)
Output the grid descriptor of grid mptr and optionally the values on the grid (for a single grid - se...
integer, parameter cornyhi
y-coordinate of the upper border of this grid