Exploring numerical methods for parallel, multirate AMR on multiblock domains
What is ForestClaw?
ForestClaw is a parallel, multi-block adaptive finite volume code for solving PDEs on mapped, logically Cartesian meshes. For solving hyperbolic problems using explicit, single step algorithms, ForestClaw's block-structured adaptive algorithm, including multi-rate time stepping, is essentially that described by Berger, Oliger and Collela in 1984 and 1989. The hyperbolic solvers are currently based on ClawPack (R. J. LeVeque). Future plans include support for general method-of-lines solvers in a multi-rate setting.
Where ForestClaw departs from the standard Berger-Oliger block-structured approach is that the multi-resolution grid hierarchy is not stored as overlapping, nested grids but rather as a composite structure of non-overlapping fixed sized grids, each of which is stored as a leaf in a forest of quad- or octrees. The particular code base we use for managing the tree is p4est (Carsten Burstedde, Univ. of Bonn).
Why develop another AMR code?
Currently, there are several AMR codes for doing block-structured AMR. What are the advantages of the ForestClaw approach?
- By using an external library for grid management, we completely separate issues related to grid connectivity, load balancing, and regridding, from the underlying numerics. With p4est, we can exploit state-of-the-art technology for managing tree-based data structures, including the use of space filling curves for maintaining data locality in parallel.
- Because of the composite quad- or octree layout, ghost cell exchanges occur in a regular pattern at patch boundaries, rather than between ghost cells on the fine grid and interior grid cells on the coarse grid. This eliminates the need to store the locations of where fine grids are positioned in the coarse grid. Also, only a limited number of neighbor configurations are allowed, again reducing the code complexity and simplifying the development of new numerical algorithms. This simplification is particularly advantageous in 3d.
- p4est has been built for distributed parallelism and designed to allow transparent and efficient parallelization of numerical codes such as ForestClaw. For example, the p4est algorihms for regridding and re-balancing (ensuring that all levels are properly nested) has been shown to scale well on up to 262,144 CPU cores.
- ForestClaw inherits the multi-block domain structure from p4est and so adaptive mesh refinement for the sphere grid proposed by Calhoun, Helzel and LeVeque (SIAM Review, 2008), or the cubed sphere can all be easily handled by ForestClaw.
Where can I get ForestClaw?
The code is now in the earliest stages of development, but we very much have in mind that this code should be publicly available. Please check back for status updates.
Donna Calhoun would like to acknowledge the support of the Isaac Newton Institute and the program Adaptive Multiscale Numerics for the Ocean and Atmosphere, where much of the initial work in developing ForestClaw was done.
Last modified: Mon Oct 28 06:41:01 MDT 2013