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.dev7

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.dev7
File Size Uploaded
xfem-2.1.2607.dev7.tar.gz 2.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for xfem 2.1.2607.dev7
File
xfem-2.1.2607.dev7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
xfem-2.1.2607.dev7-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
xfem-2.1.2607.dev7-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.dev7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
xfem-2.1.2607.dev7-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.dev7-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.dev7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
xfem-2.1.2607.dev7-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
xfem-2.1.2607.dev7-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.dev7-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.dev7-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.dev7.tar.gz

Download URL xfem-2.1.2607.dev7.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
80c4bfc5700bb0ee7f99e39ea61bb368e4620e72d4d98c2756ac9a46f8902832
BLAKE2b-256 checksum
How to use checksums
61b9c8ec58c7eb57a6c6ecfe7e5fd5862b9435888d8d3f15d495c1b1f087bc4b
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.dev7-cp313-cp313-win_amd64.whl

Download URL xfem-2.1.2607.dev7-cp313-cp313-win_amd64.whl
Size 947.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1a9bb7ba68503a6b984bd11286ca84724607eef3b62e499927adfbfd94e59181
BLAKE2b-256 checksum
How to use checksums
2d24da0e683731b954891d778c63d8c1ef47bfbcf3b0902eb58327134d17bf43
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.dev7-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev7-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
8917fe17fd783d590d079940db1c3c97b548a1a68e8ac31af92ccc36707cd879
BLAKE2b-256 checksum
How to use checksums
e758430226fb7314f37e45adb32603beda032b7a72e97cb259bd927e205f3823
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.dev7-cp313-cp313-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev7-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
9d67faf5b7e4ff4a56d63b1f3c89f76960e76abdaacbd622d69dc58111a01d37
BLAKE2b-256 checksum
How to use checksums
70e43ce2784fd0df1998b9e22efa5e2f3691719db39a965d5ff3e6a721ee1a17
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.dev7-cp312-cp312-win_amd64.whl

Download URL xfem-2.1.2607.dev7-cp312-cp312-win_amd64.whl
Size 947.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
87c7889210c7aeaffc689a99117ceb75e291c18cd04c84d19d4075bab21cab9f
BLAKE2b-256 checksum
How to use checksums
a9b01ddef1cea9369bef4840aeadd5f49af8610acbf8f92b4f31e5fb153d7592
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.dev7-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev7-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
91b926f9b833da42f23b9c45b17e9cc3cdbb4606bd654be72a68b50eded4b022
BLAKE2b-256 checksum
How to use checksums
906ec7904b56894827deb825ab6c3ad8fcef8246fe7a2d588851b2e4a571ffae
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.dev7-cp312-cp312-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev7-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
d6e096bdd30cd0dd071efbf83e4c2597f1e553438d3a0c87fd84ce114ad3f723
BLAKE2b-256 checksum
How to use checksums
107401f60d8904dc2f7d046ebbce7a99b77c7190edf9da475782e3347db925f3
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.dev7-cp311-cp311-win_amd64.whl

Download URL xfem-2.1.2607.dev7-cp311-cp311-win_amd64.whl
Size 948.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0577f393b08acaa3667c77d65c346bb417098b60f649fb9b59d31d692b836e9d
BLAKE2b-256 checksum
How to use checksums
4b034dbc713ce2f3dec280c89eeff5bfe5511c8deebdb47d4111005d9053b969
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.dev7-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev7-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
ecc72f1ea7296a2953f71bd298d66432d869548a1953a0f8551a709293d65a30
BLAKE2b-256 checksum
How to use checksums
6835b75d75a7bd829aad3fb4f4bc042dac5f2d8761d53a852a9353a005f366eb
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.dev7-cp311-cp311-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev7-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
5bd7def089a2d5d307659857a381931d70b09c0e448af6e1263f163e88923b52
BLAKE2b-256 checksum
How to use checksums
3e58f95b022632508af665a20b1452e75ac2d1821c942cbf20e7b425c1faf155
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.dev7-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL xfem-2.1.2607.dev7-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
5470edf2fa6e9315d7e85dc4d804ccc82ec3dcdedcff94a6ab5fd9c69bde4776
BLAKE2b-256 checksum
How to use checksums
b841530d92eaedecdc703e2fb3b75c50aec10c40b21b678b036ed7defe1b40af
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.dev7-cp310-cp310-macosx_10_9_universal2.whl

Download URL xfem-2.1.2607.dev7-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
a67a8358a74e916935a747e4e8e2765e0003e9f1089c96d1c68a3e0b37b2270d
BLAKE2b-256 checksum
How to use checksums
b5cf484ade834ff3ca5d6ebdf93681981e2645628395f0508db0ff911a6217e2
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