Skip to main content

Spacetime tent facilities for solving hyperbolic equations

Project description

Spacetime Tents in NGSolve

This ngstents package is a c++ extension of the NGSolve finite element library, designed to ease experimentation with solvers based on spacetime tents for hyperbolic systems. A python front-end allows new equations (linear or nonlinear conservation laws) to be solved by easily defining required fluxes and numerical fluxes in a few lines of code.

Install

Binary installers are available for linux, mac, and windows (with python >= 3.9).

  • pip install ngstents

But note that the binaries are not generally kept up to date. The recommended option is to build from source (see below).

Build

If you built NGSolve from source, you can build and install ngstents. After cloning this repository, compile the c++ code here and install:

  • cd src
  • mkdir build && cd build
  • cmake -DNGSolve_DIR=<Path2YourNGSolveInstallCMake> ..
  • make install

Use

To start using this code, import the module after installation:

import ngstents

It contains classes named Tent and TentSlab used to partition spacetime into tents. It also has a submodule named conslaw which contains specific pre-programmed hyperbolic equations and also facilities to define and solve new hyperbolic systems using the python interface. Use python's help system to query for documentation on each object. The demo folder contains example scripts. The docs folder contains more documentation, explained next.

Documentation

Read the docs online. This documentation is generated from hands-on style tutorial notebooks in the docs folder.

Offline, to build and test the docs locally, navigate to the ngstents/docs folder and run these:

  • pip install -r requirements.txt
  • sphinx-build -b html . _build_docs

You can then open the docs from ngstents/docs/_build_docs/INDEX.html.

Check

If you extend the code, your new code changes can be cross-checked against a test suite provided in the 'tests' folder. For example, if you have pytest installed, move to the ngstents/tests folder and use pytest:

  • pytest .

Organization

  • src: c++ source code
  • py: python packaging files
  • doc: tutorials and explanations
  • demo: examples of applications
  • tests: test suite

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

