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!

The documentation is available here:

docs

You can also try the example notebooks directly in Binder:

Binder

or run them locally using Docker:

git clone https://github.com/PaulSt/NGSTrefftz
cd NGSTrefftz && docker build -t ngstrefftz_jupyter .
docker run -p 8888:8888 ngstrefftz_jupyter

Installation

The recommended installation is via pip:

pip install ngstrefftz

Alternatively, to build NGSTrefftz from source:

git clone --recursive https://github.com/PaulSt/NGSTrefftz
mkdir ./NGSTrefftz/make && cd ./NGSTrefftz/make
cmake ../ && make install

When building from source, the following dependencies are required:

For access to the newest features, the nightly version of NGSolve usually works best.

News

🚀 Jan, 2026: Trefftz Workshop will be held on 7-9 September 2026 in Vienna, Austria

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

🚀 Jul, 2024: Conforming Trefftz embedding implementation by @johann-cm with examples in ngstSpaceKit

Older news

⚠️ 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: 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 and citation

If you are using ngstrefftz in your academic work, please consider citing the JOSS paper:

@article{Stocker2022NGSTrefftz,
  author  = {Stocker, Paul},
  title   = {{NGSTrefftz}: Add-on to {NGSolve} for {Trefftz} methods},
  journal = {Journal of Open Source Software},
  year    = {2022},
  volume  = {7},
  number  = {71},
  pages   = {4135},
  doi     = {10.21105/joss.04135}
}

