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.dev19.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.dev19-cp314-cp314-win_amd64.whl (738.1 kB view details)

Uploaded CPython 3.14Windows x86-64

ngstrefftz-0.3.2507.dev19-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.2507.dev19-cp314-cp314-macosx_10_15_universal2.whl (1.9 MB view details)

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

ngstrefftz-0.3.2507.dev19-cp313-cp313-win_amd64.whl (716.9 kB view details)

Uploaded CPython 3.13Windows x86-64

ngstrefftz-0.3.2507.dev19-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.2507.dev19-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.dev19-cp312-cp312-win_amd64.whl (716.9 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstrefftz-0.3.2507.dev19-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.2507.dev19-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.dev19-cp311-cp311-win_amd64.whl (716.2 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstrefftz-0.3.2507.dev19-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.2507.dev19-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.dev19-cp310-cp310-win_amd64.whl (715.7 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstrefftz-0.3.2507.dev19-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.2507.dev19-cp310-cp310-macosx_10_15_universal2.whl (1.9 MB view details)

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

File details

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

File metadata

  • Download URL: ngstrefftz-0.3.2507.dev19.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.dev19.tar.gz
Algorithm Hash digest
SHA256 b9160e260e6db95cdc45c383e179920cee21a88d6159c3bab660d583ff99c8ca
MD5 4bdf828c0482a7fd5ab2825667428e31
BLAKE2b-256 be4294f7ce8254f2a630126a6f46260899d7356deb0a1d5d75f30a42f7a9e7be

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev19-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 75da05c1b69c81f296c7bdc3f5d66adab3c1e7fc9b0e44bfa7b0afc4d7d82c4b
MD5 c36406d046dfd6a370cc93377e17cf74
BLAKE2b-256 e8d51555475fff285ffded4dcd449ab607c07f41f04568688688d900acf67152

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev19-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp314-cp314-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1667c3faddfe8fffdea04564dfa1cf51072d94499e30aa8b46a1a0bf920693c8
MD5 ee2dafac2cf42240c79f746852395548
BLAKE2b-256 b7025172983e7b332756ddfc8d066e5369d5eb25f0ebcb4ad9f40910e38564b1

See more details on using hashes here.

File details

Details for the file ngstrefftz-0.3.2507.dev19-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 01bece0e329e5caa9f521a79109af85f51452298f56792cca1d27e657a476b57
MD5 7f5666c1552c7135f6bac9544decb5f1
BLAKE2b-256 cc5a2987d6cd656b8906259320241e8cd3361d25adcaa441e18cf8da04fe00b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4980e377f47199a17eb4b6bdb5e6a3bf740e0643dd1485ab2c7abdd77f5ecefb
MD5 2ace27e31a82a1e29d9b12dbd0e199e8
BLAKE2b-256 e334d6601723e69d83f50bff23163f7e48f8e47b9ddbcb12dc6ccf68fa1b88c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed31c8946d3673f025e507bc3ce267ccbc49fb583eaa4f479de37afff60ff37a
MD5 a97dd1a33ca08c80200a77e4c524e18d
BLAKE2b-256 a70587c4bba942902e751dfbef47a2b6a86678868c772b455ec667ad78b4946d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 639ad06d15cbaf7d4ea5c9b8d7469e12916e056da038e06822881dfda4e970c5
MD5 6a674dedab274519962a22a52ee93ce0
BLAKE2b-256 1850793147583a5e033866d07f3a153a33367e67b90bcd4945e8a549304a7ecb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2c892868022a617ef2c0afdaf243e2030f189e0dd79e6b5bca01d898d22703a5
MD5 a8815231c8ce2f10f80658a1b77bca05
BLAKE2b-256 f5e86aa98c0d5b7500666a32cd179c5440d2531da0324cb210e0dff694b11d83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp312-cp312-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d73e801b08b524eb6f3b8a062b0ea4e9ed7d81f34aa344b93e3e488af21463d
MD5 6f7758f110270d492eb0ace7c9cef0fa
BLAKE2b-256 2c87ba4a639973fe06f9e3eb7ba59ad70411b7c62a51281c1d79ffa5659d20f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5f78579eb5805df601d25ec492fe93c7ae36b04079c34c3fe65ac0e59dc4a8a0
MD5 43f0412fbbe67226faedecfc22ac80ef
BLAKE2b-256 47cb41d41c900657a9b6ac3229a601381566e21f8fb16ee9874c6df86eaef72b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 19553574a43acb3b87dad1bcd456bd07753aec4c750f3b9459bb49ed7d5a46a5
MD5 a62307a9ac4a8250a2e9730eba5e5a77
BLAKE2b-256 0d8f27ef0a8b1fed934c3f410776350de0571e02fef1d3f3882bd82e49943d29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp311-cp311-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23a68c994ed3f9153d1beaadcb6542fc90f52fd1da5d32e34020f22fd79b1e18
MD5 97240c66b8cabcb58e5330eb5b1de50d
BLAKE2b-256 850fdb9609170079319d9697a898e103a15af90e0c7af6e5021ee610a431ade7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c9da04a51e7046c594811a9f78c93033f7ecc9f2956151851d6bcf6560edbed7
MD5 2f4ed8c0cf913492a0f424aac803c0d9
BLAKE2b-256 7fd022508bb918e3f5e1e4d7a7776f230785e3086f69c0eeddbd46604f701e14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d1bc95179e5a159c0c8efa3a5b54aaf01c8e4f7c64332fcd06ae87b3b50a0931
MD5 0bf53582eb38e8d47af9e75ca7b5fc94
BLAKE2b-256 aba74848c04de1176d4f635afbfccf7f0ed584b6ab7fceef2cbd77d9e2d90080

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp310-cp310-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 793fd0a1d407ad79e7a2009f8ac70e4692100cb07eef04f2973148490f9975da
MD5 965669ff3b482066a5de56bef7a14206
BLAKE2b-256 393d6851e6958c4e80ff188e3a084ab203ca87db72dda17274556ff76c6a9a4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstrefftz-0.3.2507.dev19-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 511ba977e886c0520b281cdef23eeb0a014bf10532eea7e0d75d640d0d7ac7ca
MD5 7f52bfce8a97b0b5e1e9e061d2fb3aa6
BLAKE2b-256 4ec761836a1b25e8328265219120254ccbb222f3227d9af11abcc277a544a87b

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