This package is a C++ templated class library designed to support adaptive mesh refinement (AMR) for logically Cartesian, structured meshes. A heirarchy of sub-grids are stored in a tree data structure. Each node of the tree is a structured mesh with the same index ranges. In N-dimensional space, refinement replaces a single mesh with 2N meshes; coarsening does the opposite.
Notable features include:
This package has a linear orthree called amr::Orthtree . Each leaf has an associated spatial index (implemented in amr::SpatialIndexMorton) that encodes its level and position in the tree. For distributed-memory applications, use amr::DistributedOrthtree .
Use this sub-package by including the desired class or by including the file amr/amr.h.
Follow the links below for documentation and results.