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.dev11

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.dev11
File Size Uploaded Provenance
ngstrefftz-0.3.2607.dev11.tar.gz 1.6 MB Without provenance Details

Built distributions (wheels)

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

Total release size: 20.1 MB

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

Download URL ngstrefftz-0.3.2607.dev11.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
735ab50553abff4686c405abfc82d4ed520b319d0621cc7786810f5b13ec6c0a
BLAKE2b-256 checksum
How to use checksums
69b6c9d0cf6d7d7c24649fb9e56128ab2e7dc18c49153cb2b5c201e994e1f99a
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.dev11-cp314-cp314-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev11-cp314-cp314-win_amd64.whl
Size 723.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
35f43963d09c0135a789d906acf7c71b4ed320fd4f16b69f5f1d276959eeb81d
BLAKE2b-256 checksum
How to use checksums
dcfa3460eab48f39d3f587fc251ae6ec7c3a3e4cddddfa1355bf0bbec2bb8698
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.dev11-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev11-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
312c9c2112125eafa933b94267e06093c2b11da381a0e193ad3b5edbd787e76d
BLAKE2b-256 checksum
How to use checksums
1be72b9af259439f22f5ba48f18329ab921cce6eb2025b77fa3ce0e3e2db4c57
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.dev11-cp314-cp314-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev11-cp314-cp314-macosx_10_9_universal2.whl
Size 1.9 MB
Tags CPython 3.14 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
162e6ae8c4bfa4b1a6edc973d5db0bd742badee24ff786fca9caf36f139caf6b
BLAKE2b-256 checksum
How to use checksums
37c456a9ae12aed4265b9007f6a6887c45da328ee0c1ce683246ddddc91c66fe
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.dev11-cp313-cp313-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev11-cp313-cp313-win_amd64.whl
Size 699.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5eb292da86b37a98503bac4f012dcb8681ef3e42901f63eb8d999857ddb47e0c
BLAKE2b-256 checksum
How to use checksums
23d08871dc5026772c5faa74d96ac95227b3ae99bbf304ff162a4920bd2487cc
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.dev11-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev11-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
209e62db94c0a655cf9f8fa6a6c844a3d0f1a148250fb4cb852c8d1846fb36a9
BLAKE2b-256 checksum
How to use checksums
3fbc4d3829edeb16ff94f70cef72c70c5d8d85e273a1fb56d4a2b8623096350d
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.dev11-cp313-cp313-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev11-cp313-cp313-macosx_10_9_universal2.whl
Size 1.9 MB
Tags CPython 3.13 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
679182a5fe628a978b5e379373a0a2b8255c78fefae58ac54a25660324ebe96c
BLAKE2b-256 checksum
How to use checksums
6e21bf2279aab80d4ebfc78624769582867b7e4911c8d77d98b1e6aff88c08c8
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.dev11-cp312-cp312-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev11-cp312-cp312-win_amd64.whl
Size 699.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
944a1c270fc1dee17a7b08781c23b426811bb4bef9da4b015b77c94946002b5a
BLAKE2b-256 checksum
How to use checksums
34d01a8f7128c8a2362a024e483399ffafa2940e434e1c2eb0ab9e80da6fe5de
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.dev11-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev11-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
a71e8ef4d673f6536f329548e54fd38cd02d2e8aac2538df598d771fdaf0ac1c
BLAKE2b-256 checksum
How to use checksums
17d2274b7fc9b6c9f1bc2132a2a40b5c09ff4f74113b8e063ca7655a64c379f8
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.dev11-cp312-cp312-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev11-cp312-cp312-macosx_10_9_universal2.whl
Size 1.9 MB
Tags CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
90f1d9f03888e7f3a1e4a5eddd86e88c6d3f624e444275882faa0cc0c8987539
BLAKE2b-256 checksum
How to use checksums
bedf56f0d0588dce4feb33c6d2b2720361530e9632621ec238567f9a573e4c0c
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.dev11-cp311-cp311-win_amd64.whl

Download URL ngstrefftz-0.3.2607.dev11-cp311-cp311-win_amd64.whl
Size 696.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8f57997429899a81194ccbd3c64df9cc5fc90718eb18cf10c8228a11bab50215
BLAKE2b-256 checksum
How to use checksums
16193076b6240a8fbc62d123c353ec1c3a38e6cb3e4a255db7998b73ae80700d
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.dev11-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev11-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
855275025e6dcaca73f0fe9a6f21bb869afb5c757e30d8d18df47de17977ada2
BLAKE2b-256 checksum
How to use checksums
0cb9e97c2121272c83bc0531a42bdff4f2afcbfeb358f4c942db6597fbbfc9e9
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.dev11-cp311-cp311-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev11-cp311-cp311-macosx_10_9_universal2.whl
Size 1.9 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
aeafdd73dba042031aa6d952c9c4ad500ca0190e0ad473c548c04c0e8b69bd47
BLAKE2b-256 checksum
How to use checksums
a3a29d5f47ecd65493bba70a47ac1761ae7cb029c3e09a2740c5dbac6d1b4f26
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.dev11-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl

Download URL ngstrefftz-0.3.2607.dev11-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
05a35cfd908c263183d66ff05a3678659099a4b8c1f12491eca14302ea97ed88
BLAKE2b-256 checksum
How to use checksums
4ddcbfac054178680122a8ec9bdc0d13d8a655197868f00499921d250a350cb5
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.dev11-cp310-cp310-macosx_10_9_universal2.whl

Download URL ngstrefftz-0.3.2607.dev11-cp310-cp310-macosx_10_9_universal2.whl
Size 1.9 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0abf6f69565aa0e62de1d45a794380cdc2974a25b1a5371dc317cf972d950330
BLAKE2b-256 checksum
How to use checksums
000f21231db5743694c85dbb44318bd2b3cbb8cfa703016748d42493947378c2
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.dev11

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