Dune-MMesh

Dune-MMesh: The Dune Grid Module for Moving Interfaces - Published in JOSS (2022)

https://github.com/samuelburbulla/dune-mmesh

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

dune fem grid

Scientific Fields

Materials Science Physical Sciences - 40% confidence
Engineering Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

The Dune Grid Module for Moving Interfaces

Basic Info
  • Host: GitHub
  • Owner: samuelburbulla
  • License: other
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 9.7 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
dune fem grid
Created almost 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License

README.md

Release Test DOI License: GPL v3

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

Research Scientist at Institute of Applied Analysis and Numerical Simulation, University of Stuttgart

JOSS Publication

Dune-MMesh: The Dune Grid Module for Moving Interfaces
Published
June 27, 2022
Volume 7, Issue 74, Page 3959
Authors
Samuel Burbulla ORCID
University of Stuttgart, Germany
Andreas Dedner
University of Warwick, UK
Maximilian Hörl
University of Stuttgart, Germany
Christian Rohde
University of Stuttgart, Germany
Editor
Patrick Diehl ORCID
Tags
Python Dune partial differential equations mixed-dimensional moving mesh

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 610
  • Total Committers: 6
  • Avg Commits per committer: 101.667
  • Development Distribution Score (DDS): 0.098
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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

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

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 24 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Average: 24.7%
Downloads: 42.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

doc/requirements.txt pypi
  • breathe *
  • cmake *
  • dune-common *
  • ipython *
  • nbsphinx *
  • sphinxcontrib-tikz *
  • ufl *
.github/workflows/codingstyle.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
.github/workflows/dockerimage.yml actions
  • 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
.github/workflows/test.yml actions
  • actions/checkout v2 composite
.github/workflows/testMinimal.yml actions
  • actions/checkout v2 composite
.github/workflows/testpypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
scripts/Dockerfile docker
  • ubuntu latest build
pyproject.toml pypi
setup.py pypi