This release is a pre-release and may not be stable for production use.
NGSTrefftz
an add-on to NGSolve for Trefftz methods
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:
You can also try the example notebooks directly in 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
- Embedded Trefftz DG method for steady Navier-Stokes flow. Part I: Oseen linearization
Paul Stocker, Igor Voulis, Christoph Lehrenfeld, Philip L. Lederer
- Embedded Trefftz DG method for reaction-diffusion problems on anisotropic meshes
Sergio Gómez, Chiara Perinati, Paul Stocker, Igor Voulis
- 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
- A discontinuous Galerkin method for elliptic-hyperbolic equations
Chiara Perinati, Lise-Marie Imbert-Gérard, Andrea Moiola, Paul Stocker
- Embedded Trefftz DG method for the Helmholtz equation
Paul Stocker, Igor Voulis
- A unified framework for Trefftz-like discretization methods
Philip L. Lederer, Christoph Lehrenfeld, Paul Stocker, Igor Voulis
- Inf-sup stable space-time Local Discontinuous Galerkin method for the heat equation
Sergio Gómez, Chiara Perinati, Paul Stocker
- Polynomial quasi-Trefftz DG for PDEs with smooth coefficients: elliptic problems
Lise-Marie Imbert-Gérard, Andrea Moiola, Chiara Perinati, Paul Stocker
- Trefftz Discontinuous Galerkin discretization for the Stokes problem
Philip L. Lederer, Christoph Lehrenfeld, Paul Stocker
- Unfitted Trefftz discontinuous Galerkin methods for elliptic boundary value problems
Fabian Heimann, Christoph Lehrenfeld, Paul Stocker, Henry von Wahl
- Embedded Trefftz discontinuous Galerkin methods
Christoph Lehrenfeld, Paul Stocker
- A space-time quasi-Trefftz DG method for the wave equation with piecewise-smooth coefficients
Lise-Marie Imbert-Gérard, Andrea Moiola, Paul Stocker
- Tent pitching and Trefftz-DG method for the acoustic wave equation
Ilaria Perugia, Joachim Schöberl, Paul Stocker, Christoph Wintersteiger
- 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
Metadata
Release files for ngstrefftz 0.3.2607.dev15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ngstrefftz-0.3.2607.dev15.tar.gz | 158.2 kB | Without provenance | Details |
Built distributions (wheels)
Total release size: 18.2 MB
Release files / ngstrefftz-0.3.2607.dev15.tar.gz
| Download URL | ngstrefftz-0.3.2607.dev15.tar.gz |
|---|---|
| Size | 158.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c4a5ff5d18fefda6a918c585e0c1631609be627f56af97be9a00c257c4cb2fe
|
|
BLAKE2b-256 checksum How to use checksums |
83a20e5b1726f17e1e561ff0a2552da8db2791cf0ef95a9debfa711e4c8064b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp314-cp314-win_amd64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 688.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
eb177599ae425a0a79b0eec7c84cc1977943d62396065dd8ac3a88d0d88da881
|
|
BLAKE2b-256 checksum How to use checksums |
830c4ecda2e735f4903994beec0dd65a0030707ec40b9133ecf49e4fe62a9638
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
206dbe99498a0ac5ca01efcd457de095bddd21346cf77a0dfbd37432c139ab5d
|
|
BLAKE2b-256 checksum How to use checksums |
6c9ead3594fae9564e9da3c63623e406b6ebba969af5c0f6f272dc33798f4b76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp314-cp314-macosx_10_9_universal2.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp314-cp314-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.14 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
42792842039a222839e5a32201b312a4943d63854ca3ea5c56a73197561bcba3
|
|
BLAKE2b-256 checksum How to use checksums |
8a071b5b8fec1b48c8905983967d956f3e21518983c8e3e73af5b873ba0ccf27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp313-cp313-win_amd64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 667.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
060bd90c416d5bf334b809de720940b24f80ed22a9b34b8265a576982d06d376
|
|
BLAKE2b-256 checksum How to use checksums |
40983deb68189d3eca9feb13ed372c660c8203d1a0d3bbe246614e77a12fe67e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
807b16eb35bfff4f9bd0d69d633b008d8097935766635ef0fe9ee9193170270c
|
|
BLAKE2b-256 checksum How to use checksums |
5dc0f358632838dfcc1f21fe45626d0cd360f1f9634809124ab2c62a0b2ed4d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp313-cp313-macosx_10_9_universal2.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp313-cp313-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
99eed79ff553bf68e1c274c0e68212f01980a914d09a78b2b24a34891f9a0f43
|
|
BLAKE2b-256 checksum How to use checksums |
33912ce8b7c9895746b6c9476d7943df194d2bee9dbb4a82ad7c816b5204ebc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp312-cp312-win_amd64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 667.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
aa27e77ec412b55870fcc0d4874f074242465f8f38805b4f6f3be3d4887d79b5
|
|
BLAKE2b-256 checksum How to use checksums |
856cae3a02af3bbfbf6101236307e84d52f52e7d446c4fef27d3565ed8accf17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dadd7c9d541411174c0c6ac33caf7de0efd8380630883b1a618cab75dfb9b655
|
|
BLAKE2b-256 checksum How to use checksums |
23bd3fb2b9f4bcfbe32c494d0db3bac6c6ee5703d7f3a09238e45af534a3f08c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp312-cp312-macosx_10_9_universal2.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp312-cp312-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
7c58d641b35e5b16c378c9949c3b4add41566bab95f2a38e7d3bcf888ec35ef3
|
|
BLAKE2b-256 checksum How to use checksums |
5b22e23f7b579185345d47a79d608432dbc1542fd8a9817dc72267e2f3f70af5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp311-cp311-win_amd64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 664.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ae71be9470b2fc3339d760bb124f82dd4682c7f548d3445b064e5bdaf6e45359
|
|
BLAKE2b-256 checksum How to use checksums |
4c8af5abb653f4ac3376604a979e84fc7a371a3baf9c18cf8bec412f95b4607f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
27ac380ed43f19747ae5fc55e9a621a78261ed0170ba00ae295422567b4b52ef
|
|
BLAKE2b-256 checksum How to use checksums |
fe9315b924a12254edb11b2b434ce4d8ae6caa744a063e8605dd0a719a29461c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
adee860bce1474f4fdcfc64f7814f9e997f97e6b988196bef158d2d6b65af249
|
|
BLAKE2b-256 checksum How to use checksums |
5153bd316a5fdce57fc89f4c74d5995c8340cb2200b59ff81d323b653bac9970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp310-cp310-win_amd64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 663.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1bcc85261bbad60fbcb86bf2e62fe4215790597711b0e9f1f0c44643a6f30dc2
|
|
BLAKE2b-256 checksum How to use checksums |
ad74a577fac1b9f0224b2890151c5c0ce7d165000b8d6ea7ffc38442e44dffb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c5e93b1137381a0e210e8dc1681277368307484e42b3525c5e4969721c787d44
|
|
BLAKE2b-256 checksum How to use checksums |
0e34bc020b8ceb43531e8f43cdc63c9ed633868eff4aed1cb6365bb5c88fdf3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ngstrefftz-0.3.2607.dev15-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | ngstrefftz-0.3.2607.dev15-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b5f695d7b38f68cbe71918039b168cabc6c0cae9540a41a7df21fd2a79facef8
|
|
BLAKE2b-256 checksum How to use checksums |
ef163f9b629a05a123d11b98e672d1caebff4e50004e1f6ff15a3614089b2a79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for ngstrefftz 0.3.2607.dev15
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.