Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Metadata

Release files for ngstrefftz 0.3.2608rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ngstrefftz 0.3.2608rc1
File Size Uploaded Provenance Actions
ngstrefftz-0.3.2608rc1.tar.gz 164.7 kB Without provenance Details for ngstrefftz-0.3.2608rc1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ngstrefftz 0.3.2608rc1
File Actions
ngstrefftz-0.3.2608rc1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for ngstrefftz-0.3.2608rc1-cp314-cp314-win_amd64.whl
ngstrefftz-0.3.2608rc1-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for ngstrefftz-0.3.2608rc1-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2608rc1-cp314-cp314-macosx_10_9_universal2.whl CPython 3.14 CPython 3.14 macOS 10.9+ universal2 (ARM64, x86-64) Details for ngstrefftz-0.3.2608rc1-cp314-cp314-macosx_10_9_universal2.whl
ngstrefftz-0.3.2608rc1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for ngstrefftz-0.3.2608rc1-cp313-cp313-win_amd64.whl
ngstrefftz-0.3.2608rc1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for ngstrefftz-0.3.2608rc1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2608rc1-cp313-cp313-macosx_10_9_universal2.whl CPython 3.13 CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64) Details for ngstrefftz-0.3.2608rc1-cp313-cp313-macosx_10_9_universal2.whl
ngstrefftz-0.3.2608rc1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for ngstrefftz-0.3.2608rc1-cp312-cp312-win_amd64.whl
ngstrefftz-0.3.2608rc1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for ngstrefftz-0.3.2608rc1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2608rc1-cp312-cp312-macosx_10_9_universal2.whl CPython 3.12 CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64) Details for ngstrefftz-0.3.2608rc1-cp312-cp312-macosx_10_9_universal2.whl
ngstrefftz-0.3.2608rc1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for ngstrefftz-0.3.2608rc1-cp311-cp311-win_amd64.whl
ngstrefftz-0.3.2608rc1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for ngstrefftz-0.3.2608rc1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2608rc1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for ngstrefftz-0.3.2608rc1-cp311-cp311-macosx_10_9_universal2.whl
ngstrefftz-0.3.2608rc1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for ngstrefftz-0.3.2608rc1-cp310-cp310-win_amd64.whl
ngstrefftz-0.3.2608rc1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for ngstrefftz-0.3.2608rc1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2608rc1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for ngstrefftz-0.3.2608rc1-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 19.3 MB

Release files / ngstrefftz-0.3.2608rc1.tar.gz

Download URL ngstrefftz-0.3.2608rc1.tar.gz
Size 164.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b84a8141261a01acf391be52cacce832256446b3932d7d1915fee68470fe8f4c
BLAKE2b-256 checksum
How to use checksums
dc8b05fd761fa2298d4be594a18ba3e9084546288c9deeb131fdd051d49cfba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp314-cp314-win_amd64.whl

Download URL ngstrefftz-0.3.2608rc1-cp314-cp314-win_amd64.whl
Size 728.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a0e6a880a28857b66dd84c592e662d427cc24f11c071d23a7d099c246186b599
BLAKE2b-256 checksum
How to use checksums
212cba517137603e1fbbf48a7ecdabf3d59ee18e5383a35017192604973d7c55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2608rc1-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
19605b97788ac3be6da05cdb8cec5bbba9ed3248ddd8cd930ba9d3f83c3b3bed
BLAKE2b-256 checksum
How to use checksums
cf1308384ba6d51028d703856ed2c77362f150f3328d1f51942ab1fb070f4b9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp314-cp314-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2608rc1-cp314-cp314-macosx_10_9_universal2.whl
Size 1.8 MB
Tags CPython 3.14 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
76655e17a99fc3686702a325414013c51ddd928a0dee8ab0450b03cb3b746514
BLAKE2b-256 checksum
How to use checksums
e91debd7bd611ac23eb72430293628f902d92adcb027e85ca0abc726da2d3aab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp313-cp313-win_amd64.whl

