Skip to main content

Spacetime tent facilities for solving hyperbolic equations

Project description

Spacetime Tents in NGSolve

This NGS-Tents (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

Build using pip

On a computer with a build system (compiler etc), you can install NGS-Tents by

python3 -m pip install git+https://github.com/jayggg/ngstents.git

If you do not have the dependency ngsolve installed, this command will attempt to install ngsolve first, before proceeding to install ngstents. If you prefer to use your own existing install of ngsolve, please use the --no-build-isolation argument:

python3 -m pip install --no-build-isolation git+https://github.com/jayggg/ngstents.git

Build using CMake

If you built ngsolve from source, you can also build and install ngstents in the traditional manner. After cloning this repository, compile the c++ code here and install as follows:

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

(Often CMake is able to correctly detect the path to your NGSolve installation in which case you do not have to specify the NGSolve_DIR variable.)

Binary install

If you do not have a compiler, then you can install NGS-Tents using a binary installer. To do so on linux, mac, and windows (with python>= 3.9), use the following command.

pip install --pre ngstents

Use

To start using this code's python interface, 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.

Alternately, you can build a jupyter book of the documentation by navigating to the ngstents/docs folder and issuing

jupyter-book build .

which creates documentation in ngstents/docs/_build/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.dev420.tar.gz (353.0 kB view details)

Uploaded Source

Built Distributions

ngstents-0.1.dev420-cp312-cp312-win_amd64.whl (768.7 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

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

ngstents-0.1.dev420-cp311-cp311-win_amd64.whl (765.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

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

ngstents-0.1.dev420-cp310-cp310-win_amd64.whl (765.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

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

ngstents-0.1.dev420-cp39-cp39-win_amd64.whl (764.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

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

ngstents-0.1.dev420-cp38-cp38-win_amd64.whl (765.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

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

File details

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

File metadata

  • Download URL: ngstents-0.1.dev420.tar.gz
  • Upload date:
  • Size: 353.0 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.dev420.tar.gz
Algorithm Hash digest
SHA256 752ba0cfc313225651096dc7be8347a5f01073d6fbcb194795700e4e0a6b3be6
MD5 88570dbb0e85217a3b89ccb663ac6487
BLAKE2b-256 54296ba41c1ce19f4771a401f9dd9f3d618431b147776fffa838542ef14ef9ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5a274aab1d092729089ff69df18610f59c5d306cdde022411f51ff19114a7bf3
MD5 72964190f9059f9eb83ff3270aab9f7d
BLAKE2b-256 a1e9e252c325458f16e24aa3ece0afcde34b4ac146f7bc378e4be0750f7a5478

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 885254e7e6e3abf4e8f7bccb520010329a9812bf3cccb80ccdd1756b92f96bcc
MD5 6ae44c2ae928c3eee7feae84830adafc
BLAKE2b-256 65a75ae4db231149333684f122114d7d0c4616f1582c1dd1a06f9913030cefaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0c826b31478eb09be09033b75ac873b3f342c6b07600c66300e1d71be8bd0646
MD5 abd816ac022587f1faff29ec5c04fbf8
BLAKE2b-256 aee62d2d13480c96d2884c94e30b6582f79f5f73efbe8fa153303c9db8c33d02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 690176abd9cce838f3d714d95c86d68e6cfd6074f312f37cb0a5735926f9b898
MD5 0b52037cbf316ab1e1f87ef7955ba294
BLAKE2b-256 6e5ddd2ae6d4e62bde2a1596dc3dd94135f34d25170ee17d1ed4af8b1d8ee8fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab01e6cc1fcdd5c571d6433dbf5d82af3a9d1c65ecc67b58ef108ace0f04d239
MD5 25b795d0e33e7b39be6b4f737ba8d664
BLAKE2b-256 5abb10cbc22c1bafd3a8db3a500401a532495562f6fb7096b39494c2d14d19b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f097b77059d2768e24959060ccae2592e6806aafdc21ba0d4166a61e3f6e0b1c
MD5 23395984b4eeec28903ec288d44c8494
BLAKE2b-256 b7d848ebc6db3d0ccd34a248134e4d5bc787f2010d8f1836e3428ebd6898cdc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bcd199f894bde1e20dcdc14cdee1d5b10f490acf6a2cb7a538173a78a21f59b6
MD5 c28282e896e222e19ad47a903fc9cede
BLAKE2b-256 375be0408e3f7e91fbe42305115edf05ccc3604b84cdd0ba171e7628c5554a47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce5728a2a912f8e2f3559c47ff672d4e628a2b36e1ee4e0711666a027488b8ad
MD5 90206f1f8e373f65fa1fd1c00c5fc6f0
BLAKE2b-256 21a00c30eaa0d763411970a15153a5696e388d3861851ffd5ad02c407010ff2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c6702db561be80667ce1b01f64f389ed91acfedf32222d3aded45f2084534a24
MD5 e57cf50a5dd50bfb54d7935ca6b09aa8
BLAKE2b-256 c9378e443fc54b867bd0f7b2871d9969188f4f80043997b36d6812b54a8a9623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d7337ec7fc766068c92e302af6e659c5f10e4552e57a4d941dc28a204731a6c
MD5 ac0177dc6cf55e5447b8e6e733b9a199
BLAKE2b-256 0db4f9ae069f30dc2ea313cadc90597f71bb148d84f370f2fa8a8dd09e96fb37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd64a33fc84d2dcf96984f761f5d1ab138030d1428331b69515adc96e75e0f93
MD5 48af234382e329a4c62388710026370b
BLAKE2b-256 6fe703eab85959c11f09495fe0b1225705d843c6a7f2c3898d3a0c2bc71d860d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 bf67e22cc125b8bf1b54203b9a27f85dd6b918d0c0b5211a9fdac07a29887fba
MD5 194d52e4b9ff68e0808fb1cc7d3ac7d7
BLAKE2b-256 d26d1b0987bccce3dcc2253dba5a6b24f09bf237100bdb71be7487a27693567d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 962a9256fe0a7599274277f0b39255f98643be31346c2cbfccc0e8a777df94da
MD5 e53d5ec0e4aea27ea0f2c2556a8c16f2
BLAKE2b-256 f1b72d510455cac33224e8e1d8afa35720befc30897558675e0003d542ca873f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b124d2e5b58ec3b83f908ac2078796e1ee7f66d5e1166cc290fe730af58c9b39
MD5 64ac6d0649aa21fbc73dcc80d1edafa8
BLAKE2b-256 340808f0f302c0ed0c5db5f0f655348e85674cc5101020fb1e42c1104df5863b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev420-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 537be31655def438602bd4f4d260f0178082c1440c1e887ee987a7a793227e05
MD5 4f2486008a13fba25781cc9e400f6b40
BLAKE2b-256 b4c903bc9a7e58125b58b40fc0c03483e300b124d0db5a0effe2ea3da6e1e40b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page