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.2607.dev25

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.2607.dev25
File Size Uploaded Provenance Actions
ngstrefftz-0.3.2607.dev25.tar.gz 164.7 kB Without provenance Details for ngstrefftz-0.3.2607.dev25.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ngstrefftz 0.3.2607.dev25
File Actions
ngstrefftz-0.3.2607.dev25-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for ngstrefftz-0.3.2607.dev25-cp314-cp314-win_amd64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp314-cp314-macosx_10_9_universal2.whl
ngstrefftz-0.3.2607.dev25-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for ngstrefftz-0.3.2607.dev25-cp313-cp313-win_amd64.whl
ngstrefftz-0.3.2607.dev25-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for ngstrefftz-0.3.2607.dev25-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp313-cp313-macosx_10_9_universal2.whl
ngstrefftz-0.3.2607.dev25-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for ngstrefftz-0.3.2607.dev25-cp312-cp312-win_amd64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp312-cp312-macosx_10_9_universal2.whl
ngstrefftz-0.3.2607.dev25-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for ngstrefftz-0.3.2607.dev25-cp311-cp311-win_amd64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp311-cp311-macosx_10_9_universal2.whl
ngstrefftz-0.3.2607.dev25-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for ngstrefftz-0.3.2607.dev25-cp310-cp310-win_amd64.whl
ngstrefftz-0.3.2607.dev25-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for ngstrefftz-0.3.2607.dev25-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
ngstrefftz-0.3.2607.dev25-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.2607.dev25-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 19.3 MB

Release files / ngstrefftz-0.3.2607.dev25.tar.gz

Download URL ngstrefftz-0.3.2607.dev25.tar.gz
Size 164.7 kB
Tags Source
SHA-256 checksum
How to use checksums
43279aee2c78d715aa666157385276d2b1034adfb2d7c80514f387d5218714c3
BLAKE2b-256 checksum
How to use checksums
8565a5c74958ecab5af7640950c7b0f68ea5ec23c123031260758ad317f8457e
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.2607.dev25-cp314-cp314-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev25-cp314-cp314-win_amd64.whl
Size 728.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
bc935b5189605595f3598dce90d342388d09b494a66f13783d190b04676ba9c0
BLAKE2b-256 checksum
How to use checksums
ec26dcbe1181632791c5a803201bcc566905e4f5fe97834ce379c4c055bd2f72
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.2607.dev25-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev25-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
3e5eebe9934b34f948a5edc185eb2dfebea978ba791207354440e6d7f51b9fc9
BLAKE2b-256 checksum
How to use checksums
b1e48dbca179444b1451ddebcf063d8cf78b9784b811c63c58d97765290a97a8
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.2607.dev25-cp314-cp314-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev25-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
ed5e9a4dcd223650336880c26de860af22c09e1b8e84b080d20a4ec954613d36
BLAKE2b-256 checksum
How to use checksums
404d5ea86f37945935209370c8ee9684de54155ce0340f70366bdc6531c7476d
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.2607.dev25-cp313-cp313-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev25-cp313-cp313-win_amd64.whl
Size 705.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
61ee0b052aee03c2994a21a96799fa7b94823213aa8c693851c5c4b93f76240d
BLAKE2b-256 checksum
How to use checksums
c62b12f871ff06f783dafc4704e15e2caa287f5baebb2fd6064b0f77ed780020
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.2607.dev25-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev25-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
883dd90697667361c97bd3d398e20380b34061141b08d8754b3cb175b680b6b9
BLAKE2b-256 checksum
How to use checksums
0973913f43eca06503dadbcc90a759adfec1edae93263891c978cb327a27dcff
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.2607.dev25-cp313-cp313-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev25-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
d3f58ede0aea0ebc50aca1904b0012c35e79545d52d838bca7c36f9d7b2e3a7e
BLAKE2b-256 checksum
How to use checksums
37e30da959f2fb8a9ba8edec9f8c483e6c7bb9ad5725678d6be1d6309bbbb913
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.2607.dev25-cp312-cp312-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev25-cp312-cp312-win_amd64.whl
Size 705.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fd773b84f312e42692853ed005df5f1d64989e5edf887fc6c8cf9955396faf7b
BLAKE2b-256 checksum
How to use checksums
ddc8db27fe643b9f97edfcea0a1f390cbccd9df645d020a8fcea173764211811
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.2607.dev25-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev25-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
484149da04755c67e676a71b4d094fc1e361aaaf7ce492555038f48dc0f116f4
BLAKE2b-256 checksum
How to use checksums
b4d15fc1891169535ce1d0b5a08c31765f7d1d957cb86bf21e7242ce3921d99f
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.2607.dev25-cp312-cp312-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev25-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
7dce248cdccc99c9324e6da285f77db93beaa18516511b0ea784d662cb03b8e5
BLAKE2b-256 checksum
How to use checksums
4373faab9107a901020937174cd61b15cda576279e91e0582a84fd1a937f57dd
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.2607.dev25-cp311-cp311-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev25-cp311-cp311-win_amd64.whl
Size 702.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8f50600b8503f4a885867fdfc5ef6a00c85910dc31fc2b397d8d31a2b04e0c69
BLAKE2b-256 checksum
How to use checksums
3632476ec55a1772575ba277286680dacaf35f2f171d40b6abc018132f43c4f6
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.2607.dev25-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev25-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
7d27218c5a188ae8aae5f9b0a2463ef30df5dfb9b8a0c00e75a6c2e93d6761cc
BLAKE2b-256 checksum
How to use checksums
9aa0e43f8c6ac8b7828e52306a24190c5e7fa8f404ff04c3d9b0a4f63a3e3a1d
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.2607.dev25-cp311-cp311-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev25-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
51312be84fd74bde8befcd8a3502dfe6945e63843a92ffb6cf5b227702d5087c
BLAKE2b-256 checksum
How to use checksums
996cdffda533f46f970a35ac680da9a174c2b1379f49c8a079bb07312404cb45
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.2607.dev25-cp310-cp310-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev25-cp310-cp310-win_amd64.whl
Size 701.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2e6c063d3b4c4616d69eb006827a91dd80d237a8079d40c90b847d0fbb8c47ba
BLAKE2b-256 checksum
How to use checksums
28ce358cc2881e4ea665f8471701f3f3223e2e35f4cd831c12bd582604713cb7
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.2607.dev25-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev25-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
b40a3560b6d33faf6f092baf9843060a54ea9310bb6dd8b24b0719ea6d5d321a
BLAKE2b-256 checksum
How to use checksums
0f5e21f05f66918be3001b0ba927643aed34e1efa50458214660fcf93573ba63
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.2607.dev25-cp310-cp310-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev25-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
047d24f1de739f83d0b98f85206e6e51ba5edacd7c15fd008c981eb5aa7f9063
BLAKE2b-256 checksum
How to use checksums
fc6a0e88aae1bb7fbb5349ec87a681b6c6f42243852ed3a2b75a7f870d40f4ee
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.2607.dev25

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