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.2603.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.2603-cp313-cp313-win_amd64.whl (940.0 kB view details)

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2603-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.2603-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.2603-cp312-cp312-win_amd64.whl (940.1 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2603-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.2603-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.2603-cp311-cp311-win_amd64.whl (945.3 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2603-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.2603-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.2603-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.2603-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.2603.tar.gz.

File metadata

  • Download URL: xfem-2.1.2603.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.2603.tar.gz
Algorithm Hash digest
SHA256 373dad1d78b4a86bcfc2da1da35c7e3d789faedcab2097eb568badf54c036d61
MD5 7a84fc8e5842e66f8fa8144fd23a1500
BLAKE2b-256 df3143c7be07e39e24dc1d8e7e47e1062b15f99643226262616b8089af55b6c2

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2603-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 940.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2603-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4b0561d940dfcd1b6bbb47c4acf49c3370976656c8f2a9cad25251ddab022c99
MD5 401724c0a8dda4b522ffd3878e15a34e
BLAKE2b-256 5d8d9358beb5bc94f02be9605da45ba392a575746bdf836a18084b86fc846698

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2603-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7240c84a0c4b3546f48d08ebee3d14a5d3b0277fe4d55271ae2952c457d4f84
MD5 ef377e079d9d5b14b3ad9bffd6c2596f
BLAKE2b-256 377d895db340e2223ee3de659e0cb081fc632b302175ff1f8538cf10ea6019f2

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2603-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dbca6926c62e0e2fd52b2434f185fa07c37321d73508550fc1a2e2580d08fbdc
MD5 10dafd5c1e304856b1a8dd66d4f402b4
BLAKE2b-256 ff4089405d9acf1ff593cf5ab8813cf007296f78cdafc32801696a71d4e5b339

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2603-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 940.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2603-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e9a3d304f535bb3512417bd6eee5db8cd82efbb35a357ae95e2b7f10190d5d53
MD5 7d65b0894180ab39df1679b6c2949d3f
BLAKE2b-256 b34781b5dae3e90fb770b6f828e20ac6d836a023363150802859467a330829af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2603-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c853b055b0f2e74b2efe5139881e3688a8587e2ca5d0fb4a21f059476caedc1b
MD5 5207383edc82d35fe4019ef28042c667
BLAKE2b-256 afe15db9885453f55f09d9489d7a3d28d738f0fa64d947e3019ac7f63e2d9b00

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2603-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cec6b14eb773cc9750072cb969f75c5bf5fa5722aa566a190486f8620d3b489d
MD5 110fc9e8f268dc903b5c19b69b78e42c
BLAKE2b-256 c94fb3e8ff1ebec8a24565cdec9a09e9159dc21a0346c52e8b8cf7ad0e5a75aa

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2603-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 945.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2603-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1bc82970c0c7ba76040667858f14045a35854fdc26622baca15ffe54e85f6981
MD5 b7aef0579435f3d0b0cb2f33d3c94db3
BLAKE2b-256 383ae449f5fbf6da7f3d263a932637e1cb15c3303990e4d13ddec52d0141fdee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2603-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6c768fae3706ece7c93e4e45ef1a747436fc8a1a0991508b6b3c025e470cfd9
MD5 a1b19141165cc58af8337d141b252ae4
BLAKE2b-256 d61776ed6439dd043192b091007af5074469e3d4a55ed147b189cca04509dbaf

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2603-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a8d4dc2dcfebd51b973b5828c2e1d89a80ccef72d43e75d34af55fc700a10560
MD5 510ee551f6fd72841c72b8a850eb4198
BLAKE2b-256 4a39ea528e2b6feda089c187116c6f98b9baf024848aa065490a4cb39c4e9d6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2603-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f650ff4109fd6f1a545b30ad80049cac4b3d75562ae19874380a578057bffacb
MD5 228a9502760e78177e375da636202383
BLAKE2b-256 f1d22bd302c38f314abb237c211919c2eb9e9c8199d8d894e26017828f3b7b3e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2603-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2603-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 91aba7a4b93b0f7cbfd38af09be3e07320ab2c2be8a323510f0874fb213daa6b
MD5 d0ef933e5ef3246ac7b3cee9484434bb
BLAKE2b-256 0763fa27482f3fd08147340cf691122c7accb29ca9a926b1ee3ae690b41a5407

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