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.dev11.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.2602.dev11-cp314-cp314-win_amd64.whl (725.6 kB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2602.dev11-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.dev11-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.dev11-cp312-cp312-win_amd64.whl (702.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2602.dev11-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.dev11-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.dev11-cp311-cp311-win_amd64.whl (700.7 kB view details)

Uploaded CPython 3.11Windows x86-64

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

File metadata

  • Download URL: ngstrefftz-0.3.2602.dev11.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.2602.dev11.tar.gz
Algorithm Hash digest
SHA256 b6a02fe3ce27aaf22f9ff5c9983f5ad1b0110913d6069c5db56da8526a04fe6c
MD5 424a5d87787efd6d9a7d472de8cf98e1
BLAKE2b-256 914dba13233b667eab6275f6ca82f512d1a7bba2c19be1e1073609111b7fc390

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 777936a851e788fa15f33eb820e4e3a3fa98bb6848a9096f0eb4d7ec64544438
MD5 cd9ceca0265b2bdc5c43892003f5a751
BLAKE2b-256 d4eb6a5533b377d0549d8df5aa37f3a97880c38a9d756a229dc9b93bb01f23ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c18a34f432dba53d8fbccfbbfca592233f009f74dbc0f0fc5cec097b639e2f0d
MD5 40b30e6d84b9efac01019bb5bd050b73
BLAKE2b-256 b7eb6a29e9a66137ba38a6d74d15ab6beceecbe9953562d7d7beed73b2c81a03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d5ee0ee055a18d77f05d5c6457c900f0721177ccfcebd3bb25af64addc37e719
MD5 d5791a4de25891c942bd0b7d113d4c42
BLAKE2b-256 2b46b9df8bf84e5f4cd0eebe64be85c0bd08e976eebfe388db504e3f7196ce54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6b50f1ad35f9c577bdf813b1b30e041036a58535cadc54a983b34be9724d97c4
MD5 f43af1aad00c2b3fa4df7594ebaa6f3d
BLAKE2b-256 2ce3e22f3f9476edeb07be471344febe536f6b8467d6d9382db11459c6c49ea0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77540a4613fa4488625047b9266fb4c5d08a36f54bd61494342708383dc7562f
MD5 89d8cf8b77301093735a61fd7fe07e44
BLAKE2b-256 f3c91b36cca5c9e917d7169cde0bfbd9a4ac3bef590b898612736652e45cac0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ef7099666f6bbbd0b08afdf8415704e1c0f1b36b7b1c0955ac13d7ec511a9710
MD5 2e83d22e1c209e61b91eb27babbc1c54
BLAKE2b-256 233aada7944a1d16f9f4b88f3c471616e20ebe2fc0ae197e455d1243080c3192

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f319469fac7b64eb1780e8786d9ffa349d05f42de93e0c043e07aae6c0677292
MD5 4dd7bd216ffe78efafa65bb31c298ebd
BLAKE2b-256 b8ace19180d4759d60086797e2543bb8c4dfcf10bec11214bc8c04319cc21ef7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d16ee9719fe3ffc479a1972f22b9183ed4291d0c139406fc52ace37b973bec5
MD5 596f6ebd24c0f9d7e54c4223c101c6e6
BLAKE2b-256 88cbc014b7cc25d2a2f440f63e5b16432a9c6e014a418ee1362ec43ca2997648

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2f30dfa77da5d1e9acfbf1de7381321d4969ffa38ab66ec9be33dfc5c0c91b14
MD5 d5d9e62fe73eed7ee30f9822b5b94811
BLAKE2b-256 3d914dd894f7a1f1d18c7d34c618aafc39fe56fdd103da9ce2101bb4e9b8931b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 60b4e65f5e8a01131d970b0316e93a6398c0b07da5610a68f152bd3501438c46
MD5 13bf1d4b4331c9365642aeba21f6cd02
BLAKE2b-256 7bd56c2c3b548d22bfc953d7ff76f0697d358a99b47bd2fe697b63b48dc007a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16147282f847e1d9f2512129726010511a9508265bc8ff926460d8a4a50b7058
MD5 5e1ed1f3f2f6b96ca35cfae15ac0fed6
BLAKE2b-256 2baf7a12feb3ffd89c90efc03f7e6bcbb196393e0034f4320d958e6aca6de6dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 aa9d409d67027e75428c64ed8952c4ff83a18da2b689f6b2eaa688150d57635d
MD5 bbf5b1ba127adb2f7b0a2bda3ab5a7ec
BLAKE2b-256 3fa1e27048e03cae91e2dba3717233413d4de5fe8335395ed9269364c5917fb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9958cee047d71875065255d1cfad7793bae547c4405bd9b6e8bd6bd50df2d112
MD5 f7bc9dd6cdc342b5069aa9849f071fa3
BLAKE2b-256 101b6dc2d7b06d9f698d8982be00edfdab79463590681c6c7e920ec0c6f4f48a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev11-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a8be202921f5217396287daa214a469e6e26a601a28b3ec2dd1dcbc9ca8032c1
MD5 98956232060da4d29935a796f9a388a5
BLAKE2b-256 10449b5ca00dfb803da55c9188d1b2f76d678bf674110ae1a4ece111afc9753c

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