ngstents-0.1.dev407.tar.gz (352.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ngstents-0.1.dev407-cp312-cp312-win_amd64.whl (768.3 kB view details)

Uploaded CPython 3.12Windows x86-64

ngstents-0.1.dev407-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ngstents-0.1.dev407-cp312-cp312-macosx_10_15_universal2.whl (3.8 MB view details)

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

ngstents-0.1.dev407-cp311-cp311-win_amd64.whl (765.4 kB view details)

Uploaded CPython 3.11Windows x86-64

ngstents-0.1.dev407-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ngstents-0.1.dev407-cp311-cp311-macosx_10_15_universal2.whl (3.8 MB view details)

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

ngstents-0.1.dev407-cp310-cp310-win_amd64.whl (765.4 kB view details)

Uploaded CPython 3.10Windows x86-64

ngstents-0.1.dev407-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ngstents-0.1.dev407-cp310-cp310-macosx_10_15_universal2.whl (3.8 MB view details)

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

ngstents-0.1.dev407-cp39-cp39-win_amd64.whl (763.9 kB view details)

Uploaded CPython 3.9Windows x86-64

ngstents-0.1.dev407-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

ngstents-0.1.dev407-cp39-cp39-macosx_10_15_universal2.whl (3.8 MB view details)

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

ngstents-0.1.dev407-cp38-cp38-win_amd64.whl (765.2 kB view details)

Uploaded CPython 3.8Windows x86-64

ngstents-0.1.dev407-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

ngstents-0.1.dev407-cp38-cp38-macosx_10_15_universal2.whl (3.8 MB view details)

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

File details

Details for the file ngstents-0.1.dev407.tar.gz.

File metadata

  • Download URL: ngstents-0.1.dev407.tar.gz
  • Upload date:
  • Size: 352.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ngstents-0.1.dev407.tar.gz
Algorithm Hash digest
SHA256 a2c2b72f8a15572085464c43c914c8ad7f1cf73c1ee49728548067f9af39bd4f
MD5 6964968b5d9e414e5ffc987329297472
BLAKE2b-256 d8c07066a8c3f63f51aafa7e515d2e9cc30fec578d285ab339cf5d8dfc7ca4c7

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bb126c20da501cc456f8e4d7e47eee2fb9c3e50ea8a37de4d3a22bf8647d87cd
MD5 7f2c8b329191dbb69555818769a74ada
BLAKE2b-256 97d0f021481d0df071c4ce1d6d6c03a01b33386f61d86bc4aa1e0da709b2c588

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f972275b2546e206f41ddbbe0d5935097a297dcfa6f576d0d5af45b7596962ee
MD5 aad3aab121cc1d4b7a43d6ffc3cf6f17
BLAKE2b-256 57fbeb4cb810f9392102ff748a5bd1723c3ec5521996cdc2aaaf9f5118160f2f

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 dfd6d4896c0c7ae36033af9576c832dc851733237875507d8c3aac9c6817ff99
MD5 a32efed793be1f705667f8c6225d4c27
BLAKE2b-256 eee2af7bcd0cdc2c8702f479e5b7078d96b57d94c257e2b87515cd3ca005e5d5

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66d7041ea6faedf73a2920054b7de501b63706426d759cec6093d5237c6f4f15
MD5 b37e580b06b0675e73f268124d7b03c2
BLAKE2b-256 1af825e12b21e195247cbd27abb9eb138c2ef3a813e73048dab079d58c4b6039

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc5df9323144be2ad88b8eadd2f14acdd693aa378d4a1fc31e4af7d7601da32f
MD5 552e180201f1cea0b8a4bd91fab05390
BLAKE2b-256 4d10b82fe7be66c7780bc195f43b961bed8239be51d47647fa4174cc966b665c

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5c96fa662f64a1257df2b1aa1f388bee50a382ade5e8c879a568a4b8c49bedac
MD5 bb4574b00781435ef84538cd129f48a9
BLAKE2b-256 c75ac67535ed4020ed26343946a9007901da64271a74c8f8a6db4d5509881e0e

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e4022169d5b671b6f511ef28253b9639664556a94b5faee32e810e00e46eb6dd
MD5 d3aa9b441747493829ce4c8fa01fc575
BLAKE2b-256 3ae3cb9031ab93c4b6a5592e68880233a9a2261cfa982d6d8ec128b6ab91a209

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 189d3b3a4702f24b7c6d39727a108b3c6539a69c7d45ff0ba086ffd772229cbe
MD5 b78d9f24727a2d747bc318450a1b57d3
BLAKE2b-256 c824c6390c449b96a23a7c734950ff11f206d8f265c5e718d2cbac2821006a5f

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e7fa5e08393b59281400481465b2c86d6ab0294995722ab5506c36947f1226eb
MD5 ed408deb8dcea9a018e4fa49fa736585
BLAKE2b-256 3b1f3dcfe710081e6f92de9115f49f096c40dd3ee3b1dae460b3e4608692183c

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7045b937bc353f917c3d6ac4a9233177c15690f29c62c6482bda6a76f7d4db34
MD5 116d469dda3e33fd71d3bd9628e1e1d4
BLAKE2b-256 76f9fe1ca23cae367e970c36a4a345c11a84c922b83cedd7913ae6d06baaf36b

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a25242327082829b073efba73f83efd1d723f8bc13378dea706aefc31e412de1
MD5 8b751edbb7b6e902ecd2646931d78a85
BLAKE2b-256 d2aac441bb04518f02eac4293dca4d0c4b06d0c5273343043d6d0a43eb4f09ab

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6f8178d3801291d4990fa45713f53cc3827cda907ed5452ad12d3d0d50f5c4c5
MD5 a9139febd900a78b397866f7c77e8c6c
BLAKE2b-256 94f9e6c1b63f20efb83757df26398380b527f9e056c4a14be22b83245e856c67

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 03e14a130263a9575407393b41aa71bd49b480f99698b119d5abafb9fa56ba87
MD5 0815f98d045d3d496dd26d6e586889e6
BLAKE2b-256 44cabdd1ed69ea0b677d2fcfb7dfd97e3bf446755d33aa5e6d188f8593c2a3f3

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a06c4576c2cf5e0755c760082c2dda6135cea8fadf8eb9dd40901e922cd05c59
MD5 652e17261abb1e7a8eaf7024c584fb3f
BLAKE2b-256 568acc681332bc85cd6c4fd21d3f2580bb23050edea51561c469452390a21099

See more details on using hashes here.

File details

Details for the file ngstents-0.1.dev407-cp38-cp38-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ngstents-0.1.dev407-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5bfc6d80ac97bea69eaab74be64f0d3cf5b48d83a3e69b44783c29c0ee2b2aed
MD5 8379cab88f77383e2c07620a0b81cd70
BLAKE2b-256 40ff8c92dd68c4d8b9b36053983a1ff8df703cad01aad59bd8eb280262cb9bbb

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