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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev17.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.dev17.tar.gz
Algorithm Hash digest
SHA256 6fbc6eefffe480ca6bd537bdca7b04dcad9c946ccd0cd0c224a1225075b33075
MD5 2bc3d4727288838ab1f3985075e21690
BLAKE2b-256 9ffa9b3ac58433e7a4811ec85326f42e15df831f40bdfc575a962dc7df6f00f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3defde6ce497c9738dee04ffad7bcdfdc87202192b2ab63bf75f02fbbb611b0f
MD5 ba2ea057d294e4f132bb3edb6f0a42ab
BLAKE2b-256 7669b712b5d0f27bf308705dbeaf0e48d006a9fbc56243dd027982960e82a6ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32c6b6bb10d87cf687ac70195aec76c3a830143c8f33386bcf71dedd16f194fb
MD5 756e9bd221089f2b35753f637c4e0da7
BLAKE2b-256 8594dd39e989259425c6e44763ba7e3e7ec087b1a381986171bd5980341c420f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 25697df269914b292343f33ea780210cf09149778b99ee6acfe53c09ac048346
MD5 a17ceb6383cfb9030687ff5cbb240382
BLAKE2b-256 c9ee293bdb9fc5a145648f957cffd83ffcc444d4a3400e78ee5a1416392ccfae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd151f3313e1f6fba4f96fd81d0441eaa5036af8ebb94c8e73512308e3028808
MD5 248429fd815877df060e6be7f675fb28
BLAKE2b-256 241631fd7eaca96a21fcf5579d15f4bbfc2c2a98d239b58de4e5f0df30ffd2a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3db21f94e9aabff103d84b919b5ac66e09e8d548d1f660f251884cfbf0d74ff
MD5 26aed1f664a897bbd36d06c003b4d510
BLAKE2b-256 259d7328e4211ac26d2f7f8831591eaa7da31335dcbd3253904031001114cdae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e74a5fa4f10f9debfd1635bc2f6ae51c94f1ed1b5cef409b18503a2389c0d2e5
MD5 be6a1fcdf53749bdd24aa259a015a51e
BLAKE2b-256 8ad8f361bf9d900d70968ba9e12202139b46f4689b96b4c896d1dc9c4a11ac4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8398ce2600328a850ef4de647b3164ca34629ae5bd0f00daf10af0938b2f8947
MD5 3c3c5a943d853a0108451f8fdac602c1
BLAKE2b-256 4a9bcba449a7f89c278e2a69630b92c20b67f95dad40cce34e65fa72dccb478c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f7895e23225ab3f8768403acf41195b72927f4681e97c4aeaef81bb34b9b2d4
MD5 ae04571112aae287f2f6c815492816c2
BLAKE2b-256 68a706c364f8c4e614ae8929c26279fc1778da6a98c4b995cb43057718ff8cbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 50c7a349da588c09c00d86b9904e3de8046f80d4780303df0a3979a78176c21d
MD5 e1a2a84752fd7676325afbd4859892e8
BLAKE2b-256 4e9ecbaa2131c1726926370ba2b8ac6f6fb7215a99ad3f4e8ffff194ee0e943d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5892a59d4c6ee33c827632138d546b6e342839fe55b6c2c58917eb7abe654c0
MD5 ff0f2641530dc343cd7737724dbf03c6
BLAKE2b-256 9712958c13a3204f74a707251ab69842b55f8ed3c9d0c4e874831ab112fc881f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev17-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 be0892572035989c3a50d8c6164dd0845729fae27aa59ab6885ee331d7870022
MD5 6db7acde63cd96ea81f8c3db8bdd2501
BLAKE2b-256 b58b9accc55d81d4912485c5c65dba7ffc51a29be09779b77d5ac97cf3e3b903

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