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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev1.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.dev1.tar.gz
Algorithm Hash digest
SHA256 0f332033f461ee2fe869c847b27c267941e5f0e4b8ae8a16b7b949c2adf4b39e
MD5 5b91a7acceae579d1a5e0e26fc49fe7b
BLAKE2b-256 eba25c6bfaeebee1bf80efcb0684f61561339c86ae207b058a5068a30c8d12a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 46fb3064b492b25ef055b043d820033788a67a8ca086c17365a5eb5b1f3d50b7
MD5 46c84aa663234e324ee76f727a89d781
BLAKE2b-256 df8c7d99802f9a54709a6a454ec7508d4cb62e01624b0bf2a4c160b1dc9808f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9687a6b27ad78de4a07ab0c7a5e62401f4e635b24c2906683e179d7cec255ed6
MD5 615afcb56b4ca5c0e6c16ae2da812191
BLAKE2b-256 97e5cb0945f1aa64272c0c96fea4ffcaf751ed0f93875dfdc61dd02381785558

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 54ef1ed02c3e01fe8f2754f6037a49716f42267038e5154773a6b4396835a71f
MD5 05906b9463dc2ab8b4fb888adee52b59
BLAKE2b-256 dab165b6f533186dac4056447a126e71e5d5ffc7f67290848f3c80d764a8c28a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7472647fc851a11c6f33713d930bdcd9525d3272a0c2dab682831dba06f1ebea
MD5 76d1296aa839b9875e5b0ba437349ce1
BLAKE2b-256 e30bd6f133cc009b6c9b90b66800562025d090655c5b009b97cb9affe1e4a44f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c363944ee0ea5eb4c91d4a64d02c999c0a0bab00596a40e41e01253aed081e5b
MD5 8a3415f434db6bc665ccdf01a5fa6b1c
BLAKE2b-256 09074180944c56e19af44dce03626c1c486b1e976271b3b646fa503d9d6c6417

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 910baa063a652a4d8d871b30fc591a3dc2a276f4c61faf6db34fdcabff21c062
MD5 01fe2d758dec7943096d5a38a2fd2b17
BLAKE2b-256 682e1d921ee41b8063313b055b438f6ab57d502331c34c05f4020349b64d034a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a58d25f83f4c125a67b89df03cbc32580719e671f570c074d4fe66321db659d1
MD5 48dbb61fc3fc79e2836e1589d025ebfa
BLAKE2b-256 6014714cce708d327965fc52e46d2450ae7adff102b449dcd226dbe4cf046cb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4c76f783c263674fb041c0d303abf8f0369668998719bb7e36ade28793fa4a3
MD5 4660bca8de1615c32c1223dc19783e36
BLAKE2b-256 2874fca1accc15adb5dd042dff2d908dffb96c4bd757efc9da86d06d4641b9ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7d293e1f98524e8037b19240b322dcdc4dba46d5f3f70ac6d11291436dd4bd6a
MD5 50745c63f2f0be5e3e1f9853dc23f8d9
BLAKE2b-256 d6c978c31eeddcabae9f41428f700bb1a6635f58019a0139579f9f01b271d7aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c78bd0cbacc75fdd3151b23ab8b30fac1489b744c8526717ca944c4029c6281
MD5 05c32d46e1f9c93b9e57d16eb15162db
BLAKE2b-256 64a177b900c512e9978295ba1ff1a38c88426ba40d8e98b935fd7f608c177f36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 301b903e8cf36a7d4f19feded7416427a3390a7f24dc48875a179c51cfcab68c
MD5 f603f228a1d3f25db99dc70ad513e669
BLAKE2b-256 4d9161aa66d3fc91b1b6cd693aed93e4a2b59758dd506e42032eadd6463f6edd

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