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.dev31.tar.gz (502.7 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.dev31-cp314-cp314-win_amd64.whl (725.1 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2507.dev31-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.dev31-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.2507.dev31-cp313-cp313-win_amd64.whl (702.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2507.dev31-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.dev31-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.2507.dev31-cp312-cp312-win_amd64.whl (702.2 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2507.dev31-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.dev31-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.2507.dev31-cp311-cp311-win_amd64.whl (701.7 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2507.dev31-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.dev31-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.2507.dev31-cp310-cp310-win_amd64.whl (701.0 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev31-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.dev31-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.2507.dev31.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev31.tar.gz
  • Upload date:
  • Size: 502.7 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.dev31.tar.gz
Algorithm Hash digest
SHA256 ac21492ee3060b92818766a8df42dd72d0fdac82d8b69643c9583b8648a0b42f
MD5 4539f5f9adfb94765fed5aafa757ba1c
BLAKE2b-256 6794c15ca2e461ca89ba1603e96d12954e7741cde46e0a193fe627533f4d467c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b35e650062f5c47db23d38dd61780a82573f9a4d33dec1b8a56dd3c3905ec577
MD5 7e059021c84d191c2d05266120784f63
BLAKE2b-256 cae1d4a4c8a05623eb0c72cc6fdfe9e1af92a691375a4ac4da2212cb6aa31212

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69bce08828975729f75b7766af7111b49ea468deab555d78b8a7574a7c0931da
MD5 197a8df5e78f25435d56b1bb5539c964
BLAKE2b-256 7926c9d1c1d2418b4b072f8209ea6d9b2885747132b896df0685d881ef9b809e

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev31-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e0e22016b0922a5d2c8286aa49ead729f72d0f0163f920f929f1dba8a56b29f1
MD5 27187dda3c42298d8bd6fc715fbf07b0
BLAKE2b-256 b6616679ddbf1ce83d96b8a65380964cf7b66b147652ed59a6c713619d110a35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e3ca7476de9686e2e4f6d7b351232c84f14852146c2567883452f2acf51dec3d
MD5 b6983b8e23b7fb1f52bcd5870271ff19
BLAKE2b-256 ab24c6e8d1b92722920aca58f224aa10dbfad7cffe5317cc9baaabbb2fc07984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c8ad36006b45846efc92fb1d147a96804a61832dc9caa9b61bc4b04b22f467f
MD5 2c5aa4fa5adf93c47cf67a1787fac5aa
BLAKE2b-256 0db00c032e970f4c38d5ce2310c1f3883d0fa8d7acceec8d8a446b0bfdc390ec

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev31-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ef6e2df4af964ba3566452d49622468476d3dfc775c728d25df55594e8765599
MD5 60395392fe9dde0d67ecd123ba41ec84
BLAKE2b-256 60bf4e2e9b75516e6e466ce84229b3401ab26e57a0e777b5cdc1c60566d0066a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 85f03c9798588c7001500bfc35a32cbff06aab318f1f6e71095365954bb595c4
MD5 f94beabee47bce3042c5e37bee82cbb7
BLAKE2b-256 6bbef925662bc73c29290258468eb291ea8ab75be1498b3c29c0af8a2a440ad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87ba0998503858a680c37d9b633d7e27070e532497458a3ba41417b42d3e4b6f
MD5 2b2ee268644eb1add3cc4c86567d1ec2
BLAKE2b-256 45f516a0e932683e2eeacb4feb01d89305491f0fe577e19a1f50ed588e627182

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev31-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 01261be5ebc70746207a7327d9e8fa1e895cd5a6377aa98161c294a433df3b63
MD5 4b40435cbe455cfd391d97aa65926074
BLAKE2b-256 4e26bfda30fe0b4ada009a1fc7745b33844525f65545cc18094bb6e6a117c4fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 075658c48eec60446d702b4ea96133b32121c2b136c4d6544a4d36a7d7ead969
MD5 6a4b277a6a836fe645dc0713c7f4b8f4
BLAKE2b-256 7b3e0f8ff3e65cad1e70e9d979bcef202779ed77d6961604d1cd6e4d68170d25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f4ef7466bc9d375a7089354c89b1680ef023499d907130308c665430c49ba59
MD5 b24e093f8823e2db94ea25ff043707d9
BLAKE2b-256 78b2dc324f982a7bea5d4ce9a18495ffd294b895600a4d87c983c976fd6761c9

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev31-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c353939cbb593ab124a4cb72afd8e0f604f137f2175182a88b57ab48f7e5ad3b
MD5 e47561babc40e055ccef4003712504e8
BLAKE2b-256 e56ec808d0c8059f2debb71499c7372c0cc05631c9deac7edca21883b6663ec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 db9c3de897b916101a7c390a281f0727208887652fbd3b3a00c58ba32509ab7d
MD5 6f8d36397f4cbe482d8b87209b6a9c3f
BLAKE2b-256 38dedeaf45384a16ab684c51f5ed8b5e316495e7d1a71073afd05dd14e40f8da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87873e73d93ad72b8624ef7b01ce3bd0770ee3ad0974e42e2fa097711c31e636
MD5 737f2aea8f4dfb61ed0e2cb09de498fd
BLAKE2b-256 3fd6720c28450cd9e8a16f8b4a2e31fc220837ad48074cf90f3955bacd3eca45

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev31-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev31-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c969cf4b540650bf07025899a4d00d8a36a0909763227bb1b0ebf48f0f1e4da3
MD5 1321a9d50f8b46540047fdb4bce821d5
BLAKE2b-256 bc155a89a92b4aed12f0ace2375f0b7cc27f37d997e54d84865f4080a594aef5

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