An Object-Oriented Approach for Parallel Self Adaptive Mesh Refinement on Block Structured Grids
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 si
- PDF / 3,033,353 Bytes
- 22 Pages / 439.37 x 666.142 pts Page_size
- 1 Downloads / 189 Views
SUMMARY
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. First results for simple singular perturbation problems solved by self adaptive multilevel techniques (FAC, AFAC), being implemented on the basis of prototypes of the P++/ AMR++ environment, are presented. Singular perturbation problems frequently arise in large applications, e.g. in the area of computational fluid dynamics. They usually have solutions with layers which require adaptive mesh refinement and fast basic solvers in order to be resolved efficiently.
IThis research has been supported by the National Aeronautics and Space Administration under grant number NASI-18606 and the German Federal Ministry of Research and Technology (BMFT) under PARANUSS, grant number ITR 900689. 2Part of this work belongs to the author's dissertation.
199 W. Hackbusch et al. (eds.), Adaptive Methods — Algorithms, Theory and Applications © Springer Fachmedien Wiesbaden 1994
INTRODUCTION The purpose of local mesh refinement during the solution of partial differential equations (PDEs) is to match the computational demands to an application's activity: In a fluid flow problem this means that only regions of high local activity (shocks, boundary layers, etc.) can demand increased computational effort; regions of little flow activity (or interest) are more easily solved using only relatively little computational effort. In addition, the ability to adaptively tailor the computational mesh to the changing requirements of the application problem at runtime (e.g. moving fronts in time dependent problems) provides for much faster solution methods than static refinement or even uniform grid methods. Combined with increasingly powerful parallel computers that are becoming available, such methods allow for much larger and more comprehensive applications to be run. With local refinement methods, the greater disparity of scale introduced in larger applications can be addressed locally. Withou
Data Loading...