dune-pdelab (dune-pdelab)

A generalized discretization module for a wide range of discretization methods. It allows rapid prototyping for implementing discretizations and solvers for systems of PDEs based on DUNE.

dune-common dune-istl dune-localfunctions dune-geometry dune-grid dune-typetree dune-functions
Suggests: dune-alugrid dune-multidomaingrid
Git repository:
PDELab beginners guide, PDELab Tutorial

Beginners Resources

Go here for installation instructions for beginners.

Go here for the PDELab Tutorial.


dune-pdelab is a discretization module based on DUNE with the following aims:

  • Rapid prototyping: Substantially reduce time to implement discretizations and solvers for systems of PDEs based on DUNE
  • Simple things should be simple: Suitable for teaching
  • Use of different linear solvers: Exchangeable linear algebra backend

Its main abstractions are:

  • Flexible discrete function spaces:
    • Conforming and non-conforming
    • hp-refinement
    • general approach to constraints
    • Product spaces for systems
    • Adaptivity and parallel data decomposition
  • Operators based on weighted residual formulation:
    • Linear and nonlinear
    • stationary and transient
    • FE and FV schemes requiring at most face-neighbors

The following applications have been realized using PDELab

  1. Various elliptic, parabolic and hyperbolic modelproblems.
  • Higher-order conforming and discontinuous Galerkin finite element methods.
  • Cell-centered finite volume method.
  • Mixed finite element method.
  • Mimetic finite difference method.
  • Incompressible Navier-Stokes equations.
  • Two-phase flow.
  • Multi-phase flow in porous media.
  • Linear acoustics.
  • Maxwell’s equations.
  • DuMux is a simulator for flow and transport in porous media based on DUNE and PDELab.


The module dune-pdelab-tutorials contains code examples, exercises and documentation to get you started with PDELab, split up into a number of separate tutorials. This module also forms the basic of the yearly PDELab introduction course at Heidelberg University.

Older versions of PDELab instead provided a different module called dune-pdelab-howto, but this is not maintained any longer.


Currently an extension of PDELab is in development that allows to couple different models in different subdomains. It consist of the following two additional modules

  • dune-multidomaingrid provides a metagrid that allows to decompose a grid into several (possibly overlapping) subdomains. This module is independent of dune-pdelab.
  • dune-multidomain extends dune-pdelab such that different models in the subdomains can be coupled.


  • Access the online documentation of the 2.7.0 release (click).
  • Access the online documentation of the 2.8.0 release (click).
  • Access the online documentation of the development version (click).

Bug Tracking System

The bug tracker for PDELab can be found on Dune’s GitLab server.

Mailing list

If you really cannot find your answer in either the Howto or the documentation, you might consult the Dune PDELab mailing list.


Release packages

If you are interested in developing your own applications on top of PDELab, the release packages provide you with a stable foundation that is not subject to the sudden changes that might happen in the development branch. Moreover, these packages contain all of the API documentation and the Howto documents, which is handy if you do not have Doxygen and/or Latex installed on your machine.

Starting from PDELab 2.0, we provide GPG signatures for the release packages. Those signatures have been created with subkeys of the following key:

Module File Name Size PGP Signature
dune-typetree dune-typetree-2.3.1.tar.gz 1.6 MB dune-typetree-2.3.1.tar.gz.asc
dune-typetree-2.3.1.tar.bz2 1.2 MB dune-typetree-2.3.1.tar.bz2.asc
dune-typetree-2.3.1.tar.xz 1.1 MB dune-typetree-2.3.1.tar.xz.asc
dune-pdelab dune-pdelab-2.0.0.tar.gz 58 MB dune-pdelab-2.0.0.tar.gz.asc
dune-pdelab-2.0.0.tar.bz2 49 MB dune-pdelab-2.0.0.tar.bz2.asc
dune-pdelab-2.0.0.tar.xz 34 MB dune-pdelab-2.0.0.tar.xz.asc
dune-pdelab-howto dune-pdelab-howto-2.0.0.tar.gz 46 MB dune-pdelab-howto-2.0.0.tar.gz.asc
dune-pdelab-howto-2.0.0.tar.bz2 31 MB dune-pdelab-howto-2.0.0.tar.bz2.asc
dune-pdelab-howto-2.0.0.tar.xz 24 MB dune-pdelab-howto-2.0.0.tar.xz.asc

