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.2507.dev41.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.2507.dev41-cp313-cp313-win_amd64.whl (940.6 kB view details)

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2507.dev41-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.2507.dev41-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.2507.dev41-cp312-cp312-win_amd64.whl (940.8 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2507.dev41-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.2507.dev41-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.2507.dev41-cp311-cp311-win_amd64.whl (946.0 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2507.dev41-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.2507.dev41-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.2507.dev41-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.2507.dev41-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.2507.dev41.tar.gz.

File metadata

  • Download URL: xfem-2.1.2507.dev41.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.2507.dev41.tar.gz
Algorithm Hash digest
SHA256 bb2b6c205cf9c94217aa79c161d5cdc63da500944f12b0dbfdba19016715b137
MD5 0bb1bc921bf8f056ba6dd264ef6c0758
BLAKE2b-256 83ba60f87dd9f252970a05dfb46a4ca0cef033d719683454ae73eb5b09630248

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9be7a15d40bfdaf05598fd2422a3bede9a3b990f3136b0bc567ed5577e4e202d
MD5 3292157ef70ee448c79ab70f5d94955a
BLAKE2b-256 939c378294e5281cc1d421510e3adfe9a9ffe10f9910f59ac481544432d9571d

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd13405c595122839b46c5557d2753a8d710f32ee1ee04687f8c2912629dae1c
MD5 791bec32fd7cd3e0c7b53fbf5ecfc968
BLAKE2b-256 06d507801f82fafdd24d18025ea5675a89150406922f70b293bb185bdfe864c8

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 eb526ff1a01bd2c6497764e39a9db40829f623224a44cd0fabb4be48263a1f1c
MD5 83f294a9a6aacf420c0d99f7004ec3e5
BLAKE2b-256 022a89e80ef41734aae355a2096020598add6bf40b4ba5495005986a09d23d78

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a47ec33e344325696cd6353558e7383c7b8f4c758f8e870df66ab4370154633
MD5 5fdbce6f6ba3299ac406a8451c1a2e7e
BLAKE2b-256 9d75a54b5a88285d6c560200d918a22973851c2392bff1814c5b66fd8d3afe0f

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8c86739455a3cbd7e88e6f870ed79dd76c77fc9f496b33bb59fee5394f4798c
MD5 1d72a653120e1a63466d52f9ffb40051
BLAKE2b-256 35af890ed48d480a911514ed069efe77961809c9808390e6a9bc4ef936f48e65

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 90042006854a77bed10c363248f6db148c60bd027bd6028b2f66a6c890c45368
MD5 3c21892bf543b0aaf7c3a8c3d4c4a2cf
BLAKE2b-256 3a46fdd5f16a72726ec9fbcd3b757e88c8dda49d2d1f5929662b4407490e6205

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cdf0445ea87bf5a3050af464f825a1f4c0cb59f79aa5228778d852e2d8d8b54e
MD5 c230763a12bb53bf2fcabeb7226eec2a
BLAKE2b-256 b741d106ff1683180f7e8cf551e04130ad09aa4da57602394e23b747a9c8906a

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c34e444d9240bdd38a084d9f03307e7ee5e83cec2d7917e5e52d2558a8ea534b
MD5 af2ebf834519f0567f5954f3a487d05c
BLAKE2b-256 984f0f7b8580e7488b5af963e2087556549e773593684a5eba37c56db61ed449

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 223f746d09993aa5caa8d4d98c7e5f1860ddb7c52de248b8e3a711223aea40f8
MD5 d191e1b6558fbc3491e68431099d35c4
BLAKE2b-256 74710d559721002578f14371cd95bb2c532fbcdd65dc384347a7fbbbc7dd0a3f

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59f221d1287e75be2059eabc4e5d4b605ab9faafff0033ff7ac73cdcff85f451
MD5 1a2041add958bbd0ddcc1341f1397708
BLAKE2b-256 0aee69842d5bb8f98875a1ac28fc08b1a7b812a7e87572e047b913897c02c676

See more details on using hashes here.

File details

Details for the file xfem-2.1.2507.dev41-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2507.dev41-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ef3ec11ff3e9c0e55105f10177eb68415b12aecccae4eac85388c1cff9e37e26
MD5 5c91a1273a20c44b4d362bb6298984a8
BLAKE2b-256 54845038dd6492130bb9466bcff2315aebd7794d00f0555dc46d14d5995d4377

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