2D AMRCLAW
|
Go to the source code of this file.
Functions/Subroutines | |
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: More... | |
integer pure function | coarse_index (n, i, j) |
logical pure function | sticksout (iplo, iphi, jplo, jphi) |
integer pure function filrecur::coarse_index | ( | integer, intent(in) | n, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Definition at line 343 of file filpatch.f90.
Referenced by coarse_index(), and filrecur().
recursive subroutine filrecur | ( | integer, intent(in) | level, |
integer, intent(in) | nvar, | ||
real(kind=8), dimension(nvar,mitot,mjtot), intent(inout) | valbig, | ||
real(kind=8), dimension(naux,mitot,mjtot), intent(inout) | aux, | ||
integer, intent(in) | naux, | ||
real(kind=8), intent(in) | t, | ||
integer, intent(in) | mitot, | ||
integer, intent(in) | mjtot, | ||
integer, intent(in) | nrowst, | ||
integer, intent(in) | ncolst, | ||
integer, intent(in) | ilo, | ||
integer, intent(in) | ihi, | ||
integer, intent(in) | jlo, | ||
integer, intent(in) | jhi, | ||
logical | patchOnly, | ||
integer, intent(in) | msrc | ||
) |
Fill a region (patch) described by:
The patch is on grid msrc and starts from row nrowst and column ncolst of the grid.
It first fills the patch with values obtainable from level level grids. if any left unfilled, then enlarge remaining rectangle of unfilled values by 1 (for later linear interp), and recusively obtain the remaining values from coarser levels.
## Algorithm
level | AMR level the patch is on |
nvar | number of equations for the system |
valbig | data array for solution (cover the whole grid msrc) |
aux | data array for auxiliary variables |
naux | number of auxiliary variables |
t | fill the patch with value at time t |
mitot | number of cells in i direction on grid msrc |
mjtot | number of cells in j direction on grid msrc |
nrowst | local i index (relative to lower-left corner of grid msrc) of the left-most cell of the patch to be filled |
ncolst | local j index (relative to lower-left corner of grid msrc) of the lower-most cell of the patch to be filled |
ilo | global i index of left-most cell of this patch |
ihi | global i index of right-most cell of this patch |
jlo | global j index of lower-most cell of this patch |
jhi | global j index of upper-most cell of this patch |
patchOnly | This is 1) false if this is a first level call to filrecur() and won't set bounday cells outside domain; 2) true if this is a second or higher level (recursive) call to filrecur() and will call bc2amr() to get values for cells outside domain (these cells are only for interpolation to fill cells in first level call to filrecur() |
msrc | index of the grid |
Definition at line 73 of file filpatch.f90.
References bc2amr(), coarse_index(), amr_module::hxposs, amr_module::hyposs, intfil(), amr_module::intratx, amr_module::intraty, amr_module::iregsz, amr_module::jregsz, amr_module::needs_to_be_set, amr_module::nghost, amr_module::outunit, prefilrecur(), setaux(), amr_module::spheredom, sticksout(), trimbd(), amr_module::xlower, amr_module::xperdom, amr_module::xupper, amr_module::ylower, amr_module::yperdom, and amr_module::yupper.
Referenced by bound(), filrecur(), and prefilrecur().
logical pure function filrecur::sticksout | ( | integer, intent(in) | iplo, |
integer, intent(in) | iphi, | ||
integer, intent(in) | jplo, | ||
integer, intent(in) | jphi | ||
) |
Definition at line 349 of file filpatch.f90.
References amr_module::iregsz, and amr_module::jregsz.
Referenced by filrecur(), and sticksout().