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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2605.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.2605.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.2605.dev2-cp311-cp311-win_amd64.whl (969.8 kB view details)

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2605.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.2605.dev2.tar.gz
Algorithm Hash digest
SHA256 b78853e4a8ac42ae3efcb9737e63e962cc57b85ce0b13c259143a93441737fd2
MD5 01109956a426cbcd7b01cf4f3da5e409
BLAKE2b-256 85185aec17f8b4fb83e5bd5a0fa20fb8ab6eb22f94b1371c60958328957ab36f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7cc1f078ebc47c28b01741cfd770316f2e014efa159de08c96d2eb9e08dae52
MD5 f98b4693a0249cac8bbc5a990d2bb9c6
BLAKE2b-256 5ed3381b270736e1c12e4987aca3f8f645ec9dbb567a3d84b7b9864d9f6cea6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33604e31056af30b345c29b2352e66c7bf95ca134c711615f70d8fa32089cb99
MD5 f9108ab4391866cb0aa9401924a8dbe4
BLAKE2b-256 385ea4f305cacc9bfd408924dff5b2ab67509ac83d8ee9060edeaed876b1b827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 628639d2ee710859df7d9eb69db7945698609478ca39a58faf426c44203cc567
MD5 d7b419a8331c87a59b8d0d70cb84aa79
BLAKE2b-256 09d3b45bce45d19b729558600952b1abd9874187898eadb53a98062a53d11323

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c44bb3039d08c34ccdf9bd49981d78d17a96ca5eded6516c149ddf950cce2eef
MD5 97b405f39eb297f8a617dbb05609280c
BLAKE2b-256 db726665bbc7a73d20e134738181537927589bfc1dd85b562f4bd9939206441d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6df30e5b414561686c8dc30a7db36280ebf4f078413fe7a1b511f13168329e66
MD5 2108c1e99c961a85f329457c37d3dcc7
BLAKE2b-256 b04e97a28118161179f333bf2ef898883c5c5b361f1c18bc75803a324126c602

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2ec6ebaa780668ca687b8aa255ddc845676131fecbe16df3adcc024d1e320bd4
MD5 a576c8ccc9c92bf63662aa9b029ec8b8
BLAKE2b-256 6b158bc6f0eb67eb6c10413e7da7dfec5a9ae6e48f1eba28a89fb9d2bd094b6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a2d1262c22ec03a14242ca20b146dd89f02f34c26383022332dbdc601138a639
MD5 cdb8d9501547dfecddb822b1c82b58a4
BLAKE2b-256 b5af26fcd69b5e77d363ddeb4fd08ed9c4f1b36de826c6f49ed37e1d99b70dc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8bf5f4085e8a901253bed9325b456e371b3db8b23040cba7360538a1bb228a2
MD5 c17fafc379356ab96034935a762a27d8
BLAKE2b-256 dce84faa1c9c02e64fdb52838dca6d5f1c2b97f35c14c8219716eb01b42b9387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6bec4a1d883a110e6f0163c56636c357bd7834c04b331a9dc074da5a6e6b22c2
MD5 f1abdb0c09b610bcc8f72130dc5efa01
BLAKE2b-256 db23c0256c4828788dfcd30404214ccdbe82042e8e9e338224664ad16b92a1d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bba1dd0af3045d1292dff45a30d51c0f42980279e6c1050e149a7db471aa89ec
MD5 2321a2c356ef0bb31921cea2ef196ab5
BLAKE2b-256 88354f878cec42092d7a97dbce237adc8986438ad521d2d00101e962f8e854c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2605.dev2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 16fc278dbcaf8cf7757795caf28866b3b938fce51d1b5df89c89751524c4c302
MD5 899b06e3bb4c442cf4504bb55104cd14
BLAKE2b-256 aad182e123577a3b226404b631fd04a3daa0f2b3dfb410697713c8062e2fa9b9

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