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

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.dev15
File Size Uploaded Provenance
ngstrefftz-0.3.2607.dev15.tar.gz 158.2 kB Without provenance Details

Built distributions (wheels)

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

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.

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