Skip to main content

NGSTrefftz is an add-on to NGSolve for Trefftz methods.

Project description

NGSTrefftz

an add-on to NGSolve for Trefftz methods

Binder Docker Image Version (latest semver) PyPI GitHub Workflow Status status docs

NGSTrefftz provides a framework to implement Trefftz finite element spaces for NGSolve, with several Trefftz spaces already implemented. Additionally, Trefftz-DG on tent-pitched meshes for the acoustic wave equation is implemented using meshes provided by ngstents. Furthermore, the package includes an implementation of the embedded Trefftz method.

Try it out!

You can try out some jupyter notebooks:

  • Launch the Binder here:
    Binder
  • Or run the docker locally (you need to have docker installed):
git clone https://github.com/PaulSt/NGSTrefftz
cd NGSTrefftz && docker build -t ngstrefftz_jupyter .
docker run -p 8888:8888 ngstrefftz_jupyter

Installing the package

You can either:

  • install using pip
pip install ngstrefftz
  • or build from source
git clone --recursive https://github.com/PaulSt/NGSTrefftz
mkdir ./NGSTrefftz/make && cd ./NGSTrefftz/make
cmake ../ && make install

Dependencies

  • if you are using pip to install the package you can install the newest ngsolve and other dependencies using
pip install ngsolve --pre
  • if you build the package from source the following software needs to be installed
    • cmake >= 3.1
    • gcc >= 9 or clang >= 10
    • lapack >= 3.9 (required to access the newest features)
    • ngsolve >= 6.2 (to access the newest features the nightly version of NGSolve works best)

News

⚠️ Apr, 2025: TrefftzEmbedding has a new interface, please check the documentation for details.

🚀 Jul, 2024: Conforming Trefftz embedding implementation by @johann-cm

⚠️ Oct, 2022: With v0.2.0 the git history has undergone a major cleanup, please make sure to clone the repo anew.

🚀 Oct, 2022: New and improved implementation of the embedded Trefftz method via EmbeddedTrefftzFES!

🚀 Aug, 2022: Three different pip-installer available, now using wheels!

🚀 Mar, 2022: NGSTrefftz now has a website!

⚠️ Feb, 2022: If you are using NGSolve nightly releases: NGSolve@eda758d breaks a dependency and NGSolve@3d52ecd produces import issue. Make sure to update ngstrefftz submodules and move to newest ngsolve version, at least NGSolve@5839a09.

🚀 Jan, 2022: NGSTrefftz is now available via pip!

🚀 Nov, 2021: NGSTrefftz now comes in a docker and with binder notebooks!

Publications using the code

  • A unified framework for Trefftz-like discretization methods
    Philip L. Lederer, Christoph Lehrenfeld, Paul Stocker, Igor Voulis
    arXiv
  • Inf-sup stable space-time Local Discontinuous Galerkin method for the heat equation
    Sergio Gómez, Chiara Perinati, Paul Stocker
    arXiv
  • Polynomial quasi-Trefftz DG for PDEs with smooth coefficients: elliptic problems
    Lise-Marie Imbert-Gérard, Andrea Moiola, Chiara Perinati, Paul Stocker
    arXiv
  • Trefftz Discontinuous Galerkin discretization for the Stokes problem
    Philip L. Lederer, Christoph Lehrenfeld, Paul Stocker
    arXiv
  • Unfitted Trefftz discontinuous Galerkin methods for elliptic boundary value problems
    Fabian Heimann, Christoph Lehrenfeld, Paul Stocker, Henry von Wahl
    arXiv
  • Embedded Trefftz discontinuous Galerkin methods
    Christoph Lehrenfeld, Paul Stocker
    arXiv
  • A space-time quasi-Trefftz DG method for the wave equation with piecewise-smooth coefficients
    Lise-Marie Imbert-Gérard, Andrea Moiola, Paul Stocker
    arXiv
  • Tent pitching and Trefftz-DG method for the acoustic wave equation
    Ilaria Perugia, Joachim Schöberl, Paul Stocker, Christoph Wintersteiger
    arXiv
  • Space-time Trefftz DG methods for parabolic PDEs
    Constanze Heil, Master's thesis
  • Embedded Trefftz Trace DG Methods for PDEs on unfitted Surfaces
    Erik Schlesinger, Master's thesis

If you are using ngstrefftz in your academic work, please consider citing

