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.2605.dev18.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.2605.dev18-cp313-cp313-win_amd64.whl (951.7 kB view details)

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2605.dev18-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.2605.dev18-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.2605.dev18-cp312-cp312-win_amd64.whl (951.7 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2605.dev18-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.2605.dev18-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.2605.dev18-cp311-cp311-win_amd64.whl (958.3 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2605.dev18-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.2605.dev18-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.2605.dev18-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.2605.dev18-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.2605.dev18.tar.gz.

File metadata

  • Download URL: xfem-2.1.2605.dev18.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.2605.dev18.tar.gz
Algorithm Hash digest
SHA256 0a1d0927eab1af75670af314d9286b7f627f4bf4f9b2f7d769bee22149aff824
MD5 192eb623ad22c6ba34c12ab0e3bf61fe
BLAKE2b-256 9abedaea49c44376223780a1f4be4b3e7ebfaa1a0e30e35295c9bb2a68bba88d

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eb4580fde0d308ff54aa52826550b9b3ad20f9a73c7dfb3e21980b055d3d4484
MD5 303c46bc47d73a049e95cd807f279f3b
BLAKE2b-256 59a71a7b97e6d5a8d98ddcffe6114d3e2e64a073682678b8f583366e5e6fa363

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7cb96b0bd58429ac0cce5311aad405e9b161845ccea38008b105829a12e735d9
MD5 1404a80e8f613662997d2643c71c852b
BLAKE2b-256 09506c42fd4ef67acf9cbe4645183751e8f97f649b45f6a4888eead531c99a07

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2b9d7d5eac230fa801e2561ce6932a0f5fd98dacdc28a7b1e84f24e25f7642a2
MD5 253075eb719cf54bf720746d31fc7d47
BLAKE2b-256 c06b36e36b297b9b1fcf68997a2bba0974ca395ab527d945db99568d851fd273

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2bb9b2671c41056ac4fe2e3eb5770c4d879c2da3ab271fd99689c8f5e143a64a
MD5 d2679c3318d34d950c005e940682b093
BLAKE2b-256 ad0ba65f44ee176b7247e13009028f00a195effe543ef1f5db00477427d8071f

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 524176690382d97330649d60cad3faf7f646528ab1381011a9e13a39079f73bb
MD5 ae69abbe2dab8af4787b7be5be0540c6
BLAKE2b-256 95bc3b5f03412deb904886e33006c66185dff4d3a6df4154130b7e2412d60c89

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 669f5b5c4cca07816351ffc82e70c0c984e3a5e7999c448ad3e3658d615d6a98
MD5 34f61f2e1d218bd0bcf12015ebd030d2
BLAKE2b-256 0473414ce53c0a50fa5d99b705e091a037d5e6ce3cd0d5382de5f517404e68e5

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b122f8ade9393b1b1b02573a95c9c50094e1110880ee21b4976a2ca457ff85c
MD5 9284912a2ce0595abce12a2104fa34c3
BLAKE2b-256 a96002e18dab39c74bdabbb87af7cecdc46bf7d8aa9ba8434cd7fe4ae51cbd4e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce56d98ee671cca7bfb4b99965ab9d04ceacc8acfa83d28ed2f65603614f756f
MD5 55a314b7f9a26aa29571492c40cbf8ee
BLAKE2b-256 f881b24c92674da8144488b3ed3d2a7dbb522083776770c0bab0779c9fe703d7

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3c4c6d3df8a63720419feddf6a764f1a6acd34c5ebfb7aa3afdb638cbc41e09d
MD5 2e623a0d3fd48d235e267020155d82c5
BLAKE2b-256 68b309a8f943ded6ed65cd99a23552ce51b6756668786319fca4564277914185

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f74ef8ac9805e032c8cf5007e0fdd035a53d6a9f4f09a6fa064e5beef700dd1
MD5 57fb46436af6cc009d24d82ce0155214
BLAKE2b-256 7896067f6cc0b1d45eb506c4f40f6c63466099d555e28ea5226a13c4b8b26b3f

See more details on using hashes here.

File details

Details for the file xfem-2.1.2605.dev18-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2605.dev18-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 93c8303304d4b6c181081fa738330f3dd7d77797be4a3ee7314f56c515cf1370
MD5 11d6dc7a21755d7816a141757acd34cb
BLAKE2b-256 a3104a937de9959837f4b40da32797b7db1ef0d7ae87229fe51bb4fc17a7e0dd

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