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. 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.

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

Uploaded Source

Built Distributions

xfem-2.1.2405-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

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

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

xfem-2.1.2405-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

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

xfem-2.1.2405-cp311-cp311-win_amd64.whl (809.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

xfem-2.1.2405-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

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

File details

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

File metadata

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

File hashes

Hashes for xfem-2.1.2405.tar.gz
Algorithm Hash digest
SHA256 6c7f77007e934289334c6ce5251c0a7b96ace780e23879044feb7f8419c1d362
MD5 2cbbdc8c016276abf34498daf99724bc
BLAKE2b-256 2c142bbb99ab1a8b3eeb70c5f95107afd55264b0a8628ba06a1d8b57890319a4

See more details on using hashes here.

File details

Details for the file xfem-2.1.2405-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2405-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99474d468ad31fa5203a1bc6e2275f02fdb3be2b15804ff8ebb66664eaa11d99
MD5 4b7a73c51692b75d2b0c87c52656aace
BLAKE2b-256 4f9525c1464bd28f7759bfb71af7c582c20c461938847081eea90bb886a3c3b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2405-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 dc40523f9b02f711a095dd215b7a3cdaf963fb6c8261c4193323daf0c078babb
MD5 8a4e5be0bd1403a26f74fa569f780361
BLAKE2b-256 aa8ddc9a56e5345f1d33931ae78aaa58908884736eefd3c5cfc198718dc83654

See more details on using hashes here.

File details

Details for the file xfem-2.1.2405-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2405-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07912459d64f64144a8e3c2bef9f9d2565f88dfc659727ee8cdee6fe3737719a
MD5 3f228a88baafc4a6bc97a489eaed6678
BLAKE2b-256 3c1e34abba22a02f97b3a47caee8ca6fc94646c6c1df21f9e8b067c4a0f07e94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2405-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ba953b55f3f180e211cccdada8a1a52006cb7230963e61cc7939a1dfcacbcd1a
MD5 85e7884938b9c8241edec69124504424
BLAKE2b-256 fd51d134d970c4e009a340eb9f6083dbb5436ffaee1b05541a7e2346374296db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2405-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 809.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xfem-2.1.2405-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2d9e189f5a1c240488c0cb3b1a3cbe96564417a71498bd4ee4393e1639da11a7
MD5 14ce9c2576567a609e3a8fd4204b9b87
BLAKE2b-256 6ddfc9ba71119d1fe86aa1d43b5f5e46757a3a6f55f9fa55bca22cb24a24f75e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2405-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2405-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b78305f889f14f41e01c10dc1b790a8135c87bd86f0f45c43ec0f2c4a51b69bb
MD5 931355edd08801b0434cae775b48c6fb
BLAKE2b-256 d9202d5f909167f20824a4c111124153631de8e7ff9c5b55e60774ee4cd5d01f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2405-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d00063d02f366fc4564b0be21ea4cd2bc9c77d53ffc34e243e8d002a125d5841
MD5 1a665d797488a6ea6b32dff9b07cb134
BLAKE2b-256 cf4d40da184e182150339323dfe61da967db2d48eeb6fff75d2779f606faac11

See more details on using hashes here.

Supported by

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