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

⚠️ 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!

Papers using the code

  • 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

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.2404.post156.tar.gz (477.9 kB view details)

Uploaded Source

Built Distributions

ngstrefftz-0.3.2404.post156-cp312-cp312-win_amd64.whl (575.9 kB view details)

Uploaded CPython 3.12 Windows x86-64

ngstrefftz-0.3.2404.post156-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (936.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ngstrefftz-0.3.2404.post156-cp312-cp312-macosx_10_15_universal2.whl (1.6 MB view details)

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

ngstrefftz-0.3.2404.post156-cp311-cp311-win_amd64.whl (572.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

ngstrefftz-0.3.2404.post156-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (934.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ngstrefftz-0.3.2404.post156-cp311-cp311-macosx_10_15_universal2.whl (1.6 MB view details)

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

ngstrefftz-0.3.2404.post156-cp310-cp310-win_amd64.whl (571.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

ngstrefftz-0.3.2404.post156-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (931.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ngstrefftz-0.3.2404.post156-cp310-cp310-macosx_10_15_universal2.whl (1.6 MB view details)

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

ngstrefftz-0.3.2404.post156-cp39-cp39-win_amd64.whl (565.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

ngstrefftz-0.3.2404.post156-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (931.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ngstrefftz-0.3.2404.post156-cp39-cp39-macosx_10_15_universal2.whl (1.6 MB view details)

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

ngstrefftz-0.3.2404.post156-cp38-cp38-win_amd64.whl (571.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

ngstrefftz-0.3.2404.post156-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (930.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ngstrefftz-0.3.2404.post156-cp38-cp38-macosx_10_15_universal2.whl (1.6 MB view details)

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

File details

Details for the file ngstrefftz-0.3.2404.post156.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2404.post156.tar.gz
  • Upload date:
  • Size: 477.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ngstrefftz-0.3.2404.post156.tar.gz
Algorithm Hash digest
SHA256 46d2c66676633f69d421c9062e457e940be76ec88135b68a8911fe1ae2e2208c
MD5 9e4cfe94a45df9d66d70abd0ad47e0d3
BLAKE2b-256 56f4fe93bdde805e67dd71832380e2ee260baf9587a012b77b2f78ecc70ec9d1

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 23f8c69f7eae787a5e16ef5bd95a50997bf2c71189278d56c571911f7dcfe27c
MD5 5f1f7f56650e510796cffd18fd2554c7
BLAKE2b-256 3bbf3bde620ecea04825aa5375b6439ad1192c1a20982c46aae022a627e9bfd2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c17bd0062be0730bbba4847fb5c6a64c4ef99b4a4c563d3a07e32274a7e223d
MD5 f4601ea8ee10c28f942a42cc3e0c07fc
BLAKE2b-256 bcf959cce2297939af7000bc03a27775e20cf20feddcd455e8130a5ae7b297e3

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 99dc9cd1eedf76f9d659eb85151b23d098cd30720ad8fad4fb34cbcbe3f4074e
MD5 7460efd4ffc80e707e49d031c0afd634
BLAKE2b-256 6773adfd5f61d8432875dafdee7e06f3b4cabbdc4d19e565a7d085a9b4106674

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8d599c4690657158e49a2b3074f8a30a09ba142ff0b52795a07868ef68aa844c
MD5 b64cea8a26146e78419ddd82d612614f
BLAKE2b-256 5ef81c5031f5c5635dd12cde405e4c39ab46e8e91051c545a4d67198b31d3262

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 053e399b2acf6a7f362ab87fb64f15683f92e959e49d9099b74a4508ffcd7cea
MD5 deb49a1b3621828c666e415828b0836c
BLAKE2b-256 778a6c8bbe52dec1be53c9311e6f48baf13666a52d9cb9f028e2fc774bc55dc8

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a5a3bcc4122293b4ffad68a5ade69cfe7086c9464c95c4d083bf5e4db2983083
MD5 8b1a04dd57761159b73704c0079bfd2d
BLAKE2b-256 486ae82910f2023039b07fd33e054de00ca46d9f108c78a5fed14377126d3402

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7ba77a84011c74eb0ef9430169ac77b0bf805f48cce8f971ff2ba3799843c658
MD5 d755e5fb80b5270961fefe4f704482d8
BLAKE2b-256 b3bbb481641c04b46bebf5a038e2f2ae95fc831618673fdabae90cd32b19338e

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7280b95433c36315f925eed1af8fc3a44653a2fe6b56d3c7c70c885fc0ce7ee3
MD5 02805f121b07239baec3adb39ec44e35
BLAKE2b-256 8c7fed3f3f7e538fac53b53feac6343e9038bf240790f6e0125ace20448a5d59

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4e7f7b7af239776a4adbca8e08129f6d9ab8d0c662c9be6dcb2a3679532b304b
MD5 60785f5c1c27ce7bf29f5a139f85f53c
BLAKE2b-256 72a4dd8833fdf74cc1c02a42bd273f121562e9049f7dbd46d014fd6c2342f9b2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3f4d75770a8d7496b229df0f5e65f3a79400f2a7a100f64787a44fe923b35e49
MD5 7d537331aedb2afa4dcea25823104e52
BLAKE2b-256 26c5126a685dc19f53165396bea8008442701d8fde4b261e6a09d2df4d206b72

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8e7c8f2793a282f69f5dfb7319ced1b501f784c4cbd06f5e4d93f0b83f92794
MD5 4bfa7b61e42441311e178048e58bce84
BLAKE2b-256 41d58dfcbf35f30ef4f043e472b44ba161fbe591c8eecaa127b7e7d165283e9f

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fd380434fc4be521f69cd5e6aa4a107761ee38b75105c3ef26c296581674a173
MD5 82790e12b1ef76908bac3c583a3558f6
BLAKE2b-256 b9b156d511d7d770b5057765b304055877a6a2763bad486992d72eadb8aaa802

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 40774f4297d2d221fc58daad4d06cff41f5b8966edb4a202d13b462ad5a2c4dd
MD5 9aaef9d8ff81e65ec80d523b2f3c3b74
BLAKE2b-256 79b662037718f0a4ae964195960946c1e71f0364f8d82bb7b695665c2dc90aeb

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74045c94310d4788de28271e1a2a6ec92a1802c45912097ecafc3ab23ab51605
MD5 41bb7ed8b8db30e4574412c638bd13ca
BLAKE2b-256 1dcc7c4c597bc5dceaa62e34619d309b15e045be47e26360adcc1d1feceb2820

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2404.post156-cp38-cp38-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2404.post156-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f12b8dfe6f2a54d9a17ed43c419211bdf01710dde8c7fedbd2688da2287f4fe1
MD5 21a0d6ff1ee167843a2cc31a8dc4fdcf
BLAKE2b-256 14945a90da1671499505a42541c483f013cdffb65ce9dec6294679f59d09e316

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page