Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Release files for xfem 2.1.2607.dev3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xfem 2.1.2607.dev3
File Size Uploaded
xfem-2.1.2607.dev3.tar.gz 2.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for xfem 2.1.2607.dev3
File
xfem-2.1.2607.dev3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
xfem-2.1.2607.dev3-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
xfem-2.1.2607.dev3-cp313-cp313-macosx_10_9_universal2.whl CPython 3.13 CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64) Details
xfem-2.1.2607.dev3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
xfem-2.1.2607.dev3-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
xfem-2.1.2607.dev3-cp312-cp312-macosx_10_9_universal2.whl CPython 3.12 CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64) Details
xfem-2.1.2607.dev3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
xfem-2.1.2607.dev3-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
xfem-2.1.2607.dev3-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
xfem-2.1.2607.dev3-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
xfem-2.1.2607.dev3-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size:24.7 MB

Release files / xfem-2.1.2607.dev3.tar.gz

Download URL xfem-2.1.2607.dev3.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
7d5777c06af3fb37f2fc8e062de3d436f75c4a772731ccc35120c9e45d27ab6f
BLAKE2b-256 checksum
How to use checksums
a9c1eda10276e9333dc923b193d75418c0f4982722f6c159c430161d7b528c4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp313-cp313-win_amd64.whl

Download URL xfem-2.1.2607.dev3-cp313-cp313-win_amd64.whl
Size 947.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
addcea6ad7e709e252f27c62e318f5fcb16edff0d68e0551649895b899a2f68a
BLAKE2b-256 checksum
How to use checksums
5e03ebce851117edbeab7fabf8b57b25a942a90f98348a09a49bbd3093411547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev3-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cdbf5d61dad169116c5f8af5542ed22dd3dd7601771379a7e22e28b73b59aeaa
BLAKE2b-256 checksum
How to use checksums
ba0c5e3592e921c80de0a13c95927a123c9e1d4b91711d81a43f4bae82f9cf14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp313-cp313-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev3-cp313-cp313-macosx_10_9_universal2.whl
Size 3.0 MB
Tags CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d2a5fbb8a9cef584256bb74c3c3b9e62ffe54f6a6fe8597de332f2d96ed6f408
BLAKE2b-256 checksum
How to use checksums
216c95cf696507f649f5055b172a67ce552862a0013b37caa4b46d7bb56c1926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp312-cp312-win_amd64.whl

Download URL xfem-2.1.2607.dev3-cp312-cp312-win_amd64.whl
Size 947.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
7898b7ffeb662461ba31cea5e852bc8da964b6b04e367a9ee70dbd050cde7f94
BLAKE2b-256 checksum
How to use checksums
cde32b6bd0b87f627ea7adb6afcdfeb2b03389624b9f7635675be6cf99f4f59d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev3-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
569aea1a7aa6e46ad2949619dc5edfd0b2449a8fc0ce55bb2995520c81d99bf2
BLAKE2b-256 checksum
How to use checksums
b6050d44ce0c670f17a1ca7491fc680b04b1c2a01df0a474dc94da3e1c99c9da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp312-cp312-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev3-cp312-cp312-macosx_10_9_universal2.whl
Size 3.0 MB
Tags CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5b5d8725f3d5546a7f0a77324601c7e78aa5fce42142a50e4353deb058be27e0
BLAKE2b-256 checksum
How to use checksums
08d1c8aec7eebb1b5ccc63aab972819434f1e6b1e38c1bfbed605fcd80bd43f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp311-cp311-win_amd64.whl

Download URL xfem-2.1.2607.dev3-cp311-cp311-win_amd64.whl
Size 948.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
fe717ade040695692e76a043862ed9eef93e7b678aebcb5fee1d5d8b80fb1f15
BLAKE2b-256 checksum
How to use checksums
9480dd061480766e7bfee18286d356aef0050be75d0ad6d84252cbffe90c8063
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev3-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c7af069fd6644dc9fb9f141f17ef3c02201aad92d7bb9718f237751c22b17454
BLAKE2b-256 checksum
How to use checksums
130ed571814dca6980b1a0d8bf6ace3644c0bd77ef6c2f17837c829042792487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp311-cp311-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev3-cp311-cp311-macosx_10_9_universal2.whl
Size 3.0 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e3ce7786002b4a7b2e61896c5a4bfa8cc18a76f41587658a115013bbe119639e
BLAKE2b-256 checksum
How to use checksums
3595379b383cad2b59fd3a28c52bbce2d1af25926fe9137425a58ea4be2c01d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev3-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
99a411adf20954706dd700f035a9e00b414137b45d285ad6c5f832168c4543b9
BLAKE2b-256 checksum
How to use checksums
f99e6561cca728e0a1a4a2bcacbbedd239d334d67e720ce0cc889ae9407a9183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xfem-2.1.2607.dev3-cp310-cp310-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev3-cp310-cp310-macosx_10_9_universal2.whl
Size 3.0 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ca8367c8aae19155c6d290e1193c01f6d2ff2b57237239cd7108ba5aeec83515
BLAKE2b-256 checksum
How to use checksums
e3ea8feffb9a7a4a8145f4f8a9d0f1e40d43dd77cd442c3cdf7c4bc01a3fe037
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.0

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

2 release files

0.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page