Skip to main content

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

Project description

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:

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xfem-2.1.2606.dev1.tar.gz (2.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xfem-2.1.2606.dev1-cp313-cp313-win_amd64.whl (947.3 kB view details)

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2606.dev1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

xfem-2.1.2606.dev1-cp313-cp313-macosx_10_9_universal2.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 10.9+ universal2 (ARM64, x86-64)

xfem-2.1.2606.dev1-cp312-cp312-win_amd64.whl (947.3 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2606.dev1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

xfem-2.1.2606.dev1-cp312-cp312-macosx_10_9_universal2.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

xfem-2.1.2606.dev1-cp311-cp311-win_amd64.whl (947.9 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2606.dev1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

xfem-2.1.2606.dev1-cp311-cp311-macosx_10_9_universal2.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

xfem-2.1.2606.dev1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

xfem-2.1.2606.dev1-cp310-cp310-macosx_10_9_universal2.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file xfem-2.1.2606.dev1.tar.gz.

File metadata

  • Download URL: xfem-2.1.2606.dev1.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2606.dev1.tar.gz
Algorithm Hash digest
SHA256 52104272509292ac817050aa5d4be8a5049886724dc42e686e41984153dc5175
MD5 4c125ba1da2762d68e1587159df66663
BLAKE2b-256 2359ae1162708dcc7632dee8e5826a9bbee858a37219e05238d22e54c527a1d4

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 94a00c143184ac53fde09013fbe86f6cf7727ad465e04913e015a0ef8ecf080f
MD5 c4fc5bc274b8a2994fbc0d3b6b9b6012
BLAKE2b-256 f76972e2516fffef90b6e7c0146a79e6b81e8bd1a652d12c67cb85874e58e710

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bf47134443e86a098cc66bff05f2a64321c9a61980855c3d057d74b2254b67e
MD5 3c701137f9ecb92c90fb304a5790b55c
BLAKE2b-256 6ec68c82e014068995bd367e4c453c00b7c595d300d897e1f49aeb2629a53d54

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 313b0d2377ae30297fe4756fe1e248c866ace1d2d1d1a1748aeb40d6b1497e1c
MD5 93afbd05403630680adf6770cdf77493
BLAKE2b-256 fac54593d715ba5feb122516b0790dfc21d08b4b492d7b19374905afeaf06834

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 acb1982f5498325fe68a8bd0e7b1637ca54d067da5d776115800cb5d1775df10
MD5 6ec9c98ee4ca6ae51afdf562a4478d00
BLAKE2b-256 fcf42d3de6d7c475c7bfb399e7fafba7670dd0e0f3df6fa2384169ffe409cf2a

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78427d83f5d9e92614d29be042c5f11ebcdc94d883f9e68a43493ba9a0e23988
MD5 19ef9f33f3e17e588117620cd4383764
BLAKE2b-256 406c0e884b848c1511ed8c33a768b058d30c191009f80411bf89f56b30d783df

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0d3a489889232d1614eec99338813242a3512ef8c2be87d9d78390cc9fe142d8
MD5 6ae7ffc2902e6a8d1971185dbc655d17
BLAKE2b-256 a2feaa928c3e9f7e3511c129f4416fb36234bbd214a730cc84596669dc04f3a6

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ce976fd89343f31c7e852b1ed244073aa722ce18865b95551419285a289bfb62
MD5 20d0d050078cc1b979d5b70a84d97874
BLAKE2b-256 4b1322d29997570b0fcd885baf85a21481cfe984e83fe15aac6bf71313d9072a

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e722d09db738ef4c316a5aeb6d62210d4ea6f2d4281b45eafadc7aca5d468aa
MD5 bb8f4d8265ca2877fd1679f4af487d67
BLAKE2b-256 89cbc5fd35a371f0cbaf25e456023007a7a0d23f684946a8070aac257cde0c70

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 22a87980906caed70658855e5dfd5f88f1cbc8234942dd5f57ca79b5fb0367d7
MD5 7d70af210a632398615cf69eebaba209
BLAKE2b-256 063841a0740c8a97344d088105c61eb644d1b245e557a21bfbe3e8438d2adeb2

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 240cc483c79a8eca3c3cf14405ab06af2bcb731a9821f56de83c326caace8d6b
MD5 6d6a923a127bc25c87eef73ca0e14d18
BLAKE2b-256 025b81454d203a65c7f38b9b0f2bfac5f15b9cbdfb3226af3427528b61337ead

See more details on using hashes here.

File details

Details for the file xfem-2.1.2606.dev1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2606.dev1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 abe1fa87bdeed71955072f7fd7c7789eb0be10acc97f167a21359e5969f29cd3
MD5 aae3064931c3f3c7487d27886730e2cf
BLAKE2b-256 0641427bf80cd69c867f4f7adfc13c5a8d937965748cc6a2f7c1dbe027419150

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page