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.dev17.tar.gz (502.9 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.dev17-cp313-cp313-win_amd64.whl (685.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2507.dev17-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.dev17-cp313-cp313-macosx_10_15_universal2.whl (1.8 MB view details)

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

ngstrefftz-0.3.2507.dev17-cp312-cp312-win_amd64.whl (685.3 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2507.dev17-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.dev17-cp312-cp312-macosx_10_15_universal2.whl (1.8 MB view details)

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

ngstrefftz-0.3.2507.dev17-cp311-cp311-win_amd64.whl (685.6 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2507.dev17-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.dev17-cp311-cp311-macosx_10_15_universal2.whl (1.8 MB view details)

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

ngstrefftz-0.3.2507.dev17-cp310-cp310-win_amd64.whl (684.9 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev17-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.dev17-cp310-cp310-macosx_10_15_universal2.whl (1.8 MB view details)

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

ngstrefftz-0.3.2507.dev17-cp39-cp39-win_amd64.whl (699.2 kB view details)

Uploaded CPython 3.9Windows x86-64

ngstrefftz-0.3.2507.dev17-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.dev17-cp39-cp39-macosx_10_15_universal2.whl (1.8 MB view details)

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

File details

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

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev17.tar.gz
  • Upload date:
  • Size: 502.9 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.dev17.tar.gz
Algorithm Hash digest
SHA256 fcb35a25c43d5f5729662b3b699d3a0523a0bac7729a34e01fffe3c2369555ed
MD5 3428a7146422aa1082584644835960cb
BLAKE2b-256 55ae641b6a4cfdecfeb4ebb549a878049dc11a20e13af37a951254697045ee50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 166ef7937a9ba918f3fbea25d03b3b6198c38270a82607f661c6c2bf37e9ed17
MD5 3ccee831faf16a056078678c4c2ef705
BLAKE2b-256 721c8735ece1325da61d75051a83c5eb81153f3d186cce1cc59217a39854f1f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0b7a463eab55f805d830c8e3212e09d8580ef772702b6c8da96a797150b58fd
MD5 18536f2f03681043b8c512c340b4a1c1
BLAKE2b-256 5f303cb102e07570bf13301c41c6bf62727c02edbd59588edaa74fcfffd7b733

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 57ed1160fb9ec477857fedfb10cc08856c3f85d717db9df34eef3eb20fd44bda
MD5 08fa32f11965c976eef2f0b00c55490c
BLAKE2b-256 9975459e2da21eb03c968965dfff8551c3fad303528b28b83b8430dfba57065b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 76885cd5d94141159d04ae6f38c5d8f0233ff49bf54866c31fd09ad6fccc6b8e
MD5 ffdc33350648814d79d8ec2b484d60d0
BLAKE2b-256 923646224e59729fda8b02466ecbf616543ecf60c841f5651cd958c3c39cb9c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc01c9c013ea086673e7c53a5a08f9920442a1d26ebf418a2c8066ffec9849ef
MD5 d5a113d0fee6e2fefa01da70a13624af
BLAKE2b-256 71d355bd06fba93cee4fdf5a346c1c6684df95888bf504b8b24e541f11f3fc99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f56843f228da660d1ab5b69ed98aeac26e436aea89f772b0320f259e36c1f84e
MD5 9197298b35171c354207bc4e19f10520
BLAKE2b-256 cae1cf665259b385b0bd6907188701c644ec1a0dedd40e8735f06d83d4d2dab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 492fc7569ad8ecc3299246b0a7b9fca02d69c826dc8adf4d3589c037f9bc1aa7
MD5 3694f76c7331f84bf9a422893cccbef8
BLAKE2b-256 98cc91d5681bc66be21cd09eaac5b3b2be2c3584baf4c7736625f3a7eac6f180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21b210bac0dfc9cb610b00a66860d5eeec4a4ab142d096ccafb781c58095208f
MD5 92e6478c4a8e5b75d7e34b5908f5d897
BLAKE2b-256 4086d5e7473d0e1b4e7398aae757a2a201a48d84755854cafbb94c9ab6175b00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f91909b3fd998d758ad217523e34ffcd0637cb1ec5c06734190471bc83c7c85d
MD5 70b1176ba07abc9ca448aae6501bccbb
BLAKE2b-256 a2ae7ac88546ce8d366c83ce7e916de32350e1c2d9dc9867eb274aa420514293

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bce3180e565aea50f355a04d9cdb5f5ea2a53d8c4ef7c196a10e51e3b288bdb3
MD5 68e54e75eaf11e85212ba50a81e4aba6
BLAKE2b-256 d8fd5837a9f62f0b4624f7630aa4296463f2a3bed49e23120ed93e7e7e63e1f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a665ad39ceea1519246a98461b3ecd4d33d0659fab886f84a8293a657f5ec738
MD5 a44a167f16f1a21dc8f1e71b11091bdb
BLAKE2b-256 ba742f20a2e6b182a7431520682b4ce33a182fb044e6cd22e6eb194778c2dc03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b5306cb36c34cb81e7c7897b50437df15a6e1d3616c8b986a6f08b2ec90bd800
MD5 d295183a1df122a923d6c9061c7828e5
BLAKE2b-256 5c95baa3023f5391d3eac022fa46d3815f715c3d5b637e35faf25f0e39fe6129

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 72379c61ef9c83fa3b1a49f6da869f24475614839d81c4ee833d6e9883e632c7
MD5 50316381c9d78987f9e9ac643c54b010
BLAKE2b-256 4f366be581077d97aae1aba5238e2dd47f4638a7998cfe1bfbc6d97dc75f4053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp39-cp39-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c42fc03de772cf3eb444744002dae511c35711a129cfb2e5d4e6060ddda0d1e0
MD5 1628a8cd9ee5cb3aa9e8a97944d0a2fe
BLAKE2b-256 5e51b9e831854f88c65a19d1346c4425167b033c72c9b13d5f4426b7239ba1e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev17-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d2be6aba1f098684f2debed17d8c8b1d9190876287157637a0d87b37341e44d1
MD5 b55a91500f8f77b646c134313d3411a9
BLAKE2b-256 82b7ac63dfc9793646a3fdd0a8d40535f176eede1cebf244c89dda1ca221a3d8

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