Skip to content

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:

  1. set up a minimal DUNE core environment,
  2. compile and run standalone examples,
  3. solve a simple PDE within an afternoon,
  4. understand where to go next for advanced discretizations and extensions.

Scope and roadmap

The tutorial is structured in layers:

  1. Getting started setup, first program, build workflow.
  2. Core concepts dune-common, dune-geometry, dune-grid, dune-localfunctions, dune-istl.
  3. First PDE and time-dependent problems a complete problem path from model to output.
  4. Advanced discretizations and solvers transport, mixed methods, Stokes, DG, Krylov/AMG, block systems.
  5. Adaptivity, parallelism, and extensions refinement, load balancing, mesh I/O, VTK, special grid modules.
  6. 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:

  1. Getting started
  2. Installation
  3. First program and example build layout
  4. 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

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.