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

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2605.dev11-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.dev11-cp313-cp313-macosx_10_9_universal2.whl (3.1 MB view details)

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

xfem-2.1.2605.dev11-cp312-cp312-win_amd64.whl (970.6 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2605.dev11-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.dev11-cp312-cp312-macosx_10_9_universal2.whl (3.1 MB view details)

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

xfem-2.1.2605.dev11-cp311-cp311-win_amd64.whl (977.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev11.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.dev11.tar.gz
Algorithm Hash digest
SHA256 987ae4fa429d2e393a72ab5883abadeee6ea8097ea98631b0529fa19c8a5e452
MD5 0950dfeb77b3fe16f54059fa89122dc6
BLAKE2b-256 df4ea5f01bcb55f404d4c8b391444bd2b0d1a32be29c8f6c0465a557f530a94f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e007cfc01ca651148716c55d0dc741d6220e3ea68a536d034da5b181f743b326
MD5 5a6f80a2a8cfae7ec777132d0cb2601e
BLAKE2b-256 87dfbfa8e0c041233c4e6aaced014cc9145c0e3280bd5eadfa4e3bd3f195e7ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ede8afe8409d6f0454c1442fff678140020076d1ca605900a41d952a4c2b4dfa
MD5 58eeac6aef7951321ea64f6ccc8a85ee
BLAKE2b-256 ed386d554b744bd055f77f04262bf6252b40018e08b144b2453b840e3334e38a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 266137223dcea3b5a9ca84a7964c66562f90170ec95eec453c730dc3ee7c0f9e
MD5 afc850939e7f13407861d9340cee80d0
BLAKE2b-256 3da3091e9f3d28c1cf2087c1bbad417e04eda400c1f7310e507866a16a13b998

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7a029c7500e5ca58bd5a39bb5956e88e7ca8c854b25c3cc40cd861f90368afcf
MD5 b54925500601754462b86832c6584fee
BLAKE2b-256 d49c9502b784d2c976b5e8d8fd4bebcae607fb9217f395a09c6bfe23135a01f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcfcece5b88ac26a0134eb90edff20760fc8b86332a77fa8b7ec79b7eca127aa
MD5 9065eb5281f6f5b758b3f573643bd51b
BLAKE2b-256 8565eb38d65d2af9be8022edbb90d4d1d13bb0b18fa432549361af9f266e146f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9ffd5f0c9b6dd0ba54f27f8c8c4e240247f3fe5e1c055095e3cd7afa91115f86
MD5 8ea4269744a74ee9af7ab601db69771c
BLAKE2b-256 e19c145eb3b6e867d913d3d3d71fda64a7311f65dfcf5d0a54898df1617f7aaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 505ece0a61bec0494ae155276e2869df02d61841732e7278bcbad295ae280bbb
MD5 b9f939f009968b6d631845fb400f2116
BLAKE2b-256 3ff14e7055754c1d165a2e4e74285e8f671e2bfcc9c270abe4f1b036e3d05699

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98953502b65a9e8b2d295329c1ac15be0f527aed37911f2f109e427d410eae07
MD5 3feb7e9f9b37d02b3f67f4ce289fb5a8
BLAKE2b-256 7754a17754203fb36626e0a6a4e6f15b415d11e3afcd344e21b48449f7094256

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2cbfbc8fbfa7de93abc32824d939fc206d5e7444039ea7b2da9e66c0668b11a0
MD5 88373eecb70ec3c557aa62d00168ae3d
BLAKE2b-256 0f6063e7e222d6f6c11a09f5d762da079bca9b37c9aa7c439b238761d860fc59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84aa02ffd27909d103042f6da4eedcd07ded1775b0236b99d688bc5d6457f826
MD5 f781f73552bc55af5b6b070be75e1e36
BLAKE2b-256 796ab48f9a8f7b1339c344bc856ce57a0b6a79c9e0c69375d48e364d6684f2d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev11-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9e0d3f9e6c6eca9d476c295d0c510d9695c753fbfba184e921e791a451e7543e
MD5 ab0225345c58ff062a243cdc663a6091
BLAKE2b-256 cc6d780c47b2e8107819823d98bb330ac4eeb5879fb2093f802be6ff1a2f01e0

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