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.2606.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.2606-cp314-cp314-win_amd64.whl (759.4 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2606-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.2606-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.2606-cp313-cp313-win_amd64.whl (737.0 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2606-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.2606-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.2606-cp312-cp312-win_amd64.whl (737.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2606-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.2606-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.2606-cp311-cp311-win_amd64.whl (733.5 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2606-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.2606-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.2606-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.2606-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.2606.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2606.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.2606.tar.gz
Algorithm Hash digest
SHA256 68569a76500a6abbb9c6d44c01e076f16cf765a616aaf213238ec7d24256d855
MD5 af445e4b735719af8c7929b46b18ad7a
BLAKE2b-256 4a050d57a05f2305269af447c43853fb879ce6d7711eba7ef0131b666a356437

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e4ef953fa566cf1e72c8a0edb4d7037d5528baa3031b8a87cce499cbb651cbec
MD5 d08b763b948dedf88a810d036520cac8
BLAKE2b-256 23ae8f8a5ce576d8939b63535d0add46072769993787c2ee8e3a487b748ee686

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ae085aa17f83fe2ebdea53ab79d1a623a512616bbd55725bb2bbfb8adfc6479
MD5 895a73e75356575a0cf37db40e4ae322
BLAKE2b-256 49ddbc519d86c2f9d60d201748036a2cb518c48609cd51dd71b562d5ea774b5a

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bba89380f33f5cf3748755672e478004e26b7a32c46216ef6224e95ceb25c2ec
MD5 9dca32cf52f41924b24987f7a61fde57
BLAKE2b-256 62ef3ee120513d30773673ecae846347c43492370ea0fb63b6d31ab07bcd4bdb

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b0e936e3db587301e552aa01bd62859c5b339fde87ed406af0fafbc9cd234d94
MD5 b9ec9fdb367122208ecaf5ac46d47383
BLAKE2b-256 8452c1ed64479d204f4893b18f8c12c2700d7f16ff3e2c5b97dc8cb755b3c0c8

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48643b2c55bba7e7d70661fbba3764a9f45d95f0fbb682eb39e106e13803a26b
MD5 773591a136f940ce40693b1b521d2ab8
BLAKE2b-256 393ce2bc7334eeb998ed7d40ba315cc7b7b2a6805e857b4967997b616c10c711

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 577c11c4ff8333b1296268f876bc5c4202c36f8bd396fe986aa09156e25a9d1c
MD5 889c28570479aad604f6d071be231afa
BLAKE2b-256 f0ef5c7700af84964cc2b97fb4eb3edfd0b0b1ef214eb3cc83a5e82423b850fb

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a23c3c658f072ca59500a1a30307aa96839d392c0e78398a40ced4018a29309f
MD5 985db04851d4019db91398181a0bb36f
BLAKE2b-256 b6032a81844cbe635949fc88717f9a800938ffe98944ef513b82a31674b96cff

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37319687d6c494e7618716f4620b9fc3a95fa90077d0b497afbc7bbd9e654861
MD5 a5b99787f97170b36cc56771b9faf19e
BLAKE2b-256 1332e07cccaa05600ebea90d5c140694b8b959811d4c23cb57dc2ff8b5b83a80

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 842ccf22e4f046d49950202ece4a7bcb98c5c6249ebf5c01bbad6377779f65f2
MD5 c591de2a48eb8a6d57c61cac9129e668
BLAKE2b-256 d68e56ed755b626e9e7d66ef369ba3bebdb400a979155c31405c9537fdc6cbb5

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ae5f296b7cecbb2a9afad864aad0b017693b8483787c0a755362a8d0c023839
MD5 23c052ca529ce2be8d1b034c3057a9ab
BLAKE2b-256 137ff2913162251e64d990ede20572424a7086961a691097cd1ddcd0b1879685

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9be9b13559b4c36feae1b430177e15022601da24b3e0020f4cd9d3ae310dbf3f
MD5 689595168cae5c0f3d37215730bff5aa
BLAKE2b-256 a1071b551a329fa9db069ee06952237ae4622f60504ba0b84ee0abdfbd64d5e0

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6849fe0915a35f2acc429c28496b1b34e61a4b41c42bf601f255a797742095b9
MD5 ae0479463c333698bd54d6f569379293
BLAKE2b-256 0d54431c0a7854cb60c6fee8b9728c1543ab616d0949aaa3f674fea0ec2b2640

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37fe44396745638580bf6672850d16e6965401d1116ccf8a0bc9a8bbbf2ea097
MD5 e99f18b4faea6baba9fd86b8a2de750c
BLAKE2b-256 bd152ab8272866e429c818f6a33d0002e435763baee2f72b7f5f953a45b3e59b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2606-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2606-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 66b7e03b6aeb3de8aa93ea0918b9073b8d07f1281482b3137190dbbd8c4fcfc0
MD5 26d3c74b7895570337caee28efa8daaa
BLAKE2b-256 4840db9177e94710add76215e691cd6a41b0e2c9692d02b8f0fee826cb17c0ea

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