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.2602.dev4.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.2602.dev4-cp314-cp314-win_amd64.whl (725.7 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2602.dev4-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.2602.dev4-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.2602.dev4-cp313-cp313-win_amd64.whl (702.8 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2602.dev4-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.2602.dev4-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.2602.dev4-cp312-cp312-win_amd64.whl (702.7 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2602.dev4-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.2602.dev4-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.2602.dev4-cp311-cp311-win_amd64.whl (702.4 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2602.dev4-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.2602.dev4-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.2602.dev4-cp310-cp310-win_amd64.whl (701.6 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2602.dev4-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.2602.dev4-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.2602.dev4.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2602.dev4.tar.gz
  • Upload date:
  • Size: 502.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ngstrefftz-0.3.2602.dev4.tar.gz
Algorithm Hash digest
SHA256 c32a4d54fc5f705dcecb5cf53179b87e4979aefc6b0b28ab996aef3c10ebc7cb
MD5 996d08822fcff36fa5af7e7318a3f597
BLAKE2b-256 a5b0c3c100d53ec4fff1bb0e9d23a985f8323baf6cd8094a87e840680bba07b6

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6c760d6c78d0f4ed35d9b0f5f44fa8d3f2b0c9d15774bc1edf77d41f7fef765e
MD5 f03497c6ef72304154189a5c9b398096
BLAKE2b-256 d8d399a2599e91c459b621531962b97d85b9a7454de804c21c34d67da56fc48d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5ff26656a02ad4b31d7c15c7ed5f351a3b82a4cd3d186f13ff9410e520908c8
MD5 709451e027aa9063c3cb7fc07037b4f3
BLAKE2b-256 2a5f9e29dfca53dfe4e4de31e38dc8bfd9461c415cbf24e9bb108f167a9fc037

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6573b829bcf38c2e59f4dc93903f6a6df45ef3b2637a9d89c2c092dfbf048993
MD5 f1bffca8ba33a35a2fe34cfb3a9f397b
BLAKE2b-256 49aaf3c2ce447d4b02f8516d1272cd4b4983d12f926fb295e5637b845a0f99f2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4098811e0593582504376163410bf69d443220be5e970ea4829fc058402084ea
MD5 e18cfe65b012f47ad8cfb1d4b64b51bc
BLAKE2b-256 06fcd5e79ebdeedcddd2e0729eff003d5a741b9a3d3ac53fa2ae9bb43c2d2cc2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53174a55ef3217357fc0731c93df9f5e6ff90f27255de0fe74a2bd3e581b0433
MD5 562751929abb2291bc0b868a3c986c0f
BLAKE2b-256 06af3f0b8a0775011b797802bdc3b50caeff9e9b1a880665d71a0cbbe011c029

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6d67ead86d66d317849c4334479e99852c002da020c8f5ec45d88e0e0afe4e90
MD5 18b75a0dd97e08e937e91a35fed64100
BLAKE2b-256 3685848eb1b13420349a38d17314f61b431ade67e2f8f2359fc7ecb193eabba1

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a1c1ebd9811e20e8550bca2614d717b7881a1277a35c904a9c1305320eb4c592
MD5 2c73e9512fa9da3461c6f9f7341155e4
BLAKE2b-256 85c827aee6e6db43b21c0952d914083b0bd5dfe5c4711b030a6c41dbc641970b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03ff687637fccad67d1416d3bca9ead7cc5412664d556d2ca971d6b58658b036
MD5 19c3d3868cf2b6330740c1362a1f2a08
BLAKE2b-256 8db9c4035d39173c0d95f569cdc7712528d15b7f0f0932723bba1553444aec26

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ff950094e20343a219f3c1066379e3b3b91667decf8cb4faffea39e51b069742
MD5 2d663bc86be7c1b8b2bad30d66133ea3
BLAKE2b-256 396fa22714bc8698a7f8e9ebd1a936f16eb625bd34896801e292cfdb16d66643

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4370b331866357cf6d4314b75288944517574b4a9181417ca0a2f2c76eb2ed61
MD5 96b3971887c021839b53192679b4ecdf
BLAKE2b-256 560ace736cceb76c344e28a24ebd4b53e278ef2afa8e9a44e1ab93c7cefd46fa

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2fd7468b95ff2728c9f61477578b9b4dc52284313320ecd7c4025fc3eab7a4a7
MD5 39e45758628a69e1d04c52dc97a030b9
BLAKE2b-256 b9c9befaa4f3186b612c842b775f8f96f2445eb1c271dbfa51d1bdfe192bda9f

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 130ea87884048273eba9474c282ed63facbb056e2a5be963fddb4789dcc6e874
MD5 37d293d96210c69a5bc4a3d80bd7e9fb
BLAKE2b-256 9c30bd6b8fe90205d8fd7b7fe86287be0d737c9f5c86b31ea9f1ad91d6fc960e

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2a67428e13d5c5c4374f876c5f2ee1759f12508cf6f46f657af5474b4579e9f0
MD5 83f154df3933fcaa53255f089102df7d
BLAKE2b-256 d2aec4f8dd72413d6c5acd79046ee8612a9b1bf6b5be903ff29e12990b008bac

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d22a790f52aeb6c76772fdead7f4f2e90de7bc4b5814019cff82798d07c91375
MD5 a1ee0ec30853135c68a85e13744e6dcd
BLAKE2b-256 b567c84662acdca13b12174f0931f2a1c6dbaaa67f7855c64f607fc7ccb50d25

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2602.dev4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2602.dev4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 81c7325d69a302e7c4a2f745bbaaf5162468c91fc4eebed2c17576fa496bfaa8
MD5 fc56252a5a751941c0bfab0ae479ee0c
BLAKE2b-256 8e34533fba2eab2ad70b96ead2825c3364aac9c5f664022eb4ca874abe8f051d

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