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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: xfem-2.1.2604.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.2604.dev2.tar.gz
Algorithm Hash digest
SHA256 ecea60118e9aa43ebcb494ce1146a09280aa2f77b84c35726fd371cfeac48a6f
MD5 ea066c9b957dfbf3140ebeda30c19b87
BLAKE2b-256 46c178c0a254179a8257b26536dfb0923ae65f31872a39e8ff893eeea644e9d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c49deafa120ca547f724bb068192771d42369fa39a03cbc3f6235b06c1fe2a84
MD5 63debf1a6c837cdaa1edd0b29f7c9010
BLAKE2b-256 c3e10c04891553e70e1603896d512a5dfb5af10fab73130e3ad282bc85b96ac5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a5de790b171447d06339adbd3ef7d72c73c430a4c3dd43de7b1bdf1e454843c
MD5 7eaa7ee864ebc98b81ff1b7edb5bfc1a
BLAKE2b-256 e870fb01d37c409548e999ea3d13d81be75a5ddb229aacb6948269b1fd04ec54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a0f3f6a2886c7979fadfeb96a40d7be07c0409af3c52eb9743515d0989be3c87
MD5 0814b3fb8c6a49c2dd66046299e80246
BLAKE2b-256 b9c432dcb28c51b6710541a3bb8a56e9415d873b99de47d9dd59637c7b0551c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1d88248ceccee605996dd34a2053adfd8fcc54ef083817bb6caeb49ca0c83ed2
MD5 47dec74ca32caabb91a2e1eda1962c37
BLAKE2b-256 c4f00add3cf7e90a9fada94eb4d3b5b77b3d9fd9c156b5cd658dad0b1393dbcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92b1756f6f4f832de0f4d9bc90f44733a6204e03b8d76127bbb924eb4f698a61
MD5 aa6288b93fd4ecd03b3331b5503bd0da
BLAKE2b-256 cd9de57f41053f51f97f6529554a64893ca3508dfef4dec47a047272d3520475

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6d115221af66163cbee7aa3c08f2f76c681ed29628cafa0332410bc2a96261ad
MD5 ca4298239c9a6c6ff48b1bacbdbe76fa
BLAKE2b-256 7052d0f0253606448bab648711207871d9fb7391ffe50de56e9d963e521c5a6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2b2407b6ea380d1c05091dd5ad9965ed1298582fdb9fdd18fb42b0b2312871d3
MD5 215015471a207b393fbb9408651f101b
BLAKE2b-256 7ee404d205de1e542bf3748efdde82489f7a406191a1eaf2864f407d6ce64c26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f50d3b52d2c1166f84b8fe806f56ee58852e1013153c8df68f33b9069bbe687
MD5 bcb084b9076d6669cdd2eb23d4c2d4ac
BLAKE2b-256 a1607741dacba0d0bf5c8fc3f130b9fcf9ea8c14e2f08628a8b9acd6471a58c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a9f26fcdf5ba818c0d7738fcf0251a410c9ac288f908094127a240c1b384fdfd
MD5 50c306e5cf8d0a2bd55e22b3c7a429cb
BLAKE2b-256 91778b5256cb8e652e637450f2e7598ffb8bc000722e95b6a95e28054fb3a8a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d58fab38eee0446e561e67a56f559cea81959199e53d693a885b2e1ae69a188
MD5 28a2924d39e1ccca1d86b2faee789304
BLAKE2b-256 1bf091370202ea0b32f2b15f58641484db187fb46208c16bda9ec2efc2208a36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xfem-2.1.2604.dev2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3ed7679ab2d59f16f04d5c91dc8ad3cfddad7a3132558616405dda255ef7f36d
MD5 ac8dff5e9c46c3a4031c54dcb7da5e8f
BLAKE2b-256 c4482a81aae6f510cd6557b436a01b968ad42ed52b3f456556f1f27c679312ff

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