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.2601.tar.gz (502.6 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.2601-cp314-cp314-win_amd64.whl (725.0 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2601-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.2601-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.2601-cp313-cp313-win_amd64.whl (702.2 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2601-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.2601-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.2601-cp312-cp312-win_amd64.whl (702.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2601-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.2601-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.2601-cp311-cp311-win_amd64.whl (701.7 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2601-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.2601-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.2601-cp310-cp310-win_amd64.whl (701.0 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2601-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.2601-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.2601.tar.gz.

File metadata

  • Download URL: ngstrefftz-0.3.2601.tar.gz
  • Upload date:
  • Size: 502.6 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.2601.tar.gz
Algorithm Hash digest
SHA256 0bde1c02736c023a1f7d3ae2847b871bdb85163c4c4991642558c2c23f235fe2
MD5 718fc37c40ab4dcffac109c191d2482c
BLAKE2b-256 4350ca8938c3914b7da52b56a45bd1d7a75c39e5ad927f0dbb307efa97f6d34d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d687a61524407169977d787f50ee72c3b136dac4f4f5ff6f03e34b0f4dd81182
MD5 fd520cd112b9563237f416d97c71dbfc
BLAKE2b-256 6b061d99c86118b554c99b176c3a0d3f0ec1c89459527ecf71532226801c9bf6

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 160cd3ce0c582b3a46705264db8925f4cc01a405ef40662187f143dc72146734
MD5 1c376f528c077e3e333334c010a346f3
BLAKE2b-256 4975c6f89a38003ce1e4d80fb2096892bba28ce460075437868a8989045fe162

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp314-cp314-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp314-cp314-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bf2a04290a4de5dbad35a0e65b90f13ae08de10edd156726bcfaf15cd6661182
MD5 8606d0edbf2e7019799d2f446c235f44
BLAKE2b-256 32cafe4d95d2fc61e582e556dbecc6e0b2bdece387df9287a1e6bc8625129802

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4e1fb64906817fbfb64f24b7620ce07ec74b2c8bf715fa51223b7c624b275dee
MD5 c72ebb675ab864ff6e088d68d6e1a338
BLAKE2b-256 14946b598c3a551d7b5a0afe68b10631ac9828efbd7bd9be9a9359414921255b

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 656d36bfc1cec1af9aa66a4cd66325a39cb88c47aae37859d5519768bf371d1c
MD5 73381c0d89a06e80bd9515f83a5e0063
BLAKE2b-256 3bc3fcf441e81cddf18ed53080a8549ac5ebde02577a120b75b7465cdbfa0d61

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp313-cp313-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp313-cp313-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7642ebb14efc222d63dfa37846c480be320bcab732ad41ed2e15c23deb17e396
MD5 cdada90b62e20d36a3a0de3d4002b764
BLAKE2b-256 c7afe1cdad13e97260fa51521824728265d96c512f0d9c88cacac2f321175e1d

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 29d8570e994a099feb588acd14c4533d48797a7f3695bcfcbbb45d451ef74d6b
MD5 b5c154a630c135a343e5c2aa8007225d
BLAKE2b-256 e371b910ceb20c6e1f84a976cb1c1364038385ebdf364f30b267bd0be70f91e2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39be2f742792f8f02dfae7854158387cd494d03d5f7a60cf7e4002ae5c37975a
MD5 7a5df0af252fbb9bea03cc541d4dbd51
BLAKE2b-256 91c9d5c74961d4e20b05dd470a72855bce02fd40aa50723c2cb1e80b12fc26ce

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 31cd103b8d0efb309e2169053cad7812da51a35577ef7bca684345d72441901a
MD5 b346c3290285f2123137db3304d04aa4
BLAKE2b-256 da71b90527ca4215d4344def4fa6ed1a35a8e312b6249a8197efede6ad0372e2

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8c62269cd3079c6aa3e0fe2615dcfbc607eebdb0d5c2616e69b70e10bb560d9c
MD5 db35fdfaf9b0feb95d42e48e664e578b
BLAKE2b-256 87f230afa78a59b490fd736ef4d90533686c01fdaee59330d87aaa51a25f2bd0

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0a8559987fbd174dbf2a3912f2fb918c1d61374273a0fb2480b9b3565ee74a6
MD5 32832eea647a9a55cbc7c1fa6785cd61
BLAKE2b-256 0c85c8c34263e7543b973f87ae5ca10949dab36cf1e3430c065da05f7fa74e31

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 713db7e15df412b3d052effb566fce6435779ac614e848bda419dc27486b1d09
MD5 f0f1a203b7eeb56b5f52bdebceda4695
BLAKE2b-256 5c6c7c27b9fc00131b1f3d39c9af9a21001faedcac727f87d03a6b538396755f

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 72f2a2d0a2038eda745e34ed015fa1973a933af64442cae7537ae2c1c064062f
MD5 5eb4ff7befd2d605168af9490af0db4d
BLAKE2b-256 0aaf0eed410f6ad9808c2fdefa0aaa2ea5db65b1264a81b38895d345679161fd

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 989aafa7984b097b75df5320125468aa6d336a32ce84d363c33d0eb077294834
MD5 7dbc60958ba46c92453958ae75e69572
BLAKE2b-256 14d72f64d3efc76e465eb9e17f35ed2dc163fb9379971574c0552e2903cb2516

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2601-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2601-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3b00d40c09c43dab87d8b3053e508be8a02cf1aded3f0e3dc3e993db333d2838
MD5 003de224a26ebd4a40f390029ddeee09
BLAKE2b-256 681e247e8d255292035ffdb857a7c78e8af5ec42d201f90ebc861c1e0c73b161

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