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.2507.dev28.tar.gz (502.6 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.2507.dev28-cp314-cp314-win_amd64.whl (725.0 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2507.dev28-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.2507.dev28-cp314-cp314-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev28-cp313-cp313-win_amd64.whl (702.2 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2507.dev28-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.2507.dev28-cp313-cp313-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev28-cp312-cp312-win_amd64.whl (702.3 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2507.dev28-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.2507.dev28-cp312-cp312-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev28-cp311-cp311-win_amd64.whl (701.8 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2507.dev28-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.2507.dev28-cp311-cp311-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev28-cp310-cp310-win_amd64.whl (700.9 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev28-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.2507.dev28-cp310-cp310-macosx_10_15_universal2.whl (1.9 MB view details)

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

File details

Details for the file ngstrefftz-0.3.2507.dev28.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev28.tar.gz
  • Upload date:
  • Size: 502.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ngstrefftz-0.3.2507.dev28.tar.gz
Algorithm Hash digest
SHA256 07026715fa3949ae8caea8df5f28c022bc133124e90a40cc18eaa0f76234b3d7
MD5 d80b3116ac960159b05ba0fbee3fd06c
BLAKE2b-256 506d3d99d92cb2f4fb8a70afddae44a43a9abc41a5e930a67352535187d7d0b3

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 df6ee16a330e6d26bc63f3facc325b6cc5c65e69d1b00e44ebd82719a648465e
MD5 0ce1da8e10359fd86adb180b964c97da
BLAKE2b-256 3e5748fabbab3f1881554d34a7a7e5aa95cf5b05500977d337459683d0d242ee

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f332b6840f48d68c24e09a9c4e00820b5925d8607d02067e2d840e3fa4ada8d
MD5 c262d651a054ef4491f7e1c3afde5622
BLAKE2b-256 fe786587ddde082118e1117fa8c1a85a4006d1131c0a063943cd71ac3b3044bf

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b003879c8f5ce880e91e8c3126a0cd08c338e5937592934ce9c6ec148920de8f
MD5 c2692bf2e30504f845a4544fbb0153a1
BLAKE2b-256 7645fd4dc0699bac34ac4ee8eccbabd34f7ce5871620f7cc3c2b823723719cf4

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0a5e8111f92abc18788c0e211e6ebd94645076d57848a2427fa3104761f6a524
MD5 8385cc02d73c402a238ca9dc4374e5f7
BLAKE2b-256 3c891f547a84c0ca55550a019b3a8466c30b948790cd978b8276ffa0efb5f269

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ea2a250fb09d010e6177b55b6eba0086ec00c0cd407dbcd54feb2747564dad
MD5 6b8ce0e39b9bbf2acaa5a92ffa244999
BLAKE2b-256 d5f20d1340d1dc6708d6187bc7f7b261c4d277d646586cab670688d76df69e9b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp313-cp313-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a434fe62fb0c8f40c9ef43ec8b6d963a2bf70179a4fc2080896750e4cd552fe6
MD5 72f5b0600c21d335bb33de0db7e14d54
BLAKE2b-256 138ebb3fc2047d3b105e9e2faeafeb17bcf7a1ae72fdc38899badec371dd34fd

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 064b3c190a2cfc554c5e06199c6997ffdbeaededdfde52238301eb4d81031235
MD5 2a76cb7693bdc57510923f2dd8301307
BLAKE2b-256 03a5adef1f16eda1d030d4f49ee89c416c1aab3c8788a8b37ca0fe4279602252

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71d24080ba5e01d5661ef7918664882557b57d6af1929ddf2dcc3615c3a30b06
MD5 ab8c0e7b3eb34bb95a94f8165e088d37
BLAKE2b-256 9e39cfe021217bcb7d1163873328f329c1725454934d69be3474bc226a468a0b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b734381f4e6161450e4baaa5ca5c5901ddfd47ce0521b0d50d1371c6bb2bd211
MD5 0929ab4efeca8d4fe77ec6d63bc311f4
BLAKE2b-256 328103d8bfdbd16a733f9aa8adceccf7a0bf96f921c1dc196b7207c4736a2a11

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6cb02993bc7474ba1bdcbd270fe7c084ebc8b4e4ac87347aa58a37ffa1f09c1f
MD5 c79bf571b78b384b59d1ffd203c111a9
BLAKE2b-256 599cfaa92c1a660ddf91de7d8e524ab38a1d3820334e07f0bb2f70f329d0614b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55e99a445a950cc4fa8bb56cac5630607ed692ed310928ab9d9b3ed01a27f5cc
MD5 d5fe5ef81f6c1a35c260640c203c8f6f
BLAKE2b-256 86e1b2df28a6986a86d065517ab5878a1f2d635e4cd26170b4b030eb257fbdf4

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 8cda9013da74ff06a18b38933ea9085fdd65d9f051caa385dd660b26cd2ecc5c
MD5 27cc252c96daf4b611499232ff68e718
BLAKE2b-256 fc7a136acc8dff4dce8bc2c125697ce0d3030097732de0a94e1e35a1056a87f5

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 044ccd7535c1385bdaca36346a1b75bf6e9a06053f5c7533b5e9df3efb353aa4
MD5 c0d96a48777f80910ae616914e9f7b5e
BLAKE2b-256 ae5c51fa37515050c051b9b202c6d64570ab45a684cd8e3bd63bdfe042cc0e81

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e42d954db9816b83a11789743be5adffd5c57fb1915e8c51c777efd3b3404bbf
MD5 6e4f95ddca329daea760c7192a19a2c6
BLAKE2b-256 edca054cd71449a9c12d7f967743788d84db3a0b09e4cb3e0ab0bdc4c1fcc9fe

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev28-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev28-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f6f10022906d9742598487b16d8c4a07dd77b44c299d9447dab497c1dae667a6
MD5 1ad0ff5c867a7cacec43ca89b91762d8
BLAKE2b-256 42c3ca4a275425595b2c268bed57f4e85d8155334cc1ac7269da987d5006660d

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