Abstract

Self adaptive mesh refinement dynamically matches the computational demands of a solver for partial differential equations to the activity in the application’s domain. In this paper we present two C++ class libraries, P++ and AMR++, which significantly simplify the development of sophisticated adaptive mesh refinement codes on (massively) parallel distributed memory architectures. The development is based on our previous research in this area. The C++ class libraries provide abstractions to separate the issues of developing parallel adaptive mesh refinement applications into those of parallelism, abstracted by P++, and adaptive mesh refinement, abstracted by AMR++. P++ is a parallel array class library to permit efficient development of architecture independent codes for structured grid applications, and AMR++ provides support for self adaptive mesh refinement on block-structured grids of rectangular non overlapping blocks. Using these libraries the application programmers’ work is greatly simplified to primarily specifying the serial single grid application, and obtaining the parallel and self adaptive mesh refinement code with minimal effort.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call