DUNE ― The Distributed and Unified Numerics Environment

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.


Author(s): Oliver Sander
Series: Lecture Notes in Computational Science and Engineering, 140
Publisher: Springer
Year: 2021

Language: English
Pages: 616
City: Cham

Preface
Contents
1. Introduction
1.1. The Case for Standardization
1.2. Goal of the Book
1.3. Structure of the Book
1.4. Source Code in this Book
Part I. Preliminaries
2. Mathematical Concepts
2.1. The Finite Element Method
2.2. The Finite Volume Method
2.3. Local Grid Adaptivity
3. Getting Started with Dune
3.1. Installation of Dune
3.2. A First Dune Application
3.3. Example: Solving the Poisson Equation Using Finite Elements
3.4. Example: Solving the Transport Equation with a Finite Volume Method
4. The Design and Structure of Dune
4.1. Software Functionality for Finite Element and Finite Volume Methods
4.2. The Structure of Dune
4.3. The Dune Core Modules
4.4. Designing Efficient Interfaces
4.5. Coding Style
4.6. Interface Stability and Backward Compatibility
Part II. The Core Modules
5. Grids and the Dune Grid Interface
5.1. Hierarchical Grids and Grid Views
5.2. Iterating over Vertices and Elements
5.3. Entities and Geometries
5.4. Intersections Between Elements
5.5. Reference Elements
5.6. Attaching Data to Grids
5.7. Creating Grids
5.8. Writing Grids and Data to VTK Files
5.9. Local Grid Adaptivity
5.10. Some Existing Grid Managers
6. Dune Grids on Distributed Machines
6.1. The Dune Data Decomposition Model
6.2. Setting up a Distributed Grid
6.3. Dynamic Load-Balancing
6.4. Communication
6.5. MPI Setup with the MPIHelper Class
6.6. Writing Distributed Grids to VTK Files
6.7. Example: The Poisson Equation on a Distributed Grid
7. Linear Algebra with dune-istl
7.1. Constructing Matrix and Vector Types by Nesting
7.2. Data Structures for Vectors
7.3. Data Structures for Matrices
7.4. Solvers and Preconditioners
7.5. The Algebraic Multigrid Preconditioner
8. Local Finite Elements and the dune-localfunctions Module
8.1. Finite Elements and Affine Families
8.2. The Interface for Finite Elements Defined on the Reference Element
8.3. Implementations of the Local Finite Element Interface
8.4. Run-Time Selection of Local Finite Elements
9. Quadrature Rules
9.1. Numerical Integration
9.2. The Dune Quadrature Rule Interface
Part III. Solving Partial Differential Equations
10. Function Space Bases and Discrete Functions
10.1. Function Space Bases
10.2. Programming Interface for Function Space Bases
10.3. Constructing Trees of Function Space Bases
10.4. Treating Subtrees as Separate Bases
10.5. Functions
10.6. Combining Global Bases and Coefficient Vectors
10.7. Writing Functions to a VTK File
10.8. Example: Solving the Stokes Equation with dune-functions
11. Discretizing Partial Differential Equations with dune-pdelab
11.1. Example: Linear Reaction–Diffusion Equation
11.2. Implementing Element Assemblers
11.3. Dirichlet Boundary Conditions
11.4. Linear Algebra Backends
11.5. Local Grid Adaptivity
Part IV. Appendix
A. The Dune Build System
A.1. Building and Installing Dune Modules
A.2. Dune Modules
B. Complete Source Codes of the Example Programs
B.1. The Geometry of the Example Domain
B.2. Finite Element Method for the Poisson Equation
B.3. Finite Volume Method for the Linear Transport Equation
B.4. Local Grid Adaptivity Without Data Transfer
B.5. Local Grid Adaptivity with Data Transfer
B.6. The Poisson Equation on a Distributed Grid
B.7. The Poisson Equation on a Distributed Grid Using ISTL Interfaces
B.8. The Sequential AMG Preconditioner
B.9. Dual Mortar Finite Elements
B.10. The Stokes Equation Using Taylor–Hood Elements
B.11. The Linear Reaction–Diffusion Equation Using dune-pdelab
B.12. p-Laplace Problem Using dune-pdelab and Finite Elements
B.13. The Linear Reaction-Diffusion Equation Using a DG Method
B.14. The Poisson Equation with Dirichlet Boundary Conditions
B.15. Demonstrating the Linear Algebra Backends
B.16. Error Estimation and Adaptive Grid Refinement Using dune-pdelab
Bibliography
Index
Editorial Policy