Stocker, P., (2022). NGSTrefftz: Add-on to NGSolve for Trefftz methods. 
Journal of Open Source Software, 7(71), 4135, https://doi.org/10.21105/joss.04135

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ngstrefftz-0.3.2602.dev9.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ngstrefftz-0.3.2602.dev9-cp314-cp314-win_amd64.whl (725.6 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2602.dev9-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2602.dev9-cp314-cp314-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2602.dev9-cp313-cp313-win_amd64.whl (702.4 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2602.dev9-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2602.dev9-cp313-cp313-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2602.dev9-cp312-cp312-win_amd64.whl (702.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2602.dev9-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2602.dev9-cp312-cp312-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2602.dev9-cp311-cp311-win_amd64.whl (700.7 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2602.dev9-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2602.dev9-cp311-cp311-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2602.dev9-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2602.dev9-cp310-cp310-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file ngstrefftz-0.3.2602.dev9.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2602.dev9.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ngstrefftz-0.3.2602.dev9.tar.gz
Algorithm Hash digest
SHA256 783ebd67c2d7ad5e6f01afe505bc819c44a75a419e438f87c08cef55511fc227
MD5 e11b8bb16a4af74720693f227679c483
BLAKE2b-256 31ecf94186a8b8d8f295531ed6e0adb426cf34fcb9e79edc7793e1625cc990a8

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 42064b04d2cededbf43ca59bc3c426768f65e89b634473e875553592738f76a9
MD5 1f2a74f526843300cfcf9c72e6282073
BLAKE2b-256 8014c6c946ddfeac7151c899a418c4534802fb29609828d9c6d47dec34a267f9

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37beeed8d32f5cb58545be8af7f8cdf89eb83528ac7eb0aae5f86e6edd0d6891
MD5 9c981fa2a5d17fba47bb187c075bc0d5
BLAKE2b-256 e90bc12c86c92d56c17b9c49e2882153fdc7f9d0f556f3246406df6dfd49cab1

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2e3891baf04b99c22ed19d4c389ba4074e31859b4b3a63c0fcea73f2db527a19
MD5 f25205da23a30812556ccc988e7c4c5a
BLAKE2b-256 251ce6930ae23dc868691ec3916c6035163e164c318506bf978177082193243b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 931bcd95dadc764e89b0cccbc90bc7e6e10c58de563a3a05b3b8663aec7f09bc
MD5 44a54027e25f3c0b1162eaf5693dfc81
BLAKE2b-256 b2c88e10a75580343ef96d49db9455e63284d7dc485ce07dbd6d6a2a28657b23

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3caf6fbcb07ab676dc71c1149e86fbb8dd31d3cff6532e07902d4a1b096fe5e
MD5 23830640719c82f63fb0ca143c2e69b3
BLAKE2b-256 c9cff31c3b99b0a7e3e8fc1068040f15b05dc79b5561c1cdd72cbddc52d1b025

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0808caa26acb6cde1858dcbbb2572bcbca553a31cf764d6bc0b4811a777c5116
MD5 89c5d64efa8f58ffcb0b1d9e06777789
BLAKE2b-256 4bc9add067b6a077643397789b5df79acf058ceb9c2b50261f0184afba55c91d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 01b61029aa76555d1637485c1ddb7324ea8821cb9e8a7d987cebf52e273041d3
MD5 151b929a48990b8de830967f2a489e03
BLAKE2b-256 4692cda144d039305ff773d9bf6d2b7a8cc56a68c130ed2a7516e5b37e5ab67e

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d176dab37e9df6e78a5210d5fb6215d94252747f2ee299f5fa295d6ceb19e89
MD5 2da265250f4bd3cda8a373ddc5271b53
BLAKE2b-256 9f90e0e2b230852c2c2201863fa47d4ec0bb82f00c18426e2d56ce4a4dc5db30

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b8bfdabf81850dc3fdf9bdd0022a4cb4406982d7db922b6862923660e795d4c4
MD5 eb52af212c670e0474fb9d0ba569e2f7
BLAKE2b-256 ecd1c7c5ac5b205767f230f7c5014f7be4c8d8e60737eb38108d1b7b9816f0d0

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2c47910a0f834bdbdfb5c8f7536ed9a40bd9655b0224541c5162726add66211
MD5 a30f837679b15441cf49fa0ac3b24c4d
BLAKE2b-256 9ce6113fa285b07573c041ca48c90d6435c239b81a0fdb40465254fca702c2b9

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8851c84cb15a9212781bd5c8e925cf345a09fd7d13976316bca9fff57761b279
MD5 d4980b3e9eac19f35db8701cb5cd6fe7
BLAKE2b-256 61ddeafb69d94fcb328eaa8e04b3b3158e2837ea4feb011a8d2fffe74973c1bf

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 95065a822ce0fda9505f3b2e395865058b92fa46c1dac3b87c68229e895743f3
MD5 14cfa8fd64e1882274956a53a03b436d
BLAKE2b-256 e7bb1989ece1e942f8161df20537f3c154d0fb827477b707c9f25a8d642dbdfa

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eb1b34be3dcd0420ba2a142000d62ccc3e939fdc9cd2e3d9dfaf5d1629c8d6d
MD5 b65d9ea3f20af03859259d39001e1f2b
BLAKE2b-256 aa59ca7e6db77264315707671417044aab1308d9c228bdb384bef749e8b63714

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev9-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev9-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7115f150884c44f0c8bde37541c0b0b8ff697fc8cc72bd92b898d727768fcd96
MD5 a02db91ee99094c6ddeca861619af31a
BLAKE2b-256 a4941a73aa374f9c55d3df5b93b23ed1d94c7dbd67eeef155256587f0cae1214

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