ngsxfem
ngsxfem: Add-on to NGSolve for geometrically unfitted finite element discretizations - Published in JOSS (2021)
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
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
Metadata Files
README.md
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
- Repositories: 3
- Profile: https://github.com/ngsxfem
JOSS Publication
ngsxfem: Add-on to NGSolve for geometrically unfitted finite element discretizations
Authors
Tags
finite elements unfitted finite elements level set geometry Cut FEM eXtended FEM Cut-Cell methodsGitHub 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
Top Committers
| Name | 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... | ||
Committer Domains (Top 20 + Academic)
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
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
Rankings
Maintainers (4)
pypi.org: xfem-avx2
(ngs)xfem is an Add-on library to Netgen/NGSolve for unfitted/cut FEM.
- Homepage: https://github.com/ngsxfem/ngsxfem
- Documentation: https://xfem-avx2.readthedocs.io/
- License: lgpl-3.0
-
Latest release: 2.0.2204.post27.dev0
published about 3 years ago
Rankings
Maintainers (1)
Dependencies
- 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
- actions/checkout v2 composite
- actions/upload-artifact v1 composite
- actions/checkout v2 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- actions/checkout v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- 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
- ngsxfem/ngsolve latest build
- jupyter_sphinx *
- m2r2 *
- mistune ==0.8.4
- nbsphinx *
- notebook *
- numpy *
- pandocfilters *
- sphinx *
- sphinx_mdinclude *
- sphinx_rtd_theme *
- sphinxemoji *
- ngsolve_name *
