Автор: Oliver Sander
Издательство: Springer
Год: 2020
Страниц: 616
Язык: английский
Формат: pdf (true)
Размер: 10.1 MB
Comprehensive introduction to the Dune software.
The Distributed and Unified Numerics Environment (Dune) is a set of open-source C++ libraries for the implementation of finite element and finite volume methods. Over the last 15 years it has become one of the most commonly used libraries for the implementation of new, efficient simulation methods in science and engineering.
Describing the main Dune libraries in detail, this book covers access to core features like grids, shape functions, and linear algebra, but also higher-level topics like function space bases and assemblers. It includes extensive information on programmer interfaces, together with a wealth of completed examples that illustrate how these interfaces are used in practice. After having read the book, readers will be prepared to write their own advanced finite element simulators, tapping the power of Dune to do so.
This book was written to teach people how to use Dune for their own simulation codes. It tries to target two groups of people: First of all, there are those who have not used Dune yet, and want to give it a try. For those, parts of the book are written in the style of a tutorial. hether Dune is the right tool for their needs. On the other hand, the book also targets readers who already have some familiarity with Dune, and who want to learn more. For those, the book contains chapters roughly dedicated to individual modules. These chapters provide background information on the concepts used in these modules, and try to present the interfaces somewhat systematically. In those parts, the book has a bit more of a “reference” flavor.
The functions interface follows the approach taken by the C++ standard library with the std::function class, but extends it to differentiable functions and functions defined on finite element grids. Spaces of finite element functions are represented by specifying bases of such spaces. The dune-functions module provides various standard bases, and a powerful mechanism to combine simpler bases into more complicated ones.
This book contains a lot of source code; pretty much all of it in C++. On one hand, short code snippets are given to demonstrate individual features. On the other hand, complete example applications are also discussed. All code has been tested to work with the Dune release 2.7; if it does not then there is a misprint in the book, and we would like to hear about it. Most code is also likely to run with newer and slightly older versions of Dune, possibly after a small bit of tweaking. The chapters that start with "Example:" discuss complete example applications. All these applications are constructed such that the entire code is contained in a single file, and hence only that single file and the Dune libraries are needed to build and run the example.
Скачать DUNE - The Distributed and Unified Numerics Environment