Dumux
DuMux: an open-source simulator for flow and transport processes in porous media (repository mirrored from https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git)
Install / Use
/learn @dumux/DumuxREADME
What is DuMux?
[DuMu<sup>x</sup>][a] 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.
DuMu<sup>x</sup> is based on the [DUNE][b] framework from which it uses the versatile grid interface [[2][], [3][]], vector and matrix types, geometry and local basis functions, and linear solvers. DuMu<sup>x</sup> then provides
- Finite volume discretizations (Tpfa, Mpfa, Staggered) and control-volume finite element (CVFE) discretization schemes
- A flexible system matrix assembler and approximation of the Jacobian matrix by numeric differentiation
- A customizable implementation of Newton's method, including line search and various stopping criteria
- Many pre-implemented models (Darcy-scale porous media flow, Navier-Stokes, Solid mechanics and Poro-mechanics, 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
DuMu<sup>x</sup> has been applied to model complex and non-linear phenomena, such as $\mathrm{CO}_2$ 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 DuMu<sup>x</sup>.
[TOC]
Overview
The following resources are useful to get started with DuMu<sup>x</sup>:
- [Installation guide][d]
- Getting started guide
- Documentation,
- DuMu<sup>x</sup> course materials,
- Examples, with detailed descriptions of code and results,
- Mailing list,
- Changelog, where all changes between different release versions are listed and explained.
Some helpful code snippets are available in the Wiki.
Automated testing of installation:
License
DuMu<sup>x</sup> 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][e] or in the LICENSE.md file provided in the topmost directory of the DuMu<sup>x</sup> source code tree.
Please note that DuMu<sup>x</sup>' 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 DuMu<sup>x</sup> header files if you want to redistribute your program to third parties. If this is unacceptable, please [contact us][f] 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][f] or open a merge request adding the name.
How to cite
DuMu<sup>x</sup> is research software developed at research institutions.
You can cite specific releases via DaRUS (from 3.6) or Zenodo:
. You can also cite individual code files or even lines via SoftwareHeritage.
If you are using DuMu<sup>x</sup> 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).
[PDF][1]
@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)
[PDF][c]
@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}}
Automated Testing / Test suite
DuMu<sup>x</sup> features many tests (some unit tests and test problems) that are continuously and automatically tested in the GitLab-CI framework (see badges).
Most tests are regression tests that rely on the fieldcompare Python library.
Before you run tests, we therefore recommend setting up a Python virtual environment with the fieldcompare package installed.
In the dumux source directory run
python -m venv venv
source venv/bin/activate
pip install -r
Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
