Skip to content
donnaaboise edited this page Feb 5, 2012 · 15 revisions

Welcome to the AMR Working group


Here are some of the topics that I think we can discuss in this group.

  • How AMR-ready is PyClaw? I have seen in previous e-mails that there are at least variable names like "number o grids", "levels", etc, which says the developers are thinking ahead to AMR.

  • Computational efficiency, vs. ease of development of patch-based approaches vs. an octree approach. Patch based approaches have the obvious advantage that large uniform Cartesian patches can be sent off to existing single grid solvers. The disadvantage is that gridding may be less efficient (i.e. too many cells refined) than an octree approach which can more easily refine in exactly those areas that need refinement.

  • To subcycle in time or not to subcycle in time? This is going to be important if large refinement ratios are expected.

  • What is hard to get right is the elliptic and parabolic solvers. This maybe where we want to spend some time, noting the strengths and weaknesss of the various appraoches, especially getting good parallel performance.

  • How flexible should the solver be? Should a general code handle both cell centers and node based schemes?

  • What about mapped grids?

  • What about GPU computing? How much of a game-changer is that the advent of GPU arrays going to be for AMR?

If you'd like to see what existing AMR codes look like, click here

Advertisement for joining our group : AMR Working Group

Sunday 2/5 Progress

Our working group on Sunday was very productive. Here is what we discussed, and concluded

  • The hybrid patch/octree approaches is very appealing, and is the model we adopting. The idea is that we use an octree to organize a "master grid", which is used to delineate leaves of refinement tree. But instead of each leaf being a single mesh cell, the leaves are grids of a fixed size that can be passed off to a clawpack/pyclaw solver. One key advantage of this approach is the we can benefit from the more structured layout of the patches, and an ordering scheme which makes it easy to locate patches in the larger domain. This may avoid the need for the irregular data structures needed for the original patch scheme.

  • The question that came up is, Do we need to worry about covered cells? Since we no longer worry about an irregular grid structure that would result by placing grids arbitrarily in a larger domain, we may have no more need for covered cells. Fine grid boundary ghost cell data may be interpolated from a combination of valid fine and coarse grid data.

  • One concern was raised that by always requiring a factor two refinement (larger domain is refined into a 2x2 grid (each containing, say a clawpack grid). This means that effectively, only refinement ratios of two are allowed.

  • It is decided that sub cycling in time is important, and so will be implemented in the p4est version of PyAMR

  • Kristof already has a version of Peano working with PyClaw.

  • Carsten will work on getting a single grid working with pest.

  • Donna will work look into ghost cell issue, and will come up with the basic pseudo-code for advancing a single time step on a coarse grid, and recursively, updating finer grids.

Clone this wiki locally