Dune-MMesh
Dune-MMesh: The Dune Grid Module for Moving Interfaces - Published in JOSS (2022)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
5 of 6 committers (83.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
The Dune Grid Module for Moving Interfaces
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md
The Dune-MMesh Module
In several physical and environmental processes that concern multiphase flows, biological systems, and geophysical phenomena, important physical processes occur along thin physical interfaces. These processes include effects that may alter the interface's position or topology over time, creating a moving interface, which complicates traditional modeling techniques. Moving interface problems thus require advanced numerical tools with specific treatment of the interface and the simultaneous ability to implement complex physical effects.
Dune-MMesh is tailored for numerical applications with moving physical interfaces. It is an implementation of the well-developed Dune grid interface and is well-suited for the numerical discretization of partial differential equations. The package wraps two and three dimensional CGAL triangulations in high-level objects like intersections of grid entities, index and id sets and geometry transformations and exports a predefined set of facets as a separate interface grid. In two dimensions, the arbitrary movement of vertices is enhanced with a re-meshing algorithm that implements non-hierarchical adaptation procedures. Besides the adaptation of the triangulation, Dune-MMesh provides the necessary data structures to adapt discrete functions defined on the bulk grid or the interface. This adaptation approach complements existing grid implementations within the Dune framework that strictly rely on hierarchical adaptation. Various examples in Python have been implemented based on the discretization module dune-fem that demonstrate the versatile applicability of Dune-MMesh. Due to the ability to handle custom PDEs in their weak from written in Unified Form Language (UFL) and the mesh adaptation capabilities, we believe Dune-MMesh provides a useful tool for solving mixed-dimensional PDEs on moving interfaces that arise from various fields of modelling.
You can find the full documentation of Dune-MMesh at dune-mmesh.readthedocs.io.
Installation
Note that Dune-MMesh has a list of dependencies: C++ compiler, CMake, Python3 + pip (+ venv), pkg-config, Boost, OpenMPI, SuiteSparse, Gmsh.
We strongly recommend using a virtual environment:
python3 -m venv dune-env
source dune-env/bin/activate
Install the Dune-MMesh package using pip:
pip install dune-mmesh
This will take some time to compile all dependent Dune modules.
Now, you should be able to execute Dune-MMesh's python code. For instance:
git clone https://github.com/samuelburbulla/dune-mmesh.git
cd dune-mmesh/doc/examples
python coupling.py
For more details on the installation procedure, we refer to Installation.
Docker image
The easiest starting point is to use Docker with a preconfigured setup. Using the pre-built Docker container, you can simply run:
docker run -it ghcr.io/samuelburbulla/dune-mmesh:master
This will open an interactive shell in the Dune-MMesh's examples directory.
Examples
You can find a collection of examples of how to use Dune-MMesh on our Examples page.
Testing
You can test your installation of Dune-MMesh by running the python tests
python -m dune.mmesh test
Further tests of the C++ backend can be performed with a source build executing make build_test and make test in the build directory.
Contribution
Contributions are highly welcome. If you want to contribute, please use GitHub or our GitLab repository to report an issue or open a merge/pull request.
License
Dune-MMesh is licensed under the terms and conditions of the GNU General Public License (GPL) version 3 or - at your option - any later version.
Owner
- Name: Samuel Burbulla
- Login: samuelburbulla
- Kind: user
- Website: gitlab.dune-project.org/samuel.burbulla
- Repositories: 2
- Profile: https://github.com/samuelburbulla
Research Scientist at Institute of Applied Analysis and Numerical Simulation, University of Stuttgart
JOSS Publication
Dune-MMesh: The Dune Grid Module for Moving Interfaces
Authors
University of Warwick, UK
University of Stuttgart, Germany
University of Stuttgart, Germany
Tags
Python Dune partial differential equations mixed-dimensional moving meshGitHub Events
Total
Last Year
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Samuel Burbulla | s****a@m****e | 550 |
| dedner | a****r@w****k | 23 |
| Samuel Burbulla | s****a@i****e | 21 |
| Maximilian Hörl | m****l@m****e | 8 |
| Timo Koch | t****h@i****e | 7 |
| Samuel Burbulla | s****u@p****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 9
- Total pull requests: 23
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 5.0
- Average comments per pull request: 0.13
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- krober10nd (8)
- vijaysm (1)
Pull Request Authors
- samuelburbulla (23)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 24 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 13
- Total maintainers: 1
pypi.org: dune-mmesh
MMesh is a grid implementation based on CGAL triangulations
- Homepage: https://gitlab.dune-project.org/samuel.burbulla/dune-mmesh
- Documentation: https://dune-mmesh.readthedocs.io/
- License: GNU General Public License (GPL)
-
Latest release: 1.3.2
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- breathe *
- cmake *
- dune-common *
- ipython *
- nbsphinx *
- sphinxcontrib-tikz *
- ufl *
- actions/checkout v2 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v2 composite
- docker/build-push-action ad44023a93711e3deb337508980b4b5e9bcdc5dc composite
- docker/login-action f054a8b539a109f9f41c372932f1ae047eff08c9 composite
- docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ubuntu latest build
