29 integer,
intent(in) :: nvar, ng, mitot, mjtot, mptr, naux
30 real(kind=8),
intent(in) :: time
31 real(kind=8),
intent(in out) :: valbig(nvar,mitot,mjtot)
32 real(kind=8),
intent(in out) :: aux(naux,mitot,mjtot)
35 integer :: ilo, ihi, jlo, jhi, level,i,j
36 real(kind=8) :: xleft, xright, ybot, ytop, hx, hy, xl, xr, yb, yt
38 xleft = rnode(cornxlo, mptr)
39 xright = rnode(cornxhi, mptr)
40 ybot = rnode(cornylo, mptr)
41 ytop = rnode(cornyhi, mptr)
42 ilo = node(ndilo, mptr)
43 ihi = node(ndihi, mptr)
44 jlo = node(ndjlo, mptr)
45 jhi = node(ndjhi, mptr)
46 level = node(nestlevel, mptr)
58 if ((xl < xlower) .and.
xperdom)
then 59 call prefilrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot,1,ng+1, &
62 call filrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot,1,ng+1,ilo-ng,ilo-1,jlo,jhi)
72 if ((xr .gt. xupper) .and.
xperdom)
then 73 call prefilrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot, &
74 mitot-ng+1,ng+1,ihi+1,ihi+ng,jlo,jhi)
76 call filrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot, &
77 mitot-ng+1,ng+1,ihi+1,ihi+ng,jlo,jhi)
89 ( ((xl < xlower) .or. (xr > xupper)) .and.
xperdom) )
then 90 call prefilrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot,1,1,ilo-ng,ihi+ng,jlo-ng,jlo-1)
92 call filrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot,1,1,ilo-ng,ihi+ng,jlo-ng,jlo-1)
103 (((xl .lt. xlower) .or. (xr .gt. xupper)) .and.
xperdom) )
then 104 call prefilrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot, &
105 1,mjtot-ng+1,ilo-ng,ihi+ng,jhi+1,jhi+ng)
107 call filrecur(level,nvar,valbig,aux,naux,time,mitot,mjtot, &
108 1,mjtot-ng+1,ilo-ng,ihi+ng,jhi+1,jhi+ng)
integer, parameter cornxlo
x-coordinate of the left border of this grid
recursive subroutine prefilrecur(level, nvar, valbig, auxbig, naux, time, mitot, mjtot, nrowst, ncolst, ilo, ihi, jlo, jhi, iglo, ighi, jglo, jghi, patchOnly)
For periodic boundary conditions more work needed to fill the piece of the boundary.
real(kind=8), dimension(maxlv) hyposs
real(kind=8), dimension(maxlv) hxposs
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 ndilo
global i index of left border of this grid
integer, parameter ndjlo
global j index of lower border of this grid
recursive subroutine filrecur(level, nvar, valbig, aux, naux, t, mitot, mjtot, nrowst, ncolst, ilo, ihi, jlo, jhi, patchOnly, msrc)
Fill a region (patch) described by:
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, 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...
integer, parameter cornyhi
y-coordinate of the upper border of this grid