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

Uploaded CPython 3.13Windows x86-64

xfem-2.1.2604-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.2604-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.2604-cp312-cp312-win_amd64.whl (962.4 kB view details)

Uploaded CPython 3.12Windows x86-64

xfem-2.1.2604-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.2604-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.2604-cp311-cp311-win_amd64.whl (969.0 kB view details)

Uploaded CPython 3.11Windows x86-64

xfem-2.1.2604-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.2604-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.2604-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.2604-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.2604.tar.gz.

File metadata

  • Download URL: xfem-2.1.2604.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.2604.tar.gz
Algorithm Hash digest
SHA256 d7c96f9b1668d258039e64c7a08047c232bd57951cd61f9ea01f96c03662d6b9
MD5 79d9b33ac33187a81ebc8a99634619f7
BLAKE2b-256 5fb93d56b6bc282ce20bbe6dbfeb584c22d7d78d03d0bb49a375f6766e60b243

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2604-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 962.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2604-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b4c5204ede4d436c3bd1fc58555ca26642374a5423eae85f5bb4f1a3d2e9e77f
MD5 ad5ff7446042f5f10840c8101cb3dabf
BLAKE2b-256 fc469096ea97e099ffcaf259c32359899b379ca9e978b954f8e4a7eb692d3bb4

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 033f6fd353237635867ac675b542f775818732b3d7f7456f8c54013e0d1cf2f4
MD5 b56053254153c8cd8ec6d59df9a64d2e
BLAKE2b-256 3262ac7ef8dfedc8dbb16ba6ea76d569fd67cf25ef30977166655342830fd36c

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8e8c3c5eb889acf70941a0b77445168693aa1064f78f3b35393dc60ce00d370f
MD5 04289599c8c7c6e098d479350164809d
BLAKE2b-256 c336376b1f3bcf368bcb225be5104661618adf7bfb4d34c21de337e2e71ad0ac

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2604-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 962.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2604-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0772ae2068fd3aa079df45c06d1374f5924e18566f442b26667a4d86d168be83
MD5 b10c5e9e37cac55bfaf92c97ad867d9f
BLAKE2b-256 68fcaf44dbfc507596a5f599b6e6ab843d7045cdd883c44b0066a18d229acac5

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62b200338483f08bc0e22464a5807a2a14109438114b5df933bec29adcdafa05
MD5 1fdb65f845b142db29fb9dc8fa2cd614
BLAKE2b-256 2dd4d3e9d98e8859cda2ea85deccfa4f2a729a22b490c6134a78995b3fe28a6e

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 de33fe1f5f91c8a449c0206598b489eb250dae8a97442fe10e6ab9fb6360e494
MD5 67d33fa558e950c9950e5b107115302a
BLAKE2b-256 a4527ee97ec08d937e5df0c9e7fa7fcd01ba25e637cfdd49d5279af44f6bc6b1

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xfem-2.1.2604-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 969.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xfem-2.1.2604-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ffc5eb822251b33f4d1d731a3cef05c5a15ec7ab5b4933f4426471ee7d466441
MD5 4ff0549dd81b20f3b88372b03d56b293
BLAKE2b-256 defad005c8820894b0a97c1032b92b703a483885e68fcfea5b9f9d15e9c2ea2d

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09231311dd1c352b1c324c953524b1a68d69f3f4cb02dc8a1f43e20f71478883
MD5 e5d4d18310ee59dcfd76559fcd8a7364
BLAKE2b-256 6131b735aebbc1d11041ec46175a4ee0efea98a11f18f1ebdd45ce5e26c0acc2

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 00e691423267bf8d80cc286c87db6a9332d8d31ed539d3ccadd1879407dd6f26
MD5 34cc7b70d5f7be3042ac16e101f00a12
BLAKE2b-256 cf2eff87f283717e64b595a89e53c6bbedf82e4ae094f573587185ffe2fb8530

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ccca975a04ba88bfce3dc86e917467070f0637d0716a7d74e0bca9219cb80dc2
MD5 2621d65f20ef3b23ffac254b6511ff88
BLAKE2b-256 725adb6e70a129abf05d615043c4d3ea844a1167573c2ff10ff7c4d43d7d5b46

See more details on using hashes here.

File details

Details for the file xfem-2.1.2604-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xfem-2.1.2604-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1ae68cfbdd6a96fd1f1840b9e0d394a205e8601de8f4762c3ec7448314b7a51b
MD5 4c64aeda3ffa7608fd22ced2785ce93d
BLAKE2b-256 fa294b7d8477cdef37540cc0a9429e6edd88adaba855c5d3d6c05c3792e36a47

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