Download URL ngstrefftz-0.3.2608rc1-cp313-cp313-win_amd64.whl
Size 705.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4a0a7ac84f92922eb19f1311b5a5f08aceca80f7fc31147389b825f0cb47a648
BLAKE2b-256 checksum
How to use checksums
b79d0fae4a09999b18308853eb26bbea4d02c1c5b9fbed3e1453897b5a838526
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2608rc1-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f2752a7d3d12ff2fb93cfb33111abdf11f939425eabb8857a391d93caa175e14
BLAKE2b-256 checksum
How to use checksums
b08a5a96a6ef9458d8865dc917a617ba7f6b6d838ebd3d527df63ab54aba7832
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp313-cp313-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2608rc1-cp313-cp313-macosx_10_9_universal2.whl
Size 1.8 MB
Tags CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6965d08f781685ab043d1ca3b606a2f062f064e1833c02146e6c87cf26c76d0f
BLAKE2b-256 checksum
How to use checksums
52cd43e7e7a89115e369e6fdf3263369ab250f208bf0c019b6cee51f148f255b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp312-cp312-win_amd64.whl

Download URL ngstrefftz-0.3.2608rc1-cp312-cp312-win_amd64.whl
Size 705.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f3af909d032a4359d40aac877865f610857b9c5c82fae0bfdb3093b0a33a5ec7
BLAKE2b-256 checksum
How to use checksums
5ce34e59195403cd0ac230970654fd360e5627b55eac3f97462d2f59eb117b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2608rc1-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9d592b2ad7ce81b629099f9104fe1b7f74ca1a84306b87d48379454b05fbaf9a
BLAKE2b-256 checksum
How to use checksums
668119bd19790fe88be979068d4b8ad5d5deb949e39d597e2303f68b27d5d28b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp312-cp312-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2608rc1-cp312-cp312-macosx_10_9_universal2.whl
Size 1.8 MB
Tags CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
21ee72f78244ff361dca2a51dfb5160c7c583741a7e1ff0a448a1a3ae8f5f881
BLAKE2b-256 checksum
How to use checksums
26a3987d4856e778aee76ec0b268328c8ad536cc284e119df62bbb8ca1430d3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp311-cp311-win_amd64.whl

Download URL ngstrefftz-0.3.2608rc1-cp311-cp311-win_amd64.whl
Size 702.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8c6b06f75f9465c44ff700c081bf3ac17ec9a54016d32a2ac93d588ef22ac6a0
BLAKE2b-256 checksum
How to use checksums
cb36a34478384251719b6f3fb3ce4f02693154ea51d6eaab5088e294b74c6624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2608rc1-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ce82274cd3663759aa21c60067983a574678a991079d55df5480a1391f66c577
BLAKE2b-256 checksum
How to use checksums
4d0aa376eff8b3975a66dcf510e117023a53578ac640a27e8e1840bfcb448cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp311-cp311-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2608rc1-cp311-cp311-macosx_10_9_universal2.whl
Size 1.8 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4106bfb567a1f1a29d75d41dfcdb4622cfc082005e49a14ab890c30c30488e4f
BLAKE2b-256 checksum
How to use checksums
fc62624c84f52d64473a93bffe037f58a8ceb48d7b53cd98c2f908b522afd8ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp310-cp310-win_amd64.whl

Download URL ngstrefftz-0.3.2608rc1-cp310-cp310-win_amd64.whl
Size 701.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f27d8f57b09717b55248800555867983d010b9b0a31281736950b7b1a7c95858
BLAKE2b-256 checksum
How to use checksums
bea453d1fd1420124fb933b06be3cfda31ae000bfa75753704dce6ffcf3e0b0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2608rc1-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e4739c02b5d8770dd6d2b154f76745fe765a0b128056d21e043e13f2cab16aa1
BLAKE2b-256 checksum
How to use checksums
85a3d49a48337776151daa0bae9e31fcf38381e127301ed108f92b26331d3ba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / ngstrefftz-0.3.2608rc1-cp310-cp310-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2608rc1-cp310-cp310-macosx_10_9_universal2.whl
Size 1.8 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
211f5ae6e268fd96c92fe16a3253be5c4bc2b54917969f87748640b2907e02cc
BLAKE2b-256 checksum
How to use checksums
cc859f97e9a6ae7c651ad1fd1b42b5c272406ad496cdb44ef5699be155998d6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for ngstrefftz 0.3.2608rc1

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.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page