DuMux

DuMux - DUNE for Multi-{Phase, Component, Scale, Physics, …} flow and transport in porous media and more. The swiss army knife of porous media research. Open-source simulator in modern C++.

413
mentions
21
contributors
Get started
17344 commitsLast commit ≈ 1 week ago35 stars14 forks

Description

What is DuMux?

DuMux is a simulation framework with a focus on
finite volume discretization methods, model coupling for multi-physics applications,
and flow and transport applications in porous media.

DuMux is based on the DUNE framework from which it uses
the versatile grid interface, vector and matrix types, geometry and local basis functions, and linear solvers.
DuMux then provides

  • Finite volume discretizations (Tpfa, Mpfa, Staggered) and control-volume finite element discretization schemes
  • A flexible system matrix assembler and approximation of the Jacobian matrix by numeric differentation
  • A customizable Newton method implementation including line search and various stopping criteria
  • Many pre-implemented models (Darcy-scale porous media flow, Navier-Stokes, Geomechanics, Pore network models, Shallow water equations) and constitutive models
  • A multi-domain framework for model coupling suited to couple subproblems with different discretizations/domains/physics/dimensions/... and create monolithic solvers

DuMux has been applied to model complex and non-linear phenomena,
such as CO2 sequestration, soil remediation, reactive transport and precipitation phenomena,
drug delivery in cancer therapy, flow in micro-fluidics, root-soil interaction,
flow in fractured porous media, atmosphere-soil flow interaction, evaporation, and more.
Please have a look at our journal publications
(see below: How to cite)
for a more detailed description of the goals the development history
and motivations behind DuMux.

Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitLab Last Commit GitLab Release

Overview

The following resources are useful to get started with DuMux:

Some helpful code snippets are available in the Wiki.

Automated testing of installation: installation testing pipeline

License

REUSE status

DuMux is licensed under the terms and conditions of the GNU General
Public License (GPL) version 3 or - at your option - any later
version. The GPL can be read online or in the LICENSE.md file
provided in the topmost directory of the DuMux source code tree.

Please note that DuMux' license, unlike DUNE's, does not feature a
template exception to the GNU General Public License. This means that
you must publish any source code that uses any of the DuMux header
files if you want to redistribute your program to third parties. If
this is unacceptable, please contact us for a commercial
license.

See the file LICENSE.md for copying permissions.
For a curated list of contributors, see AUTHORS.md.
If you notice that a contributor is missing on the list,
please contact us or open a merge request adding the name.

How to cite

DuMux is research software and developed at research institutions.
You can cite specific releases via DaRUS (from 3.6) or Zenodo:
zenodo badge. You can also cite individual code files or even lines via Software Heritage: sw

If you are using DuMux in scientific publications and in the academic context, please cite (at least one of)
our publications:

DuMux 3 – an open-source simulator for solving flow and transport problems in porous media with a focus on model coupling.
Computers & Mathematics with Applications, 81, 423-443, (2021).
dumuxCAMWAbadge PDF

@article{Koch2021,
    doi = {10.1016/j.camwa.2020.02.012},
    year = {2021}, volume = {81}, pages = {423--443},
    publisher = {Elsevier {BV}},
    author = {Timo Koch and Dennis Gläser and Kilian Weishaupt and others},
    title = {{DuMux} 3 {\textendash} an open-source simulator for solving flow and transport problems in porous media with a focus on model coupling},
    journal = {Computers \& Mathematics with Applications}}

DuMux: DUNE for multi-{phase,component,scale,physics,…} flow and transport in porous media.
Advances in Water Resources, 34(9), 1102–1112, (2011)
dumuxAWRbadge PDF

@article{Flemisch2011,
    doi = {10.1016/j.advwatres.2011.03.007},
    year = {2011}, volume = {34}, number = {9}, pages = {1102--1112},
    publisher = {Elsevier {BV}},
    author = {B. Flemisch and others},
    title = {{DuMux}: {DUNE} for multi-$\lbrace$phase, component, scale, physics, {\ldots}$\rbrace$ flow and transport in porous media},
    journal = {Advances in Water Resources}}

Contributing

Contributions are highly welcome. Please ask questions over the mailing list.
Please review the contribution guidelines
before opening issues and merge requests.

Participating organisations

University of Stuttgart

Reference papers

Mentions

Contributors

BF
Bernd Flemisch
Timo Koch
Lead Developer
Simula Research Laboratory
LK
IB
Ivan Buntic
EC
Edward Coltman
TG
Tufan Ghosh
MG
Mona Giraud
DG
Dennis Gläser
CG
Christoph Grüninger
JH
Johannes Hommel
MK
Mathis Kelm
AK
Anna Mareike Kostelecky

Related software

DUNE (Distributed and Unified Numerics Environment)

DU

DUNE, the Distributed and Unified Numerics Environment, is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy, flexible, and efficient implementation of finite element and volume methods. DUNE is C++ code and also has a Python interface.

Updated 3 weeks ago
547 13