fills outer ghost cells by copying from inner ghost cells.
The picture below shows existing ghost cell data in a border around the valid region (including corners). These values are extrapolated to the ghost cells in the outer "flaps." The coordinate direction of extrapolation is a parameter (in this example, it is 0).+-----+---------------------------------+-----+ | | +-----------------------------+ | | | | | | | | | | | | | | | | | | | | | | | InteriorBox | | | | | | |%| x | | | | | |/ | | x |%| | / | | / | | |/| | |/ | | / | | / | | -----------/| | | /| | | / | | | / | | | / | | | / | | | / | | | / | | +-------------/---------------+x| | / +-----+--------------/----------------/-+-----+ / / / / / / / / / / / / ------/------------------------ / / | Ghost cells in outer flaps |/ / | (locations x) are filled by | / | extrapolating from existing | ------------/------------------------ | ghost cells (location %). | | Border of exisiting ghost cells. | |-----------------------------| | Assumed to be filled correctly | | on input. | |-----------------------------------|Limitation on grid configuration
The picture below shows the ghost cells of grid 1 for extrapolation in direction 0. The cells marked X were filled before extrapolation. The cells marked > are extrapolated to from the first X to their right. The cells marked ? want to be filled from an X to the right, but there isn't any. This algorithm is not defined for such a grid configuration, in which the outline of the level has a "step" of width (in this case 2) less than the extrapolation radius (in this case 4). Using this algorithm with grids that violate this condition may result in undefined behavior.
+ - - - - - - - - - - - + > > > X X X X X X < < < | +-------+ | > > > X| |X < < < | | | | > > > X| |X < < < | | grid 1| | > > > X| |X < < < | | | | > > > X| |X < < < | +---+-------+ | ? ?|^ ^ ^ ^ ^ ^|X < < < + - - - - - - - - - - - + | | | | | grid 0 | | | | | +-----------+
There is also a restriction on grids with "jagged steps" which is described in "Limitation on grid configuration" in the class documentation above (with the ASCII art). It is not checked whether the input domain complies with this restriction. Using this algorithm with grids that violate this condition may result in undefined behavior.
Arguments:
a_level_domain (not modified): domain of the level.
a_problem_domain (not modified): problem domain at this level.
a_extrap_interval (not modified): the interval of ghost cells to fill by extrapolation.
There is also a restriction on grids with "jagged steps" which is described in "Limitation on grid configuration" in the class documentation above (with the ASCII art). It is not checked whether the input domain complies with this restriction. Using this algorithm with grids that violate this condition may result in undefined behavior.
Arguments:
a_level_domain (not modified): domain of the level.
a_problem_domain (not modified): problem domain at this level.
a_extrap_interval (not modified): the interval of ghost cells to fill by extrapolation.
It is a fatal error if any grid in a_level_domain has any dimension less than a_extrap_interval.end().
There is also a restriction on grids with "jagged steps" which is described in "Limitation on grid configuration" in the class documentation above (with the ASCII art). It is not checked whether the input domain complies with this restriction. Using this algorithm with grids that violate this condition may result in undefined behavior.
Arguments:
a_level_domain (not modified): domain of the level.
a_problem_domain (not modified): problem domain at this level.
a_extrap_interval (not modified): the interval of ghost cells to fill by extrapolation.
This:
---This object is modified.---
It is a fatal error if any grid in a_level_domain has any dimension less than a_extrap_interval.end().
There is also a restriction on grids with "jagged steps" which is described in "Limitation on grid configuration" in the class documentation above (with the ASCII art). It is not checked whether the input domain complies with this restriction. Using this algorithm with grids that violate this condition may result in undefined behavior.
Arguments:
a_level_domain (not modified): domain of the level.
a_problem_domain (not modified): problem domain at this level.
a_extrap_interval (not modified): the interval of ghost cells to fill by extrapolation.
This:
---This object is modified.---
This:
This object is not modified.
Arguments:
a_data (modified): data at this level, both the source and destination for extrapolation.
a_dir (not modified): zero-based coordinate direction of extrapolation.
a_dest_comp (not modified): the first component for extrapolation.
a_num_comp (not modified): the number of components to
extrapolate.
This:
This object is not modified.
This software is copyright (C) by the Lawrence Berkeley National Laboratory. Permission is granted to reproduce this software for non-commercial purposes provided that this notice is left intact.
It is acknowledged that the U.S. Government has rights to this software under Contract DE-AC03-765F00098 between the U.S. Department of Energy and the University of California.
This software is provided as a professional and academic contribution for joint exchange. Thus it is experimental, is provided ``as is'', with no warranties of any kind whatsoever, no support, no promise of updates, or printed documentation. By using this software, you acknowledge that the Lawrence Berkeley National Laboratory and Regents of the University of California shall have no liability with respect to the infringement of other copyrights by any part of this software.