2D AMRCLAW
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | intfil (val, mi, mj, time, flaguse, nrowst, ncolst, ilo, ihi, jlo, jhi, level, nvar, naux, msrc) |
Fill values for a patch at the specified level and location, using values from grids at level level ONLY! Leave cells that are not filled unchanged. More... | |
integer pure function | iadd (ivar, i, j) |
integer pure function | iadnew (ivar, i, j) |
integer pure function | iadold (ivar, i, j) |
integer pure function intfil::iadd | ( | integer, intent(in) | ivar, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Definition at line 294 of file intfil.f90.
Referenced by basecheck(), bufnst2(), colate2(), conck(), drivesort(), iadd(), icall(), intcopy(), intfil(), preicall(), preintcopy(), update(), and valout().
integer pure function intfil::iadnew | ( | integer, intent(in) | ivar, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Definition at line 300 of file intfil.f90.
Referenced by intfil().
integer pure function intfil::iadold | ( | integer, intent(in) | ivar, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Definition at line 306 of file intfil.f90.
Referenced by intfil().
subroutine intfil | ( | real(kind=8), dimension(nvar,mi,mj), intent(inout) | val, |
integer, intent(in) | mi, | ||
integer, intent(in) | mj, | ||
real(kind=8), intent(in) | time, | ||
integer(kind=1), dimension(ilo:ihi, jlo:jhi), intent(inout) | flaguse, | ||
integer, intent(in) | nrowst, | ||
integer, intent(in) | ncolst, | ||
integer, intent(in) | ilo, | ||
integer, intent(in) | ihi, | ||
integer, intent(in) | jlo, | ||
integer, intent(in) | jhi, | ||
integer, intent(in) | level, | ||
integer, intent(in) | nvar, | ||
integer, intent(in) | naux, | ||
integer, intent(in) | msrc | ||
) |
Fill values for a patch at the specified level and location, using values from grids at level level ONLY! Leave cells that are not filled unchanged.
Search the intersection of a grid patch with corners at ilo,ihi, jlo,jhi and all grids mptr on level level. If there is a non-null intersection, copy the solution and auxiliary values from grid mptr into val array.
Assume called in correct order of levels, so that when copying is ok to overwrite.
It uses array, flaguse, to indicate whether each cell is filled. All cells outside computational domain will be marked as "used" as well and will be processed later by bc2amr() in filrecur().
Input:
Output:
If msrc , this patch is not associated with any grid. So the ''group of grids'', S, below contains all level level grids.
If msrc , this patch is contained in grid msrc. So the ''group of grids'', S, below only contains level level grids that intersect with grid msrc. Size of S is smaller in this case.
val | array where values are copied to. The array covers the whole grid msrc |
mi | size of val array in i direction |
mj | size of val array in j direction |
time | simulation time of the values in val array |
flaguse | marks indicating whether a position in val is filled |
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 the patch to be filled |
ihi | global i index of right-most cell of the patch to be filled |
jlo | global j index of lower-most cell of the patch to be filled |
jhi | global j index of upper-most cell of the patch to be filled |
level | This patch is on level level |
nvar | number of equations for the system |
naux | number of auxiliary variables |
msrc | index of the grid that contains this patch |
Definition at line 99 of file intfil.f90.
References amr_module::alloc, amr_module::bndlist, amr_module::bndlistnum, amr_module::bndlistst, amr_module::gridnbor, iadd(), iadnew(), iadold(), amr_module::iregsz, amr_module::jregsz, amr_module::levelptr, amr_module::listofgrids, amr_module::liststart, amr_module::lstart, amr_module::mxnest, amr_module::ndihi, amr_module::ndilo, amr_module::ndjhi, amr_module::ndjlo, amr_module::nextfree, amr_module::nghost, amr_module::node, amr_module::numgrids, outtre(), amr_module::outunit, amr_module::possk, amr_module::rnode, amr_module::store1, amr_module::store2, and amr_module::timemult.
Referenced by filrecur().