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

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2606-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.2606-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.2606-cp312-cp312-win_amd64.whl (946.7 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2606-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.2606-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.2606-cp311-cp311-win_amd64.whl (947.4 kB view details)

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2606.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.2606.tar.gz
Algorithm Hash digest
SHA256 d0139be9c2ece6346eac04cb8513de0c7dd9ff83f73fa72679af1dc796e9abd1
MD5 b596150fc9cc6ee87c373d3c2f0bed44
BLAKE2b-256 77eca9198d20298ab96c0ebad86d7147aa4c74c73b7907c80de68d38260a5a80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2606-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.2606-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dad3d897d502d1748582091014a8a45bf6757792cea0296065bb20f055270ca2
MD5 15632eee45b9be57d439bbc4ab754b02
BLAKE2b-256 34d8091ed7fdcd65cb0d1a9baff499bc5bb3d186006f94ffd6f46fba3d0710a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa04136c56041ecbcc2c2fd2b7bac8da422e90c4e3da677a74bb2d6a97491883
MD5 43fb35d37f7a82b656b98baf53b20bf9
BLAKE2b-256 756c5f9d1d9a5b5fd69dccae5152f81dd98f682adcc6ad5b25189f8223870977

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 286b470d29f0e060e7197892a7e7b081a84d9eae75c63a19bcc4489979834814
MD5 e3c53c342b0e79857d36cd500478f8e9
BLAKE2b-256 e9e927452e251436c5d868795e15f3d2fb2ef0505b85d2ab1d71ee7d91cd6da1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2606-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 946.7 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.2606-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 60844cc0108cc0a584ee3f1659458d7c1a7b24d2c7194f59a951029a304843d7
MD5 7912e3130c9245ab71dd1a3730595123
BLAKE2b-256 a05c92e916a345f1d672b7119d7c842db837fd0105bf59aec1e39fee6a9c399f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c544851d090223101cd2986c67088409f970c89a16a938c979fee86cd6b32e5
MD5 9a1cf2e5a71c54d618b4e7165faa30eb
BLAKE2b-256 c5e0934fcf2022bdb62e98ca1830bb523ee321f8458ff23406e43c735f8262ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e9eadcb2e6e216b1feed7f6b780d02bfacec4e5f87e4ef81521db5f9f4f59421
MD5 81491bedc2f2a39bc8072f9fb8df3f21
BLAKE2b-256 ab9774c8796003837749ac1732d188f9252da2c6a7e19d237d268ebeed684fd7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xfem-2.1.2606-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 947.4 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.2606-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8effc31c8a2bb38971f9c5d4e9aef5de8927b3728fcbca9bb943e910ab9e1506
MD5 b9b74978d2adb12f695ed8ce5f043126
BLAKE2b-256 362e108aebd81d08595a85b875e08597097e4b7ecdabb45ff418a369b77c5b0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c814ad342cea46dbbf26869c92a15e0a0830489e76fad2c44939a50b5373ca5
MD5 3476b04fc9937bb28bc8078c969ee159
BLAKE2b-256 1bd342d098afbd46ddab9e68b610b637b81267e2d21e403bdd7666f701d0a482

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2ea4b534c2462572c15f6fab3dc651d135e55e35987e142b363c0d21c2921806
MD5 3f2393e51f21fed11ce0d5af999c4753
BLAKE2b-256 06b2545fdee90e3ba3c32a2e553e4dff0aaa51aa3d3518a9b33aa4c5965ed06a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50a28794555495af4ce0666076c433da6a3496022101644c317d08e15f3ecdd7
MD5 d8a9a19e33c076d6bba0f41ba5d4efec
BLAKE2b-256 efe36c229cc0f597567d0c7f77e723b760931f63774b7bb23aaf0c0ed96a2d0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e2a7f53906bf9b1ebb38bedf443e3f19c6c4f5756a3482068c5a9c5f3806f51f
MD5 93bc966bb259f7aea9d5eb9ed1d09dba
BLAKE2b-256 5511232a877dccfe91c5d9475c25928f934c150700ed0266da4c6175ac914048

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