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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2606.dev2.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.dev2.tar.gz
Algorithm Hash digest
SHA256 759a38b62c6318de3e6cc4cc943e26ed3577811eefc96d189a0ddba392c59c4f
MD5 6e7e490cee109fa3d0f372c2d9b66848
BLAKE2b-256 a41487c4637e3d8bee8782208e055fc57b1811ea992c073f8383fad310fba610

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 897444d883720b666857cb707df29ea566d3defecd6cca5c9d34531c5c790028
MD5 420e1288913184be5586a37894213416
BLAKE2b-256 759d7cb284b64859189be6b2e8c96bdedcbb0e9c31f5fe870c36fcbd710db17e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7bc4781614a95626f057346123364901c84d5706785073d722949b28beac720
MD5 6df84e00abfadecc5b4c7d6b25f7a626
BLAKE2b-256 d5e7a9d48593c7379da27bfdc3749e5c83faaa51c44896bc732ab05af806c0ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f1f07ec57529ec600ed6d791abd740b13f75295b2cb8ef55cd1ddabc2fda6c23
MD5 872c14c3eb09162899b3632f44dcf5cf
BLAKE2b-256 c7f12aa1da9ddc12d0f99c2d85742c074cdb727940b25b197d226b47849ca620

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c1ca958f8ed0739957ce609ad983f67ed55eec7e0e9ae6275d9dde019b994e53
MD5 172f98292a5faa839b62c14b26cbaa66
BLAKE2b-256 cb203b0c2818030b770579ffffadda422698865c025467a44514bd73b3f17e94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90a97c8ff9255b8bf5e7b525c4e1068ed071260f60eab676b18e7a6a294ea0ca
MD5 fc53520e48bd7342937e7198e9db7375
BLAKE2b-256 838e6cb31a345550b7f5cbca4ebe94cfc883e9134d1af31f720f65c0d287a588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8712f7c0714733aefb8303340d2c7a2ec3d2b801c4312cb03a70f195e2ced339
MD5 579c2436ce6c05bebf93eadcf1e77d83
BLAKE2b-256 f8f7573f150aca95bf4e9b70961becf798532c2e7b9f56b82389c60e9f79ed5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff57d105461bbb696cb05afb230d1d065bf9e9ea602bbb016e66f4a1e27dfcb8
MD5 aac3cd08cf3af6ceb65804843370da80
BLAKE2b-256 389670c143bd6114869a51b8ebb43a246e30626b3dfa2f3edf134a055bb433a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64e03d9226d618e6c7bcb706030d0ab0843da50e6ed4197a709969a5fa0d0828
MD5 77570f05d7538cc38648a3450f5aa744
BLAKE2b-256 38760f773e5cbc196ceb694f88c6cf51a3f46d7bbd3c7f41664a4272a9faa081

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6e3e1f1d5183278c3181f04d84d7443379bf8feaa870cc15ede80f20dce5111f
MD5 a6ec6a7190a90b1ae11d7179d0f7bfff
BLAKE2b-256 e23b92f9391737ea6f99207db7848a7ec28cc3a1462e99cbea3f85f8e731e8aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 641b27f9515f042f384c2e975db83da13e252d891e4adbe9054eab6c64bdbc86
MD5 b69e4d523668293546ef2f10dda72e37
BLAKE2b-256 125f820755ac0b15afe1e505fdfd74321198fd27645665bf01016e7b6630a816

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2606.dev2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1f7946d7e1e1c97301b0aec9ab4535f2002ae84c740735fea68bbcb820c8e948
MD5 a3812a2541101f7b68f882324942f708
BLAKE2b-256 50bf754e6fc5c87c8acde7ff9448e06847df81bc7884727c3e086d6791bcef29

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