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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev10.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.dev10.tar.gz
Algorithm Hash digest
SHA256 1daf310041eef9b8f2dd10b5a4a2a2403420d5df784d95479afac90937ffab4c
MD5 cad74a0700fc11bf549bbce3249e24fc
BLAKE2b-256 91fbeb0b2c1876846d3f2056070c2bf18ca237cafc9258946d1fc445db5378e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0ed68528d343179847ce35457d746a49066091c8fc693f1918b6367ec3044b34
MD5 8b6a4d8f87a09f09dd4606038b40074e
BLAKE2b-256 8b21cf6406ae1e4beeb94ff19bdba67eae8647b14162ad332a1ca0d4bf76edb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2aed0e5d6547d41ee57f4451273a2ed4d29c593b96a4e8fb9dc4fe2df72c2df
MD5 a09bfb3a54921a1b06a23e75532f5226
BLAKE2b-256 1508c0d24da5dd18a8e091ffd6702226bab41e82323c1fc2b594d7662633e97b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c4fb3665395667e0d70984c19ea98e242be6f98bb3b092c8ba4a396166a63285
MD5 37a8663ab996f2374c670715805b1146
BLAKE2b-256 9c7a50e38910f1231b9a987fffa4addc934708aabdad6cdefd3b77bd9d7a2355

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 05ee2f40b5ee36ff0662795fad762cd52d52aaf9c27aa3dcd43b72e050ad9816
MD5 0e4a7da196231d632b5a7e36e79e6e16
BLAKE2b-256 d876eb647eafe1d585b5090f3f1f0b783ba8c3e5039d77ad4e4359a982795157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cba4ee792a42f8a06af5efdfea7cfb68f0bbb86cf957b0d1c828f2bfe0629c3a
MD5 620c2b99694a1698223b3b8606daaa26
BLAKE2b-256 984ba7279b8e258834729b9242e9f2bcc37510a8468859aa7f422655c5250593

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c6086dd227ba55a3b70c3fc1c417a80b8fe53f98a58a1f65307de8fb39aeb4be
MD5 9008941bfad1f6460a191c9b9026f0f5
BLAKE2b-256 ed57c767ce5ba32f0551cede4346d2fe56294b6f02a61a998ba5fd74bc83724a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e1e42f1fa1870061c526cd8fd2cf2ca50561e131d1e8dd261377c6b6efe27ed8
MD5 35c12a3dd42e28f3bc8be9e36fdeb94f
BLAKE2b-256 1cb382be76fd0dc5742eaad8bc24a61aa27ecf4632b7c9b6e912d459332517f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0b94300fd0576c5c50eaac1689af08bf4c5b1201112d7459dd7e505575e35df
MD5 23f1d010bdb2614808d4f722bcea3b20
BLAKE2b-256 1291a2fed08754a782739c1eb48c9f1406dbd97ece5bdbb7ae31f13ec99f1e86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5aa4df5e2800114eafa0d90376004cfe2af930330ffa5a548ea9f4c019742a9a
MD5 e50f4a7f3a24b703d2a607c16a0f393b
BLAKE2b-256 0fa0a16128c173d6f88f548f3a055cb68e7a3196156a3c171d6da4a59ccf54c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 576545ee59ca2bc390956d6d95de7e8ae46053e45ecd45cfc3f7dc71ffb5081e
MD5 d5c7071771debdaa52ebb979ec82f92b
BLAKE2b-256 22537635f25aee3de605b4439a1e4c371030e3e2f0d0303b254e1c2043b5c8d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev10-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8961acb5891f55de091182e908ba671672fc1e879d7fd7fc4b40168342ba2a92
MD5 42c9b4a5a6912357ee95f5297647d10c
BLAKE2b-256 5e9f7f0d479bc2f695da60bb39bb4c594ba719f504fca974e178c8e53a52d2d7

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