Abstract

We present version 3 of the open-source simulator for flow and transport processes in porous media DuMux. DuMux is based on the modular C++ framework Dune (Distributed and Unified Numerics Environment) and is developed as a research code with a focus on modularity and reusability. We describe recent efforts in improving the transparency and efficiency of the development process and community-building, as well as efforts towards quality assurance and reproducible research. In addition to a major redesign of many simulation components in order to facilitate setting up complex simulations in DuMux, version 3 introduces a more consistent abstraction of finite volume schemes. Finally, the new framework for multi-domain simulations is described, and three numerical examples demonstrate its flexibility.

Highlights

  • DuMux, Distributed Unified Numerics Environment (Dune) for multi-{phase, component, scale, physics, domain . . . } flow and transport in porous media, is a free and open-source simulator for flow and Preprint transport processes in porous media [1]

  • DuMux is based on the Distributed Unified Numerics Environment (Dune) [18, 19, 20], an open-source scientific numerical software framework for solving partial differential equations, and is part of a larger community that goes beyond the simulation of fluid-mechanical processes in porous media

  • In the remainder of this introductory section, we provide a brief chronology of the development of DuMux and some information on activities and measures that go beyond the development of the mainline code base

Read more

Summary

Introduction

DuMux, Dune for multi-{phase, component, scale, physics, domain . . . } flow and transport in porous media, is a free and open-source simulator for flow and. Since selecting a subset of a private code base for public release proved to be rather impractical, the repository was split into a stable part dumux and a development part dumux-devel that was dependent on the stable part. During the 2.X release series, several new features were added to the code base Many of these additions fell in line with the main intention of DuMux to be a framework for the implementation of porous-media model concepts and constitutive relations by providing such implementations. Some more central additions had to be rather forced into the code base and proved to be inefficient, inconsistent with the original design ideas or increasingly difficult to maintain This lead to a new major release cycle that was initiated by branching off the main development line in November 2016. Starting with the release of DuMux 3.1 scheduled for October 2019, the aforementioned semiannual release cycle is resumed

DuMux as a framework
Structure and design principles
Abstractions and concepts for general finite volume schemes
Finite volume discretization
Element-wise assembly
Representation in the software implementation
Multi-domain simulations
New features in DuMux 3
Numerical examples
Current limitations and perspectives
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call