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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev11-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.dev11-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.dev11-cp39-cp39-win_amd64.whl (698.6 kB view details)

Uploaded CPython 3.9Windows x86-64

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

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev11.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.dev11.tar.gz
Algorithm Hash digest
SHA256 403bdcfa1f12931d4e644910d7ac4db7ffa65d3f6a08aeb99406dad9cfe202f1
MD5 e2dcd2a7a2c1f660b6969b91438f61a4
BLAKE2b-256 e2719ffef49fa4def2c54c331e191b1974660ea33612b40d30002eaf4708f510

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5581ca0c05ea08a6644cdfff74f8abcda1f1717360236ce04f1a71341b0a8e7c
MD5 66e2d7dfcdff5470dc2e8f13523a0926
BLAKE2b-256 f4daec903c04bd52b8a996c188778dde9c937ccd2c2d168d5432bee0658785c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67e2338101e54ae9f3d3d3f36030d246bc508f453cdab5ba29aea84af00abaa0
MD5 7c24d5236537ff2ca2808981c9c5fcf1
BLAKE2b-256 5345a48f5c3f2d4c804ea0714367da748521379ab823b237300278800c1e1e66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 80d395a8fb8c9e5883165f03f145c877c63f10a471691b515e10bb0ec28ec1ae
MD5 4550829c8c182b32da36fe6b37b3539d
BLAKE2b-256 0f1900660e314c167cf5f16bd9e6f1f67b6fde22d0225330b8c78f0b9cfbf9a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 26df04edd6ace012627157730ab200c6e66814c92db679703c7ad8e28aa44322
MD5 dbd25463a778917f6f9a0ace9f7b7bea
BLAKE2b-256 8ddbe24d6dc225333e824ef9045f83fa21fd714c82340872d6150fdc9c21f853

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07223c67ecac38d6ed8d2a9c765be225c587b5fd72e5a2234b5bda3da8f16c8c
MD5 07f3ef566683881d72cf315981e58415
BLAKE2b-256 321fde7f2fe51f01828cdc3a5f197a3ad8185a97d56bb0862303ccf55564dc4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 269d9adfc12491f242721ed33c86ee53084070c1ecea14fd478d5ab02a130503
MD5 e342ef0f44cdaaafca23eee8191d0221
BLAKE2b-256 5547200782fc3041f82283b8b0516dcabd4185e2fbd1046a10abcdb5a04e1d59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f3d93f2fc392180f90b821f2c8e0862e535fb666fcc8364c18ffccfd591086c8
MD5 b9ef62665d00d38f577def33090de1a3
BLAKE2b-256 7a392e61596e8ef995267ceaf1bad31b96215a2215e5b8b52fead5dfb1786d81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9420adda1d9738ba7d847d6631488f77acdfbd611d0d550d92cb568538d85c1
MD5 89886f9661b20a8d4d8a5e3c3a35a26e
BLAKE2b-256 3825f6e89b54ffe3e79360442f5dd768b1a01f83975e45fa7f1dc1db288b3ddb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f04bceb2557fce86f7f00ba23b7497acb80fa46ce76d41c369b759d1954c13e8
MD5 f95974765f722fe3ce734c3179c3b4b8
BLAKE2b-256 b341a435f4a247263ca28a0200e076e5239a403b9eabdb0e56d886a34259d26d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a7a9e202bb0d205c6d70920fb7b4c48e877c7f0c05c898568b857e1505871f6
MD5 a2ebb061155ef395131293ba29b4eab4
BLAKE2b-256 0c3f993c9343bda44627ede0ffa83008135eb1610cdef1c6e60c22f8b31cbf19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83229ac23899161a8989bfdd3b36166613083feec9f71ca475390d95d846da8a
MD5 a622e81e973e12170f6546f1cbac526a
BLAKE2b-256 5d15fc1c5c0900c7fd1ce478d371c5506577a133fc495c72fcbb32a653ca0edb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a0b1722fd049cd5634d59465e78c0de065768f26d8873f9dd7b42c087c819f79
MD5 53f6891ba876e1e184bb53f2d12f35f7
BLAKE2b-256 093db5557bb8edf28dacca2586d7dd49938c46f6e4655f1b1ccf08a2b721ccbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 09c675a96ff7c7dfec88a83268d2d01e76f55c722106a36d0bd575127deb09a2
MD5 5167a75a70d4aa319668fe67b8be4152
BLAKE2b-256 558c52f4ab525b7558a94c808da4b7c73f72ac5b107a54fe358ea72a1e0d9585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5491248d26606bdb0b3925afb53e56c77170f88e87438eed2f15a39dd8fcc5e4
MD5 a3f4e8c69085bc8604b735f85d1872a1
BLAKE2b-256 40da0b40d7aec829b6b6c30244c9b9e7dc37ab3ea0b927795ec22fd5b01d74a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev11-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1504112c65f9b6b106f72b4d21ffc4273d510164265145ac66c79a6b525b00b4
MD5 669180dcbee3b4a1d7b815bf24cf2808
BLAKE2b-256 1aec17f0cee52820b09e9709adc80a4d995f00fa0e50fff95a3233934bd3cb8b

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