The adaptive finite-difference (AFD) integration algorithm defines the order in which different levels of the grid hierarchy are integrated, the interactions between overlaying component grids at different levels, and the criterion and method for grid refinement. Correspondingly, it is composed of three key components: (1) Time Integration, (2) Error Estimation & Regriding, and (3) InterGrid Operations.
Time Integration : Time integration is performed on each component grid using a specified finitedifference operator. Each component grid may have its own operator and can be integrated independently (except for determination of the boundary values). The order of integration along the grid hierarchy is defined recursively such that, before advancing component grids at a particular level of refinement in time, all component grids at higher levels of refinement must be integrated to the current time of component grids at that level. That is, before stepping component grids at level l, i.e. {Gli}, from time T to T + tl , all component grids at levels > l must be integrated to time T .
Error Estimation & Regriding : The error estimation and regriding component of the integration algorithm performs the following three steps; (1) flagging regions needing refinement based on error estimation, (2) clustering flagged points, and (3) refined grid generation. The result may be the creation of a new level of refinement or component grids at existing levels, and/or the deletion of existing component grids. Grid generation in step 3 is performed so as to maintain proper nesting along the grid hierarchy.
InterGrid Operations : Intergrid operations are used to communicate solutions values along the adaptive grid hierarchy. In case of the BergerOliger AFD scheme, the following intergrid operations are defined:
Initialization of refined component grids: Refined component grid initialization may be performed using the interior values of an intersecting component grid at same level if one exists; or by prolongated values from the underlying coarser component grid.
Coarse grid update: An underlying coarse component grids are updated using the values on a nested finer component grid each time they are integrated to the same time. This update or restriction intergrid operation may be performed by direct injection or using a defined averaging/interpolation scheme.
Averaging: Averaging is necessary when two component grids at the same level of refinement overlap, and is used to update the coarse component grids underlying the overlap region.