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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2607.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.2607.dev2.tar.gz
Algorithm Hash digest
SHA256 687a1b5a1e05a67823ce3d3eae87b10bbcbe25414c293283b30f7601ed93a494
MD5 4cf0ae413571a697994768f54e4ac0d1
BLAKE2b-256 28a0ff2b9d0478c7054c6ba961aa33bd9673d5d452c6c4d174e8585a121ee8d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b3aaa39523f398aaee42bc4d6de28aac477587c75a38bf0f99d54dcf76843614
MD5 d66cf612fbb4c02bc3ecef93c95adf64
BLAKE2b-256 3ae2817853893b3954247e54e18a6ed2a6af8dc85fe7e3fcea8e072b2f67d941

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a5d356c96611b4e817811996ee82b59bfa2589c052a2ad2a99a50ea689249ba
MD5 d72bfee99446c24af4c511793b1f804b
BLAKE2b-256 ebb5d74a670d62491342e29c9973b68fbb0bea565722f36b2a9ab07d507036ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cf47ca000ffd02ec034862437949bc0ba04c6a2a6c331209ec462cfe481a5a42
MD5 0a0ae22e4f9739bb67ff585b20a3299a
BLAKE2b-256 2af9c151b75ed6fc217af25adde5e66d316842d5e5676eb3330087626cb044e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7776314d4ec1ed4b7007f2a82da96bc448e6502944da20aef916267f707723ac
MD5 691716e7fa94ac5fc54a227c655404c7
BLAKE2b-256 ab2b809945101739d6d51c35f93de0c540de77e7830a41a02a0aeff4184d4f5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b680223f09d9994eb6c6348f7049bdcd6bf0d7fb04b5d82fa6cf9baf6f291f16
MD5 b6ba7d8457654ed810acf31f993a67d1
BLAKE2b-256 f638df9cedaf7c6a6af8ac5ee7aeb6c9ba790791e87b9dbf9903f143c5dc8d83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 369ebce6ca276c087ddaef7d1371ab190f09deed385ae4bff4fb2e4c88f68f9c
MD5 d8b37790bc313c7a69479f2c453d50ab
BLAKE2b-256 81c66043e5b2526746e1a22a3b1bfbfb2e556a43c0c5694b653104dbb8592eba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4ff694c2177505315c2cd52bb4cada52f2ed713dff604e9a6b86edcb1213edc3
MD5 7267e789f6e32025d8af0070c3cc22ea
BLAKE2b-256 075215018317c57a2b26aa501f5659eccdff184b9b1963da598a768195ec62a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e63a18725fd95965501e9ab061f0ecb83e498e94d9cd502f862bcd4ccddb374
MD5 c2160777bad1d1faad69a258a4b1eee9
BLAKE2b-256 01a921ca425d705fb4249047c59248ddc07906b50a20e2fbee1e7942b07aa392

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d3e0fcd3c40a72e757d757bdfe5dcbc9fc9dddc7c5c03f63d67e30ff5174d6c4
MD5 ef22da7dc91c267d54d9f7c23887a667
BLAKE2b-256 402983f6a35f4a0b11074272ccf064ae660a6bd8650b31b29e87b648a438a0e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d022b686e73e2e16e664cfe1ae480af6d74b18b80b105d7c192bda9abec3090
MD5 6e3a5514cb3f9628bcb5cae719aa3a69
BLAKE2b-256 f6c2911d0a7992b324c97bd64245c788b51cae2cfcb19a454ddecc31ee7777c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2607.dev2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 204116de7db42894fce4b894e23a4775f9e95835ff856ce8476ee3e208ca73a1
MD5 e88476b27704cc50a09a4f5388279ec4
BLAKE2b-256 c057b8c78eb47a1987338b67851fb965c4d6aff95da7f8302bcbc516fec1b42c

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