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.2504.tar.gz (2.2 MB view details)

Uploaded Source

Built Distributions

xfem-2.1.2504-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

xfem-2.1.2504-cp313-cp313-macosx_10_15_universal2.whl (2.2 MB view details)

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

xfem-2.1.2504-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

xfem-2.1.2504-cp312-cp312-macosx_10_15_universal2.whl (2.2 MB view details)

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

xfem-2.1.2504-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

xfem-2.1.2504-cp311-cp311-macosx_10_15_universal2.whl (2.2 MB view details)

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

xfem-2.1.2504-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

xfem-2.1.2504-cp310-cp310-macosx_10_15_universal2.whl (2.2 MB view details)

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

xfem-2.1.2504-cp39-cp39-win_amd64.whl (800.0 kB view details)

Uploaded CPython 3.9Windows x86-64

xfem-2.1.2504-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

xfem-2.1.2504-cp39-cp39-macosx_10_15_universal2.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 10.15+ universal2 (ARM64, x86-64)

File details

Details for the file xfem-2.1.2504.tar.gz.

File metadata

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

File hashes

Hashes for xfem-2.1.2504.tar.gz
Algorithm Hash digest
SHA256 e19a97b307e2e0d0b4ea8c7cbb8ffeca15e8ccdc6505efdf2f950c88cd054795
MD5 0da1231c463fa911718a9c831e658b3a
BLAKE2b-256 a4141694aa820f3fd8c2bb171d5f536a09df6bc459c9d6aee82ec2c59c32eb56

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71ee5de0d9a71a321d3f50c5e4b7f0b44c88f301a95e77288e545e8bd457dd7f
MD5 4a183c53b084ab5339096ec277768546
BLAKE2b-256 72d4e2730eb1b80c4c0d3015c4b98921aeb5c15492eaf6dc2593bea61f48cb0a

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp313-cp313-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 8ed4a435ac9ae81ac77af5e1673d480a42fa71639bf7f15212b2c6dbdd7e5d47
MD5 248d7b19becd078d40889e2d2457e87a
BLAKE2b-256 780b2ac8bb9ca2803673f34994c9b6791840be0a548907b29ddef1dba5aae472

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f66d57bfada7d4f231145a5f7f9f10a1bfb584750eb9dead4db75186721a2f06
MD5 6e5644ad281c1fc40ecfc82aded33d98
BLAKE2b-256 253945080ff75306b33c288655e71149943c6543310a5ad3e5baac58d4952dd3

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6ae25a40b9be3297571ea6bec98b2c17a81d5a98706fcef0c7fdf4662c9721a0
MD5 116c69cb5501028d155ebbb4cd670d2d
BLAKE2b-256 775bcbe9666ba976e569191854443d5173d87be7fc13380eb40dccdd05ab89ef

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70f209dd7276669931e3de361395b94c67abf5d6a42c1478ea60e4d77e15f0b1
MD5 cb4996f7f6937b46152a14c7d1a4dd40
BLAKE2b-256 e80db62d762d162880b9c3ed7bcd79a5dd077da52955011553d32fc1322dd037

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0e4a51d66c344019da5a80c32922faddd25a43fd7c91b566a0f820e03dafe615
MD5 220e630977c68481113af96ec70807ee
BLAKE2b-256 7b9baa96f3e27d6bcdb8875f0162d3f3ebfb81548c840aafa5f45583e656352f

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d3617ba1343781478b510cbf35d4d180edb2ccd204313084aab9d0853a94e6c
MD5 f2dfcacccdadb4d61c732c6a2da1b465
BLAKE2b-256 d5320b7ff4178e4f98f0acc94c7b4b8588be1220aae84266032f7f33316ec140

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9903b6ea1ea5faa8333595a79234b64d4aa9ed6ae40739ada91a0ec99ed85705
MD5 2496b41ebbbbb3440d2bd898023b9bfc
BLAKE2b-256 9fc531208d78a8c80366db32480f4579acc204dca9e98a2f179725378bc006e5

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2504-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 800.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xfem-2.1.2504-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c97811ba6d24e8e6199cb8c005cc99eca1d62aa71d9db746a217d7e3a95287fd
MD5 01f4494df784e0116a3110de384e03c1
BLAKE2b-256 37f4e966d88c0947f9873c6e9e2fbe35422f39aad6cf13556b2ce7e40cb6db88

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 273363e4e806cd4f7e4832baabe3bea449bf85c310d661f575027631593e1fb6
MD5 24c7734313dfa69e20da34f921ac2149
BLAKE2b-256 f2ca89028aa95bbd3aa3d344f0580c1daa09f26873032cfcf734228cd27b479e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2504-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2504-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d6def8f1fa63da54e25a1eab74cc7c11f9c5f5cfc7bf130ba4458fda6ec3fb43
MD5 7567a44c8646d4ee7b31ceb04e52c435
BLAKE2b-256 faeb5109ce9109b1353e5a0fd654e11bf3b7d9dfaf6aa3ec280095058f8b3349

See more details on using hashes here.

Supported by

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