Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 2, Issue 4, Pages 145-156

Object-Oriented Implementation of Adaptive Mesh Refinement Algorithms

William Y. Crutchfield and Michael L. Welcome

Applied Mathematics Group, Lawrence Livermore National Laboratory, Livermore, CA 94550, USA

Received 29 April 1993; Accepted 29 June 1993

Copyright © 1993 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


We describe C++ classes that simplify development of adaptive mesh refinement (AMR) algorithms. The classes divide into two groups, generic classes that are broadly useful in adaptive algorithms, and application-specific classes that are the basis for our AMR algorithm. We employ two languages, with C++ responsible for the high-level data structures, and Fortran responsible for low-level numerics. The C++ implementation is as fast as the original Fortran implementation. Use of inheritance has allowed us to extend the original AMR algorithm to other problems with greatly reduced development time.