Version 1.1.0

The release packages for PDELab 1.1.0 have been generated using the release packages of Dune 2.2.1.

Module File Name Size SHA1
dune-pdelab dune-pdelab-1.1.0.tar.gz 17.7 MB fb32f55a4538bc7a6ebca6668f272742da92cb44
dune-pdelab-1.1.0.tar.bz2 15.2 MB 7ffea91e05932abab3d076e288805804c9290d4e
dune-pdelab-1.1.0.tar.xz 13.5 MB 9ebebf0eaa5ff9013799a03bf70c0db08f4f8122
dune-pdelab-howto dune-pdelab-howto-1.1.0.tar.gz 55.1 MB cd90095de8f4cc9b169084a359a9ccb66c514869
dune-pdelab-howto-1.1.0.tar.bz2 35.0 MB 8efb399e85b637dc00ead1ad0c9c70d234ef5e91
dune-pdelab-howto-1.1.0.tar.xz 26.1 MB ca5caafc6c694fb6255cde3d22e9a0be468f3b04

Version 1.0.1

The release packages for PDELab 1.0.1 have been generated using the release packages of Dune 2.2.0.

Module File Name Size SHA1
dune-pdelab dune-pdelab-1.0.1.tar.gz 23.3 MB 075de112e9da69a726f1c052232dc3a9944b30fb
dune-pdelab-1.0.1.tar.bz2 20.8 MB 99ef27877f34f9ca831d97ab8348b87d4b1bca78
dune-pdelab-1.0.1.tar.xz 17.5 MB a7f2467025e34dcaab0522f9cdf45cbf3810d58f
dune-pdelab-howto dune-pdelab-howto-1.0.1.tar.gz 59.0 MB be97168c375e5233287ebbcebec32b77539fb329
dune-pdelab-howto-1.0.1.tar.bz2 39.5 MB bb26fb33e3b7ee5dfbc5e0c232a7185134c79c94
dune-pdelab-howto-1.0.1.tar.xz 30.1 MB f53260e467ad3365fb835920d224c42776c6982e

Git Access

If you want access to the latest and greatest features of PDELab or you are using the master of the Dune core modules, you can directly check out the development version via anonymous Git. Alternatively, you can check out a release branch (or an older snapshot branch) if you need compatibility with a specific Dune release, but still want access to some backported fixes that have not made it into release packages yet.

Please note that you need additional software to build the documentation from an Git checkout, and that the documentation is not built automatically. If you want to build it, try running make doc and install any missing software the build process complains about.

Note: As of version 2.0, PDELab now depends on dune-typetree. Starting with this release, we are also providing source packages of dune-typetree. The versioning scheme of dune-typetree is synchronized with the core modules; the correct release version of the package will also be listed alongside the release packages of PDELab itself. If you are living on the bleeding edge, you will have to download the library from its Git repository with

git clone https://gitlab.dune-project.org/staging/dune-typetree.git

git clone https://gitlab.dune-project.org/pdelab/dune-pdelab.git
PDELab Version  Compatible Dune / TypeTree Release Git branch
master master master
2.0 branch Dune 2.3.1+ releases/2.0
1.1 branch Dune 2.2 releases/1.1
1.0 branch Dune 2.2 releases/1.0
Snapshot Dune 2.1 releases/2.1snapshot
Snapshot Dune 2.0 releases/2.0snapshot
git clone https://gitlab.dune-project.org/pdelab/dune-pdelab-howto.git
PDELab Version  Compatible Dune / TypeTree Release Git branch
master master master
2.0 branch Dune 2.3.1+ releases/2.0
1.1 branch Dune 2.2 releases/1.1
1.0 branch Dune 2.2 releases/1.0
Snapshot Dune 2.1 releases/2.1snapshot
Snapshot Dune 2.0 releases/2.0snapshot

You can also browse the Git repositories of dune-typetree, dune-pdelab and dune-pdelab-tutorials through a more comfortable web frontend.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jun 16, 22:26, 2024)