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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2507.dev42-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.dev42-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.dev42-cp311-cp311-win_amd64.whl (945.9 kB view details)

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2507.dev42.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.dev42.tar.gz
Algorithm Hash digest
SHA256 3ce3c41a56507e8aaa4f735c5a6758c18d5cc5259eb88d5e6db3569eeb989e0a
MD5 897595734155187fd43dfd3255582d98
BLAKE2b-256 9f959af25a41b202849b75aa677bdefeb977ea56cc34ed0df6c27a12543115ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 109b66cd516241fd031955073a3485e755aebc2a448d70f2426dd397ecd5f127
MD5 41c3c74e941d13f9e05548ab2e3dac6d
BLAKE2b-256 48db08baec629ffaa51d802fa54b0c92ff9701b2a8c8a32c177a7c488fdd7f45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc908f7e108cccd580e6cbcca6488fc09ea4c2f07a1a57e71014a4a80ba223aa
MD5 bb4a846afd41e3a460f5f675c5496755
BLAKE2b-256 75a0ccf2f3e65138d4d1f188154d82a0ecdf5d6bfad3864f22fc5a40b3894864

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a5a5acbcaa22ab64c9ae8a42d5c62a9f7892fa0499125cf2b324af32c672737a
MD5 292c62569011e08ee810bf85bffc3945
BLAKE2b-256 96f876c5508ecbdcd4239682bd77e3e19997788e117ed84788594d5651b290b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 719ceae914fff8e6e2ad305f7c630728e45020c9021224ad38a7db9b1afff659
MD5 90c1e9bc020b2dffe5ed9b4c66139908
BLAKE2b-256 5eb7cc3ec74743d6bcb8515c481834c025d0fe14dffc615cbc46086611cd82bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 499505426f1a2bc6239c39b4f7eda9db5495fd2b83e2ec1d423ff3e2e215b8df
MD5 09ef5e9bfef5e75e019d6a212dfb9339
BLAKE2b-256 b6c043d6c02c40da754bd2cf16bc1f6af0ab5d053e25abc425d57549229ab1b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 388cd6727b4e50537b526e58c0b02dfaee33d756724e2a5da92b0a4747371b9a
MD5 254e48075b4e0a16d9d08aa0145fc472
BLAKE2b-256 ff80998b51f76769917741840eb1db22a1d930e69c4044945990cdf9b03ff8f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b59217c57e5d9824088fdf36d1e49c91ba8a1624e179b57c3d7b75afb3148984
MD5 e80956f1a98bafbe0dec1649e1302f33
BLAKE2b-256 94063ed5f322ff71c3e1d65841699f725a94139caaf0b3d0f4df69c2b7023ed0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 011fc4c7b763a510cf899c00d436444eddf8e0db0638571e62be82e53d975374
MD5 88029ac7d6cda7785f0bf4ea29eab331
BLAKE2b-256 2781b848f414f07bb0fd9896ba93fed0270d3204269d8906874cfdceec9ac0ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b93dfeb544431cf5c5b340bf938d6a79fbe6e4d6dac68f5685946e2f758faf58
MD5 f0bff5437f8bd9438fb9a077afdfd1af
BLAKE2b-256 ce47bc05e522b5d06c3206ade53fc94028955a64df45ab7d3039dfebe3525234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6039dfc2d51689c2dd5256214d4d5d9f83d2d0388926fa9e07ff12c5e3a73ed
MD5 0b8318976658603f0883d4f570d0c22e
BLAKE2b-256 2252504a990b314e4ca8c0a274d3a7e1722a92999a7444d1cffcfe75d66bfa4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2507.dev42-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 32d5de596e8e1efb256302c92a0b84538405a4999ff44d845913e8ed00cf8e23
MD5 2f54c5be0a5a43dfb26ab7d06373d768
BLAKE2b-256 e6cf6fb3962e40f1696905d9ad677c8ccf260bf8d777b6fddedcdcbbd9730b5c

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