Logo
  • Keyword list
  • Most recent changes
  • Overview

    • An Overview of this Document

    Installation

    • From PyPi
      • Additional external packages
      • Testing the installation
      • Hints for Windows
    • From Source
      • Requirements
      • Building the Required Dune Modules
    • Troubleshooting

    Getting Started

    • Introduction
      • A Laplace problem
      • Laplace equation with Dirichlet boundary conditions
      • A non-linear elliptic problem
      • Using Constant parameters and grid functions in PDEs
    • General Concepts (with a time dependent problem)
      • Setting up the Grid
      • Grid Functions
      • Discrete Spaces
      • Discrete Functions
      • Operators and Schemes
      • A Nonlinear Time Dependent Problem
      • Listing Available Dune Components

    Next Steps

    • More General Boundary Conditions
      • Dirichlet boundary conditions
      • Accessing the Dirichlet degrees of freedom
      • Neumann and Robin boundary conditions
      • Using boundary ids (and some more complex examples)
        • Cartesian boundary ids
        • Mixing different types of boundary conditions
    • Tweaking the (non-) linear solvers
      • Python sided Newton solver
      • Handling Dirichlet boundary conditions
      • Other internal solvers (petsc)
      • Other internal solvers (istl)
      • Parameters for fine-tuning the internal solvers
      • Available solvers and parameters
    • Alternative Solvers (Scipy and Petsc)
      • Accessing underlying data structures
      • Defining discrete function with given external dof vector
      • Using Scipy
      • Using PETSc4Py
    • Examples of grid construction
      • Example using the Dune Grid Format (DGF)
      • 3D example (using PyGmsh)
      • Converting gmsh to DGF
        • Attaching boundary ids to a grid constructed with gmsh using DGF
        • Visualizing Boundary Ids
      • Using meshio to read a gmsh file
      • 1D example
    • Parallelization
      • OpenMP
      • MPI
        • Load balancing
    • Backup and restore (pickling)
      • Pickling
      • A Chekpointer class
    • Using the Full Grid Interface
      • Overview
      • Dense Vectors and the Geometry Classes
      • Grid Construction and Basic Interface
        • Structured grids
        • Unstructured grids
        • Local grid adaptivity
          • Basic information and iterators
      • Using grid functions
      • Importing user defined C++ code
      • Attaching Data to the Grid
      • Output of Grid and Visualization of Data
        • Matplotlib
        • Paraview (vtu/vtk files)
        • Mayavi
        • Low level output

    Further Examples

    • Discontinuous Galerkin Methods
      • Advection-Diffusion: Discontinuous Galerkin Method with Upwinding
      • A linear transport problem
    • Linear Elasticity: a deformed beam
    • Time Dependent Reaction Diffuison: spiral wave
    • Wave Equation: double slit domain (using mass lumping)
    • Saddle point solver for the stationary Stokes problem
      • Monolithic solver (Lagrange and DG formulation)
        • Taylor-Hood formulation
          • Bercovier-Engelmann Testcase
        • DG formulation
          • Bercovier-Engelmann Testcase
        • Convergence rate check
      • Stokes problem with fieldsplit preconditioner (PETSc)
      • (Quasi) Stokes equations (Scipy based Uzawa scheme)
    • Mixed method for the Poisson equation
    • Eigenvalue problems
      • Eigenvalues of the Neumann Laplacian
      • Dirichlet Eigenvalue problem
    • Biharmonic problem
      • Implementation
      • Simply supported boundary conditions
    • Adaptive phase field: crystal growth model
    • Moving surface grid: flow under mean curvature
    • Dual Weighted Reisdual Estimate

    Further Topics

    • Adaptivity and Moving Domains: extended grid views
      • Overview and some basic grid views (level and filtered)
        • LevelGridView examples
        • FilteredGridView examples
      • Dynamic Local Grid Refinement and Coarsening
        • Re-entrant Corner Problem
        • Adaptive phase field: crystal growth model
      • Evolving Domains
        • Moving surface grid: flow under mean curvature
    • Using C++ Code Snippets
      • C++ Based Grid Functions
      • Sampling the Solution over a Line
      • Mean Curvature Flow (revisited)
      • Dual Weighted Reisdual Estimate (revisited)
    • API for schemes and operators
      • Abstract concepts
      • Operator without DBC:
      • Operator with DBC:
      • Scheme without DBC:
      • Scheme with DBC:
      • Additional
      • Unclear

    Extension Modules

    • Discontinuous Galerkin Methods: the DUNE-FEM-DG Module
      • Euler System of Gas Dynamics
      • An Advection-Diffusion-Reaction System: Chemical Reaction Problem
    • Virtual Element Methods: the DUNE-VEM module
      • Elliptic Problems
      • Nonlinear Elliptic Problem
      • Linear Elasticity
      • Fourth order problem
      • Cahn-Hilliard

    User Projects

    • HP adaptive DG scheme for twophase flow problem
      • Problem Description
      • Defining the model
      • Time discretization
      • Stabilization (Limiter)
      • Iterative schemes (iterative or impes-iterative)
      • HP Adpativity
      • Marker for grid adaptivity (h)
      • Marker for space adaptivity (p)
      • Main program
    • Mixed-dimensional PDEs: the Dune-MMesh module
      • Dune-MMesh: Solving a Mixed-dimensional PDE

    Information and Resources

    • Citing this project
    • Information for C++ Developers
      • Remove and rebuild existing modules
      • Using a debugger
      • List of build specific environment variables
    • Contributing to this tutorial
    • How to showcase your own work
    • Notebooks and Scripts
    • Additional Scripts
    • Mesh Files used in the Examples
    • Changelog
      • Since 2.9 release
        • General changes
          • Updating to newer version of UFL
          • New clone method on spaces
          • Dirichlet BCs for operators with different range/domain space
          • Changes to solver parameter keys
          • Added a solve method to the linearization of schemes
          • Updated dune.fem.scheme.linearized
          • Add operator __len__ to spaces.
          • Add DirichletIndices method to operators and schemes
          • Extension of the jacobian method on schemes and operators
          • Set non default quadratures in quadrature rules
          • Assembly function
          • Improved Pickling support
          • Paraview Reader
          • Sampler along Boundary
          • Point sampler returning (entity,local coordinate) for given global coordinate
          • Improved Boundary Indexing in UFL Forms (for boundary integrals and Dirichlet conditions)
          • Eisenstatwalker in Newton method
          • Storage setup in scheme
          • Methods on space to return local mapper and for evaluating basis functions
          • Logging of parameter values
          • Deprecation of the rhs argument for scheme.solve
          • Deprecation of dune.fem.function.integrate
          • Deprecation of dune.fem.function.uflFunction and dune.fem.function.cppFunction
          • Deprecation of dune.ufl.expression2GF
          • Deprecation of dune.fem.operator.linear
          • Deprecation of dune.fem.space.combinedSpace
        • DUNE-VEM
          • Dirichlet constraints for conforming $C^1$ space
          • Intersection integrals now use the edge projections
      • Since 2.10 release
        • Breaking changes
        • General changes
        • Bugfixes
          • Pickling of discrete functions
    • Keyword index

    Additional pages

    • Converting gmsh to DGF
    • Slurm batch script
    • API for schemes and operators
      • Abstract concepts
      • Operator without DBC:
      • Operator with DBC:
      • Scheme without DBC:
      • Scheme with DBC:
      • Additional
      • Unclear
    • List of things that need doing…
    DUNE-FEM Tutorial
    • Information and resources
    Previous Next

    • Citing this project
    • Information for C++ Developers
    • Contributing to this tutorial
    • How to showcase your own work
    • Notebooks and Scripts
    • Additional Scripts
    • Mesh Files used in the Examples
    • Changelog

    Keyword index

    • Index

    https://zenodo.org/badge/DOI/10.5281/zenodo.3706994.svg
    Previous Next

    © Copyright 2018-2025, Andreas Dedner and Robert Klöfkorn. Last updated on May 22, 2025.

    Built with Sphinx using a theme provided by Read the Docs.