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.
Requires: |
dune-common
dune-istl
dune-localfunctions
dune-geometry
dune-grid
dune-typetree
dune-functions
|
Suggests: |
dune-alugrid
dune-multidomaingrid
|
Git repository: |
https://gitlab.dune-project.org/pdelab/dune-pdelab |
Tutorials: |
PDELab beginners guide, PDELab Tutorial |
Beginners Resources
Go here for installation instructions for beginners.
Go here for the PDELab Tutorial.
General
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
- 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.
Tutorials
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.
Multiphysics
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.
Documentation
- 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.
Download
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
- dune-pdelab
- 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 - dune-pdelab-howto
- 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.