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

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2603-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.2603-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.2603-cp313-cp313-win_amd64.whl (702.4 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2603-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.2603-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.2603-cp312-cp312-win_amd64.whl (702.4 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2603-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.2603-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.2603-cp311-cp311-win_amd64.whl (700.6 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2603-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.2603-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.2603-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.2603-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.2603.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2603.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.2603.tar.gz
Algorithm Hash digest
SHA256 616fdcd34516fc1350a844853254da00f5352ba08eb145856931744fe497e560
MD5 853dc71c2b4ab5c5eebdacbcca9f949f
BLAKE2b-256 d2ecc87c762112e29edb8c4e0e021bca075038966ab908b158a780f699fe0374

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ea10cfdd5fbaff4c02c73329e4883ef55e67bf3ec354ac6e4297d849303b1f21
MD5 226d95b49ab5a303defb91765f4e237b
BLAKE2b-256 5594fdb53a6d30fe2c338c4b4112d25e94ee81ab61a86ee8d4bb853e4e564a64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8095100fe26f0cfd2861e10a09451f2fe381e4f542a7a70af2da24bcbfdf281f
MD5 fbba47d634786ec700126103cd683d6c
BLAKE2b-256 9145252856ee39396a2e6aaea020b52b04b1d81c366f859c90322fe95ddf915f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 31c5dc6a5d284e4ea842efb3b3a1043516f4c5965720196ff23f224bbd741c5b
MD5 55b279849779076f04ac9f643e6f346e
BLAKE2b-256 e0a4a2423f9787400d1a6ab98b03bac25c3410c86cd2d74cf2619e0d4da3d3ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8c73ba6bfd38c9224845f96e8a5fd5e0f9387ae03e55269d30ad627a937e19cf
MD5 bae8abdb1bb26af248b4e98bd4a5aeb1
BLAKE2b-256 e6c423eb8c42bc419b785b3888d1464db74bf0082186eb033907aa5426aea6e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba6c72ca46f3b9eae243326f72d3d28c6cba13916940e8ae0a6317224e5edc2b
MD5 09c0f772a87cbac27df7c631b1997bf9
BLAKE2b-256 a20c743809c72d22eb2ae777a950835fed082b5312255c90eb2744ed09470ae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5b72f8b98f81225d4ae8535f06e944b5d130baca7ba84960922e69f79327240d
MD5 2e79acec90595ccead619c925921ee3e
BLAKE2b-256 58551b4e2d260d926f715182753dce2096d3e8550e71b5f2e6fca608e57a6c3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7c0de0e8c3d0d8928d32fcb01d7bc3dac53cc75875ea7fd02f3188842f94fc80
MD5 184b4d03d135639f72fa850e6a9ab459
BLAKE2b-256 8f638367c9c9b3931828f3c2a84acb8a0c66f34abe052a10d3f530878f96c29e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b39c4e90892687ca21d614a04b2e84bf635bde4282c41bb923686cfa31a585c2
MD5 884c66836f65dbaa6d35f11b843d363f
BLAKE2b-256 7417ce3f9965ddac021bddae86a501fe984ca1c3da7a8f82af478cbc2c6b4a32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 20d0f8e63041d1f16403434b30c052a87629cb38e485934bc30e87d7f97682bd
MD5 af67a61dae5a7f7eedc637b04a96a4ba
BLAKE2b-256 5100f0fbb4a9047b7ead2a88b00aae5a2a45ef81771b126a8b91989c8df430c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 05c69ec546011709238109ad63829ae135b01ea29c7eb5baf93881d3d73bc80d
MD5 4e8606c4a9fa26e6a7683c7c4e77a636
BLAKE2b-256 070c33c54f10463cfdda40bb0e09ace79be03101e7abe8f14be555f7dfa552ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 348af504f84ec9a923e20bad45dda7b929e254311b2a77255f9836a86a05b385
MD5 06934113d4aeb0a9c911089cc3163fa4
BLAKE2b-256 d926e18dedceb0e66bbe6f44a6317407e45e2f13ad371d5fdb2ab5b2d706b7a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 86227447ac13e5f86919afcdf80f31c02316c7b6737cf76ccb73f491a6ab62d0
MD5 2e089b38b835a90c3f03155cb63dee3a
BLAKE2b-256 39ad4ac1717debc788772fedc1b911399a58819b10447bd88cd83adb8f2175db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa9d0b9890b4657cfcbbe207c50056a1c4f11e906d6bd08065b8d2811181c55f
MD5 d2bdcf04f0d2a773c09bf7fc3230a398
BLAKE2b-256 30f0963b3fc578e7c7320e7efa530d1f1d1b318772b63e1bfcac03b615bcbb5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2603-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ccceb7010e14d299b65d3100acd8de705412dedb6529b2b3d06ec3b2a16df4c9
MD5 0315129263c61ee5fdfd18de7be7c312
BLAKE2b-256 39a6c9c8208fdb388e65ac51c774a163b52dfdd0e91112eeff57d53460cdc536

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