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!

You can try out some jupyter notebooks:

  • Launch the Binder here:
    Binder
  • Or run the docker locally (you need to have docker installed):
git clone https://github.com/PaulSt/NGSTrefftz
cd NGSTrefftz && docker build -t ngstrefftz_jupyter .
docker run -p 8888:8888 ngstrefftz_jupyter

Installing the package

You can either:

  • install using pip
pip install ngstrefftz
  • or build from source
git clone --recursive https://github.com/PaulSt/NGSTrefftz
mkdir ./NGSTrefftz/make && cd ./NGSTrefftz/make
cmake ../ && make install

Dependencies

  • if you are using pip to install the package you can install the newest ngsolve and other dependencies using
pip install ngsolve --pre
  • if you build the package from source the following software needs to be installed
    • cmake >= 3.1
    • gcc >= 9 or clang >= 10
    • lapack >= 3.9 (required to access the newest features)
    • ngsolve >= 6.2 (to access the newest features the nightly version of NGSolve works best)

News

⚠️ Apr, 2025: TrefftzEmbedding has a new interface, please check the documentation for details.

🚀 Jul, 2024: Conforming Trefftz embedding implementation by @johann-cm

⚠️ 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: Three different 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 using the code

  • 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
  • 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

If you are using ngstrefftz in your academic work, please consider citing

Stocker, P., (2022). NGSTrefftz: Add-on to NGSolve for Trefftz methods. 
Journal of Open Source Software, 7(71), 4135, https://doi.org/10.21105/joss.04135

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.2602.dev5.tar.gz (503.1 kB 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.2602.dev5-cp314-cp314-win_amd64.whl (726.6 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2602.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.2602.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.2602.dev5-cp313-cp313-win_amd64.whl (703.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2602.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.2602.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.2602.dev5-cp312-cp312-win_amd64.whl (703.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2602.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.2602.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.2602.dev5-cp311-cp311-win_amd64.whl (703.4 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2602.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.2602.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.2602.dev5-cp310-cp310-win_amd64.whl (702.5 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2602.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.2602.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.2602.dev5.tar.gz.

File metadata

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

File hashes

Hashes for ngstrefftz-0.3.2602.dev5.tar.gz
Algorithm Hash digest
SHA256 5b509a5e0f208e47aab351ee0238433e55eb4b2723ddfe34efe5a32fd1ae2ede
MD5 f0bf3bb2d36633be0b2f461069dfe41a
BLAKE2b-256 beeab3c035a73df736d8858f21afe366c7ce06eaf6e8f8210f102f4cc8f3ee17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 85dee4d448e61611dc9f5a79a38416d4e32e01a44cd5f448c7ef1c446888aee4
MD5 0e95b8c879b5dd009eebb432cd57d67c
BLAKE2b-256 f9cf6d7798a553053f22f76f505c254b79373ad8f9cb12cfe7373ca7df787e35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a5580f99315c15009deeefe368e99bfabd015de776232cad310865785ececc2
MD5 efaa09137404b6f8957ab63bf6fb6686
BLAKE2b-256 3b78474d85e279115d2568bba6f44e9f0b30be4ab647f822dacd7472f774a0df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1b1f114a83ccdef3761fa0ce98f86f6f2b7a98c4246885abde30c3d69c1e7a78
MD5 dce37cf8a9c736b6b85b448a417a778d
BLAKE2b-256 ac5a75a7ea37148e2abd316314eada607f8211bd23f5c4527e8b0ae56f277c39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4d998f15c1d86875c11a08f8fe5d59520dd4cb0b5850fd4d6026fadf36275760
MD5 f16dbc3f4f521d3a48e90cfe1ea60329
BLAKE2b-256 4c5738e9c1cfabb276022e48bfec0c35434f402f0e012c27595c5bbc345e0e1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 34bf08cf3ba63aa64ce8804b3b20e2f1795f88d420a077b8ceaf7038ee0bf765
MD5 0614e2de1a9d89c9a252c1f0a76f7b0d
BLAKE2b-256 06cfb82b7760f5d94a99996c364bbbc397959f9e71b9fe5c1c453a8747fd61f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5355f30049d66dfd719f48bb16c9b40736954d550ff8f9ed611ff67fbe48840e
MD5 e863bd7a663128a6be414e8c378d7eed
BLAKE2b-256 5c1b8dd75c2470a78bff603e6f98620bfb94e7bde4caa43b1608f81478cc516d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 98baf7e7f4c2e775db86b7c56f866316b116de79aadd853e2d5c86b368cac30e
MD5 6a26c303a00cb0012b69f542d1c8f072
BLAKE2b-256 5221427b2f663258586afababfac3d877af8700747c93b51b7088ce007329cbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6be398b78555ebc8ff5d74798cecea8cbce924697d0759ebac7e851ddfdefc6c
MD5 4af88d8aedbf5af10da3e81db5a900b5
BLAKE2b-256 03c1f653c7f21c3efbe7d7c3ebad52edf711fa3c6bab22727edd827aeb471119

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 aab7dd1d80ee955f120c4695f307469e4f3744b51c3d37c660e6992be418624f
MD5 1157a7510c595d080179610443be156e
BLAKE2b-256 2720bb316103a816e8a9ffee34e932ecb4c9d9fa2006233d2c84d7c26bdfbf4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 70bb0a2a2d6cef9a5e1c01423568e77216df66a6b81c165775fbd89e3fde0e3b
MD5 a467b61d4d614223408ff73438a8b854
BLAKE2b-256 681ed0f76f3e69c8862db631a6ba61091e4911637e22b2460bec9c1f463dbfbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faa08f9c55cff068529f26aa24d70db9e533fc07af75c64685879c2bf3c27109
MD5 7e30c4477e6dafa8fce310f325e65c5e
BLAKE2b-256 6c66efacb0854fe4e72506d970a2d2b489e74151b687d13de163617352617238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 94e8410cdb086f902446ef2b776529439a85026927992063b29c0f0b94f96204
MD5 fc7a41f15af508d38bfa0a433badce28
BLAKE2b-256 2626d982936a0895d84d7b17e7c1bc1bb617ce5c2940e06a53dc58ffabc79c53

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5ab2d72e60ea216493cca6d376ad8b3488b40e7e86cda0986f318901429b4d9e
MD5 7559ce2330e6401ccd52a239c54b6e00
BLAKE2b-256 acdb3cdd599aae46df5a66ad37dbf71066a08e998e59d172a6b30af9c154ee22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c68490710d65c593831017034c41053de91c04316c8acd77ba420b1578581717
MD5 991870526e2d52a404ff9f79159b6d24
BLAKE2b-256 b541d5e92bff240fb5ce5de35f5798e8ccc8315b5736e44ca20239857e81ac95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c31aec82b075f760e56acc36067693ca0e7198c395270d582b0f1241c4190a91
MD5 edcace937d1065d67e9fdf5affeaa246
BLAKE2b-256 28af2e9a2f0a425e41ecd6611b3af5ae7910c747c7e794f39915a32c547ec198

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