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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev16.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.dev16.tar.gz
Algorithm Hash digest
SHA256 e9255b4e89e7936a3a603e68b58491a4b1255003524303e74b8aad2b40686f1a
MD5 ec070e93feb7df2cce6e7c9b21b5125e
BLAKE2b-256 a31580ef06dc0678595e70e045d3d1bfc2d51344097a53ef85ed72aee2e6d4b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2700f659f8fb189712359ba5863cd711b7ef8780847405c923fa23be42c92c0f
MD5 0bb7242e115897602ebed370b0a5a00a
BLAKE2b-256 a76c366a4ca43a46a39cc068c6b0a12b3309133805a3b4311d1e3b0bf49fcc63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9e644a8fa2326844af741f3418fe6a97ecc0d70859f36ad70af0fa11941220f
MD5 e7ffca1089536ab56eff84aedca36ae4
BLAKE2b-256 867ed07da2e2b8c41a517f4f013c714e645ffc2d36f7e87a3c431b7ea49d4f03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 251bebad7161a35d0ad52c67586222b7a3e46dcf50baceb474900d724df56713
MD5 1c789ddfaf9dd80135cf5fa36dc737d9
BLAKE2b-256 102c3620f3d771163b361b8d7904f41ae7435fab0e7735a719bed1c7c4bc50e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 53a389df4397c8966cec35285f1c1b76302dc22dbfc784c07b1851d4bb42c6f9
MD5 7b022bf5f78a59b91a32251599da0064
BLAKE2b-256 acf4f04eaa1415835dd0d6df9373a8126bfb24d7a6e0f6a3c152500d32d032cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be478e831dce8f6495baf0abc8406f8237abb328aa42ff0290fe00712bafb7a4
MD5 3ed973c7c95c9cc4af5f216abaee45d0
BLAKE2b-256 bfaed2087465c6743e229363beedd677e4edb745f10428af33c5b34ad7194d52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7ab35813a87188476b7250be55c8f81ec0a493f240ceb6a11dec82f65d347596
MD5 276513bf03af92c470c4a3ee4cc9c8de
BLAKE2b-256 8b5d29d3cbde9475577b085485ba2567ee59f71c1dfa794e4f34b7495465059e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 67e302ed97dd5fb75461bef691ad17851873e7d22abe726491b4fb4b90888628
MD5 f74d8585aedce2351eff9bd665804ba4
BLAKE2b-256 1d1f72befc081996acc8fea53c6a9bd66cd47344291706baf73561c50952db6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a9ed43ec82cb37f5a0baecc6b5e2d5b1da672f742b7d6984c1cd8e1b13420fe
MD5 c2223224abcbff4a4c6dcc8c2c47ced7
BLAKE2b-256 97951d904a72f6854bf6fda030c018a2af9a81c3be7a941767b8e0158753520f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4593a3a51095a086e2037236bec3143feae1a7f0efda4c6830aba833fdbc3f59
MD5 d9ab4a77d08f0cd642a4819b1ed873b7
BLAKE2b-256 044d60794b609867a40d7ec47ddeb3f08088f5e0a9e80ea45ab6eee536fa9240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e45980910186723080d30eab250bf4e06e98364220a6ebc2f8fc22c8a0e4cf0b
MD5 1ccdbb49d1f5a7c5364efaf31db057b5
BLAKE2b-256 825a32aee367ad149a523d1aec2c7986886f878686b1d3c77b9c6091ab530a09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev16-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ddd1524c80ca3d706ca306f53af3c96e36319da14adefa74fc684eb6f60f8797
MD5 758c7501f445baa3f27def32d6793250
BLAKE2b-256 87fc82bea7abd15780175b1f58627ece516b67fde5194845a20b829b6273ff28

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