DUNE tutorial¶
This tutorial is an entry point to the Distributed and Unified Numerics Environment (DUNE). It is designed to help you decide quickly:
- what DUNE is good at,
- how difficult setup is in practice,
- how to move from first compile to first PDE solve.
Preliminary draft
This tutorial is currently in a very preliminary draft state. Content, structure, and examples may still change significantly.
Who this is for¶
- Beginners who know C++ and basic FEM and want a realistic first contact with DUNE.
- Users from other frameworks (for example FEniCS, deal.II, Firedrake, MFEM) who want to map familiar workflows to DUNE concepts.
What you can expect¶
If you follow the Getting started and Core modules chapters, you should be able to:
- set up a minimal DUNE core environment,
- compile and run standalone examples,
- solve a simple PDE within an afternoon,
- understand where to go next for advanced discretizations and extensions.
Scope and roadmap¶
The tutorial is structured in layers:
- Getting started setup, first program, build workflow.
- Core concepts
dune-common,dune-geometry,dune-grid,dune-localfunctions,dune-istl. - First PDE and time-dependent problems a complete problem path from model to output.
- Advanced discretizations and solvers transport, mixed methods, Stokes, DG, Krylov/AMG, block systems.
- Adaptivity, parallelism, and extensions refinement, load balancing, mesh I/O, VTK, special grid modules.
- Migration guides and cookbook practical patterns and framework translation hints.
Current focus is the core modules first. Extensions and specialized modules are introduced progressively.
How to start reading¶
Recommended path:
- Getting started
- Installation
- First program and example build layout
- Grid basics and neighboring core pages
If you want the fastest local setup for this tutorial, use:
./setup-env.sh
source _env/activate.sh
dunecontrol all
Where to learn more¶
- Official getting started: https://www.dune-project.org/doc/gettingstarted/
- Build from source: https://www.dune-project.org/installation/installation-buildsrc/
- External libraries: https://www.dune-project.org/installation/external-libraries/
- DUNE doxygen: https://www.dune-project.org/doxygen/master/
This site stays compact on purpose; official docs are the reference for full installation and module-specific details.
Summary and next steps¶
You now have the roadmap and recommended entry path for this tutorial. Start with Getting started, then continue to Core modules.