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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.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.tar.gz
Algorithm Hash digest
SHA256 0663cf914f274d3ea907f778448fbf560e8d987ed7465a6178be618d6563d4a6
MD5 68958b0d830709fa3b3c66f2d392380d
BLAKE2b-256 f10c9122ae3b49e6c198f8a94d77beda1c8a8c5ee8a7d34622cb545d82081ffb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2605-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 946.7 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.2605-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b18c7987e93efe8b11dafcb17e495ac988fc7d9823783a61077b8b89c9561c9
MD5 32df44c2d8fb051cd328634d0c3c127b
BLAKE2b-256 7db16810c1d923997c4c7c4af74ba48c0bd74e4b43362e3515d1078562eacdef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62d9809272bb938dd4ac0f448b3e5c1d72b9f39f4137c34bb3ce0c1dbdb1d55a
MD5 ba1fae24de40f002b3d87ba157ed0111
BLAKE2b-256 3fdb2db46a7f7ced0d43135c2d61d09603a76d174a55136ec2ebcca2fd76f24a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 21cee9fe49f7417bc66822b3c0ef282bdf662806f8b6a37c13be01810528e1ed
MD5 a939acc51c8c10c231f073e0ed3a7b9e
BLAKE2b-256 88b2ac869f1489f984a551fd3963a999d97c9b58b3b1ad9542d752f4cc9a3f6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2605-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 946.8 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.2605-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4ee4c71c1e90095cbeadc6a6d0d7e2e286e9e77dc7706d14c34f43cdb9f380d4
MD5 025e91d23228f96d18ff4a4d01290d2a
BLAKE2b-256 c0319733a50182f2e601e24722c6b2ec23fb98648165fe8129a2947bfe7c8b26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5a3a98da25b57077eee03642a58550238f4c4b8d5881ecfe14e0550c3744ba8
MD5 0bfe73871cfe4fdc4cdab2950de76640
BLAKE2b-256 b2475ebf007a47909960ea2c092e29b59fd7019cb9041cdf624c3548d6cd5009

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 621540c7f81ae88c58f4dc4090fff09b4c4449ddcd98f944dacf3a0484286b95
MD5 6b51d47f705d39e0aa325c15e2b21b18
BLAKE2b-256 d1c2038413d4a079617c2d48d9b9de7f9afeda6b5702420f0fe80959a7633d23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2605-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 947.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.2605-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 957b37d607e33bb9008a719dfaecd845b2fe9b2d8823562ed0a04eb7f101c1da
MD5 6d33d03d2b7fa1204c00d09788d8bc9d
BLAKE2b-256 f9e1364742e2d49cadf0a199b5e954bd408d4b2630c713712f533e181209afd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f41f87979a5a7341accf879576496a449bf8170a7df02d8725be8b66deca007e
MD5 288ebdb313c205d766aacc1df289e0c7
BLAKE2b-256 9fa8f55d2ab283ef03ccfefe67e27b81c0105fb4a7d17b6e3068f29e0cd5fffb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9eca24169f2a14a685cb2a5cb6c81594903e9607b4ae173987d96564465bc3c3
MD5 09e89a347c5aa364d2daabdc885250ce
BLAKE2b-256 2f2007131923b2be99a3b9e4a1f0b635387d05082cf2ef6c5e5bef75d7e8fa75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef01818285a057cd5d4a332d65f62c13c6122db3161c9ee8a5d08086817cea00
MD5 e27972a1d420711bbbf350a1894ae3b4
BLAKE2b-256 964dd2c9b54d518ab526cfcc967e9ee0c46f416f3cb89374d3837eaf4ea3bea9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b00741e6ab6d5b12fba4472afd9dc22b280275d8e2a03ce8f98229cc10caccb9
MD5 51d880dfeecf7d130ac915d6bb79bbef
BLAKE2b-256 78de8ab98ee28dd2e762f1ad354b57f47c74b65d5a8ecfa89b905144361cfb4a

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