Publications using NGSTrefftz

  • Embedded Trefftz DG method for steady Navier-Stokes flow. Part II: Nonlinear problem
    Paul Stocker, Igor Voulis, Christoph Lehrenfeld, Philip L. Lederer
    arXiv
  • Embedded Trefftz DG method for steady Navier-Stokes flow. Part I: Oseen linearization
    Paul Stocker, Igor Voulis, Christoph Lehrenfeld, Philip L. Lederer
    arXiv
  • Embedded Trefftz DG method for reaction-diffusion problems on anisotropic meshes
    Sergio Gómez, Chiara Perinati, Paul Stocker, Igor Voulis
    arXiv
  • Discontinuous Galerkin Trefftz Methods for Model Reduction of Wave Phenomena
    Tobias Born, Karsten Urban
    PAMM article
  • Releasing the pressure: High-order surface flow discretizations via discrete Helmholtz–Hodge decompositions
    Tim Brüers, Christoph Lehrenfeld, Tim van Beeck, Max Wardetzky
    arXiv
  • A discontinuous Galerkin method for elliptic-hyperbolic equations
    Chiara Perinati, Lise-Marie Imbert-Gérard, Andrea Moiola, Paul Stocker
    arXiv
  • Embedded Trefftz DG method for the Helmholtz equation
    Paul Stocker, Igor Voulis
    arXiv
  • 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
  • On the Conforming Trefftz Finite Element Method and Applications
    Johann Carl Meyer, Master's thesis
  • 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

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.2605.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.2605-cp314-cp314-win_amd64.whl (759.4 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2605-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.2605-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.2605-cp313-cp313-win_amd64.whl (737.0 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2605-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.2605-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.2605-cp312-cp312-win_amd64.whl (737.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2605-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.2605-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.2605-cp311-cp311-win_amd64.whl (733.5 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2605-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.2605-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.2605-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.2605-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.2605.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2605.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.2605.tar.gz
Algorithm Hash digest
SHA256 f78f2969d4d83a1af48d38114e89a2fb0e87172f5ba61a37a10bca881af4619d
MD5 3114fe6345c92a01369a10089c16188b
BLAKE2b-256 1b002f11511bbce3acb6c7752799a4014f7547c5aeaa8c4c47c8d5b89535fee8

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bec05734cc1f992b4b01e4f6d7e37547dad1db280f98ac2d306614ae86f739e5
MD5 8183b9a41ec56baaec2ee80465a6e5be
BLAKE2b-256 a4202e66428818f85e30ed55d9905a8f7b9d2f21e4cab2b272de2bf08e31e74a

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21e3c29ca654acad2b32b03a95fd757e350bf376e4783478f95f49e066ce95af
MD5 32ee0b0569a24e0ce8bd452db950b37a
BLAKE2b-256 e6ff7643667c01fe0d1d75f0b225402b41b24e3f1c26dcaa497f611970b3295f

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a73f0c5858b0f086fd0515835185ffeace04e1db1cbaa4e8c1833a274222a646
MD5 831b437581c3633439559a721beddb84
BLAKE2b-256 2e7937041dae9cf7c742abf25681a04ad0854f9ab7d4174451dac3352fca6a9b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9b0a0314977394ad64aae8de3a52a3a0c14d02118171787b64e11b0a1e7c1e09
MD5 74bdbe101484d4a88b0b1b20effbb9df
BLAKE2b-256 012fb786b07f25224c83cafcb53ef5b7d7c4c3ad8b1a4ec26b00e0829f15891f

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfdf96f18124a30fb48d2e29f770037ff7cfe41f4bf418ce926790c35f6fd03a
MD5 4e1c40e85e90ece65ed0091a4b805a9d
BLAKE2b-256 03035234dc6686c3305293653f325a70ea70be0c073b816b0d868365bf425d17

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 011ad70607a03f8ec3655e64adfea63bb9f15106d17fd4d0b248911e4bfe5d4f
MD5 ea63044750d0d232a12e8d6bda39a29f
BLAKE2b-256 d2fb9ec6569d8e239098243ad6df4cee331e462a3348e7f7f2503d925a41ff94

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ef7f9c7943f6c2e35b7f409f8529efcf871ac69e21518259cf4c7ec49db2fcb
MD5 f1e054c78bf4111bf3d1011895e294ae
BLAKE2b-256 376dc6d8781666d4dd418bbd5900965277df285d5435191dc4a1657df061164a

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0090121c119a2bfc183fafc4d27361df9b1595e1ff0fce73b62f6d2dde2cc8d3
MD5 a9939025051cf6eb12151f75de86c6d2
BLAKE2b-256 3ac1b7d2df2fe5d8a9b5b3fb111fdf2a2660d828d5dbd0241cc492b5207c2821

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 66a985f91d579d09f4df9aabdb0e3cb97c693a87db84771faec405f05b70d499
MD5 27c5968fef97ef9fe29b1c0c25775f62
BLAKE2b-256 044cef37cbc1c22cd8331bfff698ec6559214202348e539c364c30d632bf548d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 35b581eecfdc14f7cfb89b505170f450809192404d1e62600e5a662cb092fcba
MD5 ca94a360216ac3d20e68476c805203c7
BLAKE2b-256 30c017e89d1bc9be56dfbab8883b5fbfd61615db956be9823fcbae3d2be9ca69

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f4c283506d5359a1d107dd50e71388383e84a2b9a0d8fc4c07c50698cb858d2
MD5 c0c140667a93bdb848550de59b348f3c
BLAKE2b-256 1b727e1af72298a869a00152ed41b4f9e27f0ca23433f9c672ecb7071406c09e

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a3271b2c39ba44df24f0d98d865aae63a1ea68215d25013e010de067732d435e
MD5 658b918f03a2c6b167541db6f403d625
BLAKE2b-256 d568a42cc719e7f4bc81c2bcb0b3a01d6f5d47549ba973d4e9e59ca551d1e81b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b89bfd90efde131c6d998e800cdc12e5f72bb2430d3caa135cf7637341f25495
MD5 ca0c3e0c0e31adb2d650b691d1fb2037
BLAKE2b-256 81576e6c9f3ae7fdb5829f3dee57b2f92feeeb67e7ce8ef01a73899b07de8060

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2605-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2605-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 73b79487bfdf42f3c6adfc58dcb121dc4a47bbf4134cc734d1fe9614db880d25
MD5 025f1db407c095401fa22cb1323562fe
BLAKE2b-256 7ea8eb3d0f6062c252c84ba9298122cb8dd540881e68bb38551025611fb0befe

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