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.dev14.tar.gz (502.8 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.dev14-cp313-cp313-win_amd64.whl (685.1 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2507.dev14-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2507.dev14-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.dev14-cp312-cp312-win_amd64.whl (685.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2507.dev14-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2507.dev14-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.dev14-cp311-cp311-win_amd64.whl (685.2 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2507.dev14-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2507.dev14-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.dev14-cp310-cp310-win_amd64.whl (684.7 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev14-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2507.dev14-cp310-cp310-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev14-cp39-cp39-win_amd64.whl (698.8 kB view details)

Uploaded CPython 3.9Windows x86-64

ngstrefftz-0.3.2507.dev14-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

ngstrefftz-0.3.2507.dev14-cp39-cp39-macosx_10_15_universal2.whl (1.9 MB view details)

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

File details

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

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev14.tar.gz
  • Upload date:
  • Size: 502.8 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.dev14.tar.gz
Algorithm Hash digest
SHA256 6f794cb42774b21286cad8e52cc4fee5f74c09fadef3bc7ddc78ee5e5d5d45f5
MD5 4dc03ee63bc0a11ab81294804be6b12c
BLAKE2b-256 1e3b7d32cee54b72a95747db2fc72a79d588c201f3524f27323dff68f8679110

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b648847390b453fee023a66bc730724da672f528ef54b3ccee4361b6c6a59498
MD5 f2f191afc3d7920a43632234c88abe17
BLAKE2b-256 f1765126227aac4ad6f5c422767d8ac188bf960bd86658a6ba57f76534aa5282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 441f8375fc2a640adcd858da9cd408c990399e297f917d65fc67d12e96235c74
MD5 5b3795ead9a244417ff4c0aa7f38ba82
BLAKE2b-256 ca62196e1e224b56bc871daf17184f95d3ab97c8b0c7221c3918bb34918751dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 01cca9f9a861e62d37245d0f099cefd2ea099cd27734d38fecb6509ea788d89f
MD5 c330dc5829fa8347e04f4d70e24efc40
BLAKE2b-256 e8c68bdaaa5a0b8f685b9ddcdb4e8aa54b3a6523d0dd95b273b259961108fa52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5d3e308da6ca3fc3fb5f63dca61adf476a086029fed869b46c7066d30c9196a6
MD5 ffd858c77085f78e5d79e2a5fe41fb81
BLAKE2b-256 4b9be24ea515c6bf0c9200d2d46fb7f5e709b9f2f3b59cf16627ea98fc5c94a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d20d895e02691c5405414bfe17a37e74d213c35700ccbcc41da6f4d4736198db
MD5 8e1ac73a4ef783b24825999e0dbb63d7
BLAKE2b-256 dad09f9ec2dcdd9ee3ffb13cbc76ef061fb57e24699562b925efa2ded56dc95d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5f2d8467b19bbdf25e540857ffc9a818ac90093ef408efc825f810c9d098930f
MD5 8cae3860464c294da78e1baf8d4bce38
BLAKE2b-256 fcdd539046566c5c2e30973fe28f02f778aee91343f57b37403655e70ffba03e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7934f265ecb2f9f9808b2662fedc898644a3d763e0daee577bb26d19cf7f00ab
MD5 0aea12ab2c1209f5e589a0ab89f0a5e7
BLAKE2b-256 39b7b953c0e898a307a110171f2564853a774f0684df09d25bec7296dbb69a27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b329f2e38ccbe21b56011de428361f5a0c189b7c9c643458f4dd74c4a6a1de5
MD5 99d0591eb094d2acb35c39b70198802f
BLAKE2b-256 2406f5315ed7e9867b7ed53c8b13218d5e946f60dcd3bfac013e3b66a206386e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 29bcc8c31a05b679be17f5efdca4302bc766bd852da64f5804412100bd978d4a
MD5 5e264878a6e23201aef7d1d9dede4a2e
BLAKE2b-256 3548059a1278b7140ad7675b4a9e5aec570f32e61e6b5957bb130de6b373fb8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9907a2beecaff3d7458a313be95bfae19d5562fe383be9ac0d51b0ca66e1325c
MD5 83ff2abee6878d172162ae8a6decf262
BLAKE2b-256 cc0cef9ad6ee5c8f91050625c88984206ae7902237bc5426be75e5e0973a0e55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d94adaac67a9e31de0c24da388c538ace3a11238328d5652d4a8d67da30656f
MD5 bb02e46a097e1f1fbff417708d19422c
BLAKE2b-256 36d596a85f875fd5649f18798e20785a06cf8cda70bbeb5b06570c2a06f3300f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a9b507453624c0b9131d7ce4e278308032b87ec858ea611b3f1435b35133a2ef
MD5 df103ea126d2d80c0c1a3752c310e0fe
BLAKE2b-256 e786aa20b50907142439e7b6cc98658143a2b9308b2d9ddede2ac242ac2e5192

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev14-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0b9eeb7d92fdd51ba6707bce27b4ce3d1272eb597a1a1f5dfa384d65007ca30a
MD5 33ecfad49a9b60ad6638670458adf0b3
BLAKE2b-256 5473ee583c2c19ed46094ae7349013b577cadf95a83f1b714b8a263fdd263aff

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev14-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 439d7930e2b9f37f1cc85aab7f294e8329e6dac8045f4f58f8f1c1cbce9089b9
MD5 e699e4fda0cdb8d7052b212d0c66a7ac
BLAKE2b-256 75925b6f698d26837048dbbd2d968bfe05996f208f47101f9e47e79a60424193

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev14-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev14-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6c67a0df1589e757cffbe036d08c4f977b7db3f1b7d2e4e4e573f39b05211c60
MD5 3b0ca725137c028cbad6d71f7fbcb0ae
BLAKE2b-256 518a12305944d3210375ded1b2df510cf4b75e9b987cf8797e3cd753bfd7f8ca

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