ngsxfem

ngsxfem: Add-on to NGSolve for geometrically unfitted finite element discretizations - Published in JOSS (2021)

https://github.com/ngsxfem/ngsxfem

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 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    21 of 33 committers (63.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 4 months ago · JSON representation

Repository

Add-On to NGSolve for unfitted finite element discretizations (XFEM, CutFEM, TraceFEM, etc...)

Basic Info
  • Host: GitHub
  • Owner: ngsxfem
  • License: lgpl-3.0
  • Language: C++
  • Default Branch: master
  • Size: 12.2 MB
Statistics
  • Stars: 92
  • Watchers: 15
  • Forks: 24
  • Open Issues: 3
  • Releases: 13
Created over 8 years ago · Last pushed 5 months ago
Metadata Files
Readme License

README.md

GitHub Workflow Status GitHub release (latest by date) jossstatus

PyPI PyPI - Implementation PyPI - Downloads

Docker Pulls badge

lite-badge

Documentation

A preliminary collection of documentation (demos, tutorials, mini API) can be found here and is also part of the i-tutorials of NGSolve, see here. A simple doxygen collection of NGSolve, ngsxfem and ngstrefftz C++ API can be found here.

About ngsxfem

ngsxfem is an add-on library to the finite element package Netgen/NGSolve which enables the use of unfitted finite element technologies known as XFEM, CutFEM, TraceFEM, Finite Cell, ... . ngsxfem is an academic software. Its primary intention is to facilitate the development and validation of new numerical methods for partial differential equations.

The features of ngsxfem

The main features of ngsxfem are:

  • Tools to work on a subset of the triangulation, the \"active mesh\" only
  • Numerical integration on geometries that are (implicitly) described through level set functions.
  • Higher order representation of level set geometries
  • Space-Time Finite Elements for the treatment of moving domain problems
  • All these features combined with the usual flexibility and power of NGSolve.

ngsxfem has been used in a variety of applications. In the document doc/feature-details.md (see also compiled pdf ) more details on the features is given and in doc/literature.md (see also literature ) an overview of the scientific literature where ngsxfem is used is provided.

Not all features of ngsxfem and NGSolve can directly be combined. Here is an overview of ngsxfem and NGSolve features and if they can directly be combined:

| Features ⇲| CFE | XFE | DG | Iso | MLS | ST | Gh | Ag | Hex | Tet | MPI | |-|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | CFE: CutFEM form. | / | / | y | y | y | y | y | y | y | y | y | | XFE: XFEM formulation | / | / | y | y | n | n | y | n | y | y | y | | DG: Discont. Galerkin | y | y | / | y | n | y| y | y| y| y | n | | Iso: isoparametric map | y | y | y | / | n | y | y | y| y | y | y | | MLS: multiple level set | y | n | n | n | / | n | y | y| n | y | y | | ST: space-time FEM | y | n | y | y | n | / | y | n | y | y | y | | Gh: Ghost penalty | y | y | y | y | y | y | / | / | y | y | n | | Ag: Agg. FEM | y | n | y | y | y | n | / | / | y | y | n | | Hex: quads / hexes | y | y | y | y | n | y | y | y | / | / | y | | Tet: trigs./tets | y | y | y | y | y | y | y | y | / | / | y | | MPI: MPI | y | y | n | y | y | y | n | n | y | y | / |

Some of the nos are work in progress and some have not been considered so far. If you need a certain combination to work, please contact us and we will see what we can do (MPI for Gh is planned for the not so far future).

Examples and Documentation

We provide two main sources with which to learn how to use ngsxfem: * At https://github.com/ngsxfem/ngsxfem-jupyter you can find tutorial-style jupyter notebooks for ngsxfem. These explain the core functionalities and usage of the tools provided by ngsxfem. You can run those tutorials interactively (without the need of a local installation) through binder. * In the demos-directory we provide several examples that demonstrate the usage of ngsxfem features. See demos/README.md for details.

Installation

We provide installation instructions for building/installing through pip and building/installing from sources in INSTALLATION.md. Further, a docker image is available which can be used to run ngsxfem through docker.

List of contributing authors

Major contributions:

  • Christoph Lehrenfeld (main author)
  • Fabian Heimann (cut integration, space-time, AggFEM)
  • Henry von Wahl (multiple levelsets, mac support, AggFEM)
  • Janosch Preuss (space-time)
  • Thomas Ludescher (multigrid)
  • Paul Stocker (CI, docu, builds, AggFEM)

Additional contributions:

  • Pedro Costa Klein (CI, docu)
  • Maximilian Zienecker (SIMD, CI)

Community guidelines

If you observe any problems with the software / examples / documentation / installation or want to contribute, you can get in touch with us through either: * the github issue tracker * the NGSolve user forum.

Citing

If you use ngsxfem for academic work, please consider citing our publication:

C. Lehrenfeld, F. Heimann, J. Preuß and H. von Wahl ngsxfem: Add-on to NGSolve for geometrically unfitted finite element discretizations Journal of Open Source Software, 6(64), 3237, https://doi.org/10.21105/joss.03237

Owner

  • Login: ngsxfem
  • Kind: user

JOSS Publication

ngsxfem: Add-on to NGSolve for geometrically unfitted finite element discretizations
Published
August 10, 2021
Volume 6, Issue 64, Page 3237
Authors
Christoph Lehrenfeld ORCID
Institute of Numerical and Applied Mathematics, Georg-August Universität Göttingen
Fabian Heimann ORCID
Institute of Numerical and Applied Mathematics, Georg-August Universität Göttingen
Janosch Preuß ORCID
Institute of Numerical and Applied Mathematics, Georg-August Universität Göttingen
Henry von Wahl ORCID
Institute for Analysis and Numerics, Otto-von-Guericke Universität, Magdeburg
Editor
Marie E. Rognes ORCID
Tags
finite elements unfitted finite elements level set geometry Cut FEM eXtended FEM Cut-Cell methods

GitHub Events

Total
  • Create event: 6
  • Issues event: 8
  • Release event: 2
  • Watch event: 19
  • Delete event: 2
  • Issue comment event: 23
  • Push event: 30
  • Pull request event: 5
  • Fork event: 4
Last Year
  • Create event: 6
  • Issues event: 8
  • Release event: 2
  • Watch event: 19
  • Delete event: 2
  • Issue comment event: 23
  • Push event: 30
  • Pull request event: 5
  • Fork event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 3,432
  • Total Committers: 33
  • Avg Commits per committer: 104.0
  • Development Distribution Score (DDS): 0.692
Past Year
  • Commits: 50
  • Committers: 5
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
Christoph Lehrenfeld c****d@g****m 1,058
Christoph Lehrenfeld c****d@r****e 917
Fabian Heimann F****n@s****e 704
Henry Maximilian von Wahl h****l@m****e 323
Janosch Preuß j****s@s****e 92
Maximilian Zienecker m****r@s****e 70
Christoph Lehrenfeld l****d@i****e 65
Christoph Lehrenfeld c****d@u****e 47
Matthias Hochsteger m****r@c****m 31
Thomas Ludescher l****r@i****e 16
Jochen Schulz s****z@m****e 15
tobias e****8@s****t 14
tilman t****n@s****e 12
mw m****s@t****t 10
Tilman Aleman a****n@i****e 8
Philip Lederer p****p@u****t 7
Christoph Wintersteiger c****r@g****t 6
Yimin Lou y****u@g****m 6
Joachim Schoeberl j****l@t****t 3
Henry von Wahl f****2 3
Henry von Wahl h****l@o****e 3
henryvonwahl h****w@m****p 3
tim.vanbeeck t****k@s****e 3
Christopher Lackner c****r@t****t 3
Christoph Lehrenfeld l****e@J****e 2
Thomas Ludescher t****r@r****e 2
Christoph Ruegge c****e@m****e 2
Tilman Alemán a****n@i****e 2
root r****t@s****n 1
Yimin Lou y****u@m****e 1
and 3 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 23
  • Total pull requests: 14
  • Average time to close issues: 28 days
  • Average time to close pull requests: 2 months
  • Total issue authors: 14
  • Total pull request authors: 4
  • Average comments per issue: 4.35
  • Average comments per pull request: 0.29
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 4
  • Average time to close issues: 3 days
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 5.4
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • francesco-ballarin (4)
  • 3406212002 (4)
  • Shaoqigit (3)
  • LavrovaO (2)
  • JeremyShahan (1)
  • Alex-Vasile (1)
  • Blutwurst13 (1)
  • chromomons (1)
  • gsosajones (1)
  • meiyue1989 (1)
  • walkersw (1)
  • Poker-Pan (1)
  • skbizport (1)
Pull Request Authors
  • mhochsteger (12)
  • ChrLackner (3)
  • hvonwah (1)
  • ymlou (1)
Top Labels
Issue Labels
bug (1) enhancement (1) windows (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,753 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 111
  • Total maintainers: 4
pypi.org: xfem

(ngs)xfem is an Add-on library to Netgen/NGSolve for unfitted/cut FEM.

  • Documentation: https://xfem.readthedocs.io/
  • License: GNU Lesser General Public License v3 (LGPLv3)
  • Latest release: 2.1.2505
    published 5 months ago
  • Versions: 101
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1,611 Last month
Rankings
Stargazers count: 8.5%
Forks count: 8.5%
Downloads: 9.2%
Dependent packages count: 10.1%
Average: 11.6%
Dependent repos count: 21.5%
Last synced: 4 months ago
pypi.org: xfem-avx2

(ngs)xfem is an Add-on library to Netgen/NGSolve for unfitted/cut FEM.

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 142 Last month
Rankings
Dependent packages count: 6.6%
Forks count: 9.1%
Stargazers count: 9.1%
Average: 14.1%
Downloads: 15.1%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

.github/workflows/build-and-test-ngsxfem.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • pypa/gh-action-pypi-publish master composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/extras-workflow.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
.github/workflows/paper-workflow.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/wheel_linux.yml actions
  • actions/checkout v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/wheel_mac.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
Dockerfile docker
  • ngsxfem/ngsolve latest build
doc/sphinx/requirements.txt pypi
  • jupyter_sphinx *
  • m2r2 *
  • mistune ==0.8.4
  • nbsphinx *
  • notebook *
  • numpy *
  • pandocfilters *
  • sphinx *
  • sphinx_mdinclude *
  • sphinx_rtd_theme *
  • sphinxemoji *
setup.py pypi
  • ngsolve_name *