UG – a flexible software toolbox for solving partial differential equations. (English) Zbl 0970.65129
Summary: Over the past two decades, some very efficient techniques for the numerical solution of partial differential equations have been developed. We are especially interested in adaptive local grid refinement on unstructured meshes, multigrid solvers and parallelization techniques. Up to now, these innovative techniques have been implemented mostly in university research codes and only very few commercial codes use them. There are two reasons for this. Firstly, the multigrid solution and adaptive refinement for many engineering applications are still a topic of active research and cannot be considered to be mature enough for routine application. Secondly, the implementation of all these techniques in a code with sufficient generality requires a lot of time and know-how in different fields. UG (abbreviation for Unstructured Grids) has been designed to overcome these problems. It provides very general tools for the generation and manipulation of unstructured meshes in two and three space dimensions as well as a flexible data layout. Therefore, it can serve on the one hand as a tool for exploring new algorithms and, on the other hand, a whole range of algorithms already implemented can be applied to complex problems. In this paper, we show the software design structure of UG and explore some of the subsystems in more detail. Finally, we try to illustrate the capabilities of the approach with several non-trivial examples.
MSC:
65N50 | Mesh generation, refinement, and adaptive methods for boundary value problems involving PDEs |
35J25 | Boundary value problems for second-order elliptic equations |
65N55 | Multigrid methods; domain decomposition for boundary value problems involving PDEs |
65Y05 | Parallel numerical computation |
65Y15 | Packaged methods for numerical algorithms |