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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.dev3.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.dev3.tar.gz
Algorithm Hash digest
SHA256 7ce4fbbb19450de258d8330e7fcedad9b2b41bf31df7d0e9720c73b0f7827368
MD5 c86db91e96bb8038c140cdef5b99fe7a
BLAKE2b-256 cb865738d3df5436a99a256c6d95e2a75ef31b577958a466d7ebf1072997995a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c0882c58b3110f782736903755e6679a9af460a4a5018405f1e9bf9dc0d69608
MD5 436086872fb5dec44ca573511aef51df
BLAKE2b-256 1fd093c9ecb60cbf8144948905114ba039b25e61005683563c500c455d924606

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a65ec3445705520817a68eb87cafe0916b1698ca7086fc511cec06e5959c923e
MD5 44ed07ce7ec778b96dee55992ee4a62b
BLAKE2b-256 6b6148760851e1e14d130516e14bfbd429e77e5460d22cc3f33c09c6bc057c8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7715d0e6b57840cacb15c2a80f396e9f7555f3d3e22e3698196d034c11b2aa25
MD5 0b846d4759df8d8afdf7c6a6bb81cde6
BLAKE2b-256 e492509d4804e6dd96b987d3219df04ec931ae1977b746451e6d953eec5dce26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 038b149c737de80f0b52ec4fd8dcbb8215f17bc97ba1b003062fdea791f68a16
MD5 529b4562a4668943022c2ed4aa031610
BLAKE2b-256 76cfa27c42cff328d39bb0079fe43849a2e68e8ce1f5c5a1fc0af7a3710c5956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 963dc29f019065a5f4ef23aa48ffd95e6db6ce545a1d748afacb9b5d340d4723
MD5 f7df9653d2ab3f4ffbf5d9ea8be93f61
BLAKE2b-256 cb6b79256fcb475d788c2de2c4d2bac6f9feb3a2854d2c0a6666153b786e981a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9f5ce60174bfe17f4e2d1d056bfae265e937eceef79de6dfc9cad97376d412a9
MD5 b025e906c3453d6ed2463d5804e9ee4e
BLAKE2b-256 970492815640ce91509641781da7405d97002625da73a5cf58689265077d6fd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d1cf60b91faa223bf3bd4d77e5eac66dd5b62e3db2d7ea52413ba1c8e3170733
MD5 a35da26437be74d2f36f4a1a3bdb226b
BLAKE2b-256 85d60d7311ea80752351a979b9ce18f5d1a68472669a9cb0f3434efa3ae9d8f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c217e4aba9f947a361aca9f171172e103b9672e780c82b9838e061846161819d
MD5 ddcccc5b6c1f25feaa1762583cdbf9a2
BLAKE2b-256 d76766692654238133d0fb81a80a4dcc86eab0086f5c8dc394948d3b9f628b4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4cb082675cc58fc3c91e3d1d994d153c742757ba6d93599efc28896361e4f4c7
MD5 1000f2fe299787fb1fe8506e46bded92
BLAKE2b-256 5efc95e0e2c7cf168140b166237af4c4112cebdf06631d37c98168a155245dfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb35206777789df32aa4d41c9ccdbabd740bfedd9fa94f1d9e14e68340f7602f
MD5 190eb65bf2503ff50932c7e0d55a4402
BLAKE2b-256 917050ee148d4b87d3072dea2a462dcb1ab235f6ac3de466118136aafe2eda1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ab00fc62b1321853a312a6c7a68b3c18912de5967be7537d347ac4fcd9c4be0e
MD5 e42309e23127944d65b3f9191d3d158b
BLAKE2b-256 1427042ae9259b1af6e2510758c23d973762052c6ded5f97ef3e369605a03e38

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