Skip to main content

NGSTrefftz is an add-on to NGSolve for Trefftz methods.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ngstrefftz-0.3.2604.dev5.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ngstrefftz-0.3.2604.dev5-cp314-cp314-win_amd64.whl (759.4 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2604.dev5-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2604.dev5-cp314-cp314-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2604.dev5-cp313-cp313-win_amd64.whl (737.1 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2604.dev5-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2604.dev5-cp313-cp313-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2604.dev5-cp312-cp312-win_amd64.whl (737.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2604.dev5-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2604.dev5-cp312-cp312-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2604.dev5-cp311-cp311-win_amd64.whl (733.6 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2604.dev5-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2604.dev5-cp311-cp311-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

ngstrefftz-0.3.2604.dev5-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2604.dev5-cp310-cp310-macosx_10_9_universal2.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file ngstrefftz-0.3.2604.dev5.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2604.dev5.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ngstrefftz-0.3.2604.dev5.tar.gz
Algorithm Hash digest
SHA256 274fddc9abb997a39bb046ec310338233cd0eb1e10f7d5a5655fa03d0691dd8e
MD5 6d9d409533c1c4a9d191a526102b2c9f
BLAKE2b-256 7ae2d00f9da2a5047923b65ee05f4752bd54bb33162b8fe52a339897b68cab4d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3246da9057fa95377a11da7578315206e3b054498772d360b9b57c261974a494
MD5 9d8397ac1744bb985809af116cf0bbf2
BLAKE2b-256 f363ac91e9155878cd8214d1165b545a682759e9bc01dffea2c13fa9cd405138

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e46b167792b2e77156777e6deff0caeaefc0e2ebd5cfb101d118f576607389f
MD5 e6bc876491aaca6c6ca13e4ef6f99364
BLAKE2b-256 d600711f7b688b9312b80e46f294a09a541597d72e1ba5db3ff93f6e464e7399

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 359047a1dc5b55efe514494f610560d5e40bb7b3cc5406249d6d78820166d7c8
MD5 3f09dc6daf3a3c9fa2ad565af4e30ea8
BLAKE2b-256 4c49d2d2afca686c9758b1ec372ab451c741f75ebfe4f70a7577d653a1d4fedb

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5c6425af27b047f6848b970b6fd402af604914b44c5497dde0edfdc4f723fe38
MD5 b558d94775a509e3e3866cdb1b803054
BLAKE2b-256 8d2c6e6fefaad42cf65d5ef38200c903af01613667691570add30bd1658cb70c

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 debc5fdac7a72f74103a7aba798e82ab0fb27e3dae1ae1af667d97e0563de085
MD5 dcdfdb10abbeb607264bd0551f0bf409
BLAKE2b-256 c7383c99c103375d856a1479ba65eb9c02e661f0fc86cc59dd35b2e57a619234

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e5a6a6f86557edb854d1ad892b6b6e3690e66153077b14df2a74fe52cab3dc6f
MD5 2e6ba6d49f01d27f6d12540f8c2b1194
BLAKE2b-256 c84390ea6014a973e4b8fa6e0a02d7990fa6a6db76a81299c952122e5d012305

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f721f621dcc623777b9d302b387567279eb44621187d989f9ad6717c94e1e67b
MD5 4fb021b21dc04bc044af613e78cbd869
BLAKE2b-256 2fda9813aed7e39a5e2cdd7f6d39db844e8581e4eba8cee850f3b33c37735808

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8db12943cc7e2e2c65c39d67f2dd0b9dd25c024a3b14b60e7ef0b8d1a308a282
MD5 21a342a827a306b161c20e831c07fbbe
BLAKE2b-256 4464c20b5b1a9f1608c3c0b7724feffdbb30289a867b07ff82dcf7f37ba08c61

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 89ce844cb0ac106fd05c242cca93972a401a045c1120d40dc1176289c3f3d257
MD5 b12c40a5947004e7c7c5cf65ab9d32e1
BLAKE2b-256 a6449c67d4a165e9cd64372337e3f5358d54ca8f365e73297a5b3aba6140a4b3

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 47000c73f0d0b15a20bf189881f0d6e96b32e5306ae77ec656084f3604453ba9
MD5 7ea99a19b1ae22675733015d35d11be6
BLAKE2b-256 1f310b9c6a8b73abda1ff6352bd1466d21e2bd2446623632746f9ef139d8a54d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37ad211f70cb0e21853fd33a963651ac886b44f9600d90e482620b4d21b9e45a
MD5 3a96e40dbff127a1ed6941b5299eb616
BLAKE2b-256 1bb18daccc4fc81f9eab4c006142ea38a1564d024a3eaa9ba06e95ef7b5990a9

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2c7054ac39cc108b92d474e3346f78c6c520c6b958669117e5a87f06e310a1d2
MD5 cadc3cc1197d572246bb8e216ac2b96e
BLAKE2b-256 8e7c616165705d7146aba196d54f92ee478bb2ce00afe0a136a67c30cac40885

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89f8955e0ab0e056a463675c8a99b3b247af0bb731bcbba683aa8d893c6554e7
MD5 031f3772862900fe102ceaf8264f7494
BLAKE2b-256 a63670c92b56bb1ed479e10eb7856eea6d014e9067f8f799f196ef7f74771123

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2604.dev5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2604.dev5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2faa9c81dea6d858ccd2e466fbd717d8962fbfd379a684277889d45ca7fbb0e8
MD5 d86ba881708c9b667712fc049bf7eb31
BLAKE2b-256 0577bddaa7a94d9b296edf1476edb3cde9743ab75ddc5f160054fe08fb43281f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page