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.2604.dev10.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.2604.dev10-cp313-cp313-win_amd64.whl (920.6 kB view details)

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2604.dev10-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.2604.dev10-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.2604.dev10-cp312-cp312-win_amd64.whl (920.7 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2604.dev10-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.2604.dev10-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.2604.dev10-cp311-cp311-win_amd64.whl (926.1 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2604.dev10-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

xfem-2.1.2604.dev10-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.2604.dev10-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

xfem-2.1.2604.dev10-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.2604.dev10.tar.gz.

File metadata

  • Download URL: xfem-2.1.2604.dev10.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.2604.dev10.tar.gz
Algorithm Hash digest
SHA256 0fb76c556a3ec174c0096f0a1ed1b2132b5e9759a1788eebb6be10abea156184
MD5 27f53bd84ace74a625ed39453f50024f
BLAKE2b-256 f91cceece77b5d62633b11419afd40bbbfdc8fcef738629d3374598048741dcc

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 69bd18b51800c746e893ef50c81976a121f4e7d96852290489ebc03d7ced473b
MD5 a13298aabe08784c17fd910be0c56185
BLAKE2b-256 1e1a81de6ff1b5d644e79d5168832f3580b11a917cfe42c052a92881959b7aff

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2977fa85286817bfffd8641e6775d8ea1529a0418eb2cf0de5cab4c17e05db5
MD5 c1e4815c875e40205e9ded2289f64f3b
BLAKE2b-256 10220ddba245cd083c6d446a3a01900522eaf0519ce71e45bfb31c65ff9da745

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8e80607f9549f4e26b7bdfa46679a419389f0868601d7773d315e50d71a27501
MD5 b15a21d54e523d43ec3aa56773d515d8
BLAKE2b-256 79063325d35bd63455d8d462c3d28b5186882bbd8a270400fb3cf0bd5acc2900

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a9b941d146a364b3917e9b3ece3709243d550bf3ff2f22ca83512fac2ceea9a7
MD5 58c048fe5db8b5cfda3deede4d8d4f5c
BLAKE2b-256 5dacc13a1798b2fd2e9b481522a0ff1fe414dc49cce56330f274a1c786847bc5

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 056824616d9f9de2a656c6d6e02afc844ee87f04536038ee5e618e6ee16a1e35
MD5 c05de9e44ad4f4d662b295783345c4be
BLAKE2b-256 5ecec836e3e71ea9af05298b99e0dee8ea14a1fff031df9bf8004a0d4f19139c

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 92b87a3c02074e437369113480448c737b88827aff27982de55efb69c76e6066
MD5 db9d106211925484a2e7676f5931c8a0
BLAKE2b-256 4ab94cb62646ad99bf5327373c5433fb1cef3d64bd7690c3276ee26ccfc5cc11

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4896e4b2b2b1fec02b13864c7a2f5f8fbe8c42a83f647cd6d2b705030923f87d
MD5 90d0b8535552deaa5199c98f425e2439
BLAKE2b-256 92e4e5e67d5f717ab5f07cc680abaff022beda6b76232b672fa04a1f28bdb5fc

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b2c1cac487f4d26308563538d528d928fad14c5cbbbc399990b94ab1448bb94
MD5 236e0119f23921bf2096cc466ba82597
BLAKE2b-256 c0a2d202ccbc10426d1dbafdf21daf7cb6f1a6702740fc96616c5af5a627ff1e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cca7711fcf0f6abb71320739cbece9ac4f5bd219e15a15a553e5fb9ee78e1050
MD5 f566522e171155e04b03bf337db7d159
BLAKE2b-256 be01abed50f33df9688266d2e8ad3119661d4fc8b23b9bd62d2c280403585979

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 364ba5b2ca4301532e32f10efa068e647de3a277e56593d6dad5e81fcb17db51
MD5 9fe9ac2dad44788564c7315648e45fb3
BLAKE2b-256 722c114510c2db579043ecf558d0ec76b90e98b4b9ce9bf256806b4d4082e8d0

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604.dev10-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604.dev10-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 38c7968698c0679c1dd9473e14d46d820686d8870d1cbcf9dc349ce6cd370b5a
MD5 b73a6e08e0fa1f0cec9efee1653882be
BLAKE2b-256 72fb8300dc47caaebb79b782d3f79c18464eda9462c4ffffa1e21e595c8d4ffe

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