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 codepy
: python packaging filesdoc
: tutorials and explanationsdemo
: examples of applicationstests
: test suite
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 752ba0cfc313225651096dc7be8347a5f01073d6fbcb194795700e4e0a6b3be6 |
|
MD5 | 88570dbb0e85217a3b89ccb663ac6487 |
|
BLAKE2b-256 | 54296ba41c1ce19f4771a401f9dd9f3d618431b147776fffa838542ef14ef9ac |
File details
Details for the file ngstents-0.1.dev420-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 768.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a274aab1d092729089ff69df18610f59c5d306cdde022411f51ff19114a7bf3 |
|
MD5 | 72964190f9059f9eb83ff3270aab9f7d |
|
BLAKE2b-256 | a1e9e252c325458f16e24aa3ece0afcde34b4ac146f7bc378e4be0750f7a5478 |
File details
Details for the file ngstents-0.1.dev420-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 885254e7e6e3abf4e8f7bccb520010329a9812bf3cccb80ccdd1756b92f96bcc |
|
MD5 | 6ae44c2ae928c3eee7feae84830adafc |
|
BLAKE2b-256 | 65a75ae4db231149333684f122114d7d0c4616f1582c1dd1a06f9913030cefaf |
File details
Details for the file ngstents-0.1.dev420-cp312-cp312-macosx_10_15_universal2.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp312-cp312-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.12, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c826b31478eb09be09033b75ac873b3f342c6b07600c66300e1d71be8bd0646 |
|
MD5 | abd816ac022587f1faff29ec5c04fbf8 |
|
BLAKE2b-256 | aee62d2d13480c96d2884c94e30b6582f79f5f73efbe8fa153303c9db8c33d02 |
File details
Details for the file ngstents-0.1.dev420-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 765.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 690176abd9cce838f3d714d95c86d68e6cfd6074f312f37cb0a5735926f9b898 |
|
MD5 | 0b52037cbf316ab1e1f87ef7955ba294 |
|
BLAKE2b-256 | 6e5ddd2ae6d4e62bde2a1596dc3dd94135f34d25170ee17d1ed4af8b1d8ee8fb |
File details
Details for the file ngstents-0.1.dev420-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab01e6cc1fcdd5c571d6433dbf5d82af3a9d1c65ecc67b58ef108ace0f04d239 |
|
MD5 | 25b795d0e33e7b39be6b4f737ba8d664 |
|
BLAKE2b-256 | 5abb10cbc22c1bafd3a8db3a500401a532495562f6fb7096b39494c2d14d19b8 |
File details
Details for the file ngstents-0.1.dev420-cp311-cp311-macosx_10_15_universal2.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp311-cp311-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.11, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f097b77059d2768e24959060ccae2592e6806aafdc21ba0d4166a61e3f6e0b1c |
|
MD5 | 23395984b4eeec28903ec288d44c8494 |
|
BLAKE2b-256 | b7d848ebc6db3d0ccd34a248134e4d5bc787f2010d8f1836e3428ebd6898cdc8 |
File details
Details for the file ngstents-0.1.dev420-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 765.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcd199f894bde1e20dcdc14cdee1d5b10f490acf6a2cb7a538173a78a21f59b6 |
|
MD5 | c28282e896e222e19ad47a903fc9cede |
|
BLAKE2b-256 | 375be0408e3f7e91fbe42305115edf05ccc3604b84cdd0ba171e7628c5554a47 |
File details
Details for the file ngstents-0.1.dev420-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce5728a2a912f8e2f3559c47ff672d4e628a2b36e1ee4e0711666a027488b8ad |
|
MD5 | 90206f1f8e373f65fa1fd1c00c5fc6f0 |
|
BLAKE2b-256 | 21a00c30eaa0d763411970a15153a5696e388d3861851ffd5ad02c407010ff2d |
File details
Details for the file ngstents-0.1.dev420-cp310-cp310-macosx_10_15_universal2.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp310-cp310-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.10, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6702db561be80667ce1b01f64f389ed91acfedf32222d3aded45f2084534a24 |
|
MD5 | e57cf50a5dd50bfb54d7935ca6b09aa8 |
|
BLAKE2b-256 | c9378e443fc54b867bd0f7b2871d9969188f4f80043997b36d6812b54a8a9623 |
File details
Details for the file ngstents-0.1.dev420-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 764.2 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d7337ec7fc766068c92e302af6e659c5f10e4552e57a4d941dc28a204731a6c |
|
MD5 | ac0177dc6cf55e5447b8e6e733b9a199 |
|
BLAKE2b-256 | 0db4f9ae069f30dc2ea313cadc90597f71bb148d84f370f2fa8a8dd09e96fb37 |
File details
Details for the file ngstents-0.1.dev420-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd64a33fc84d2dcf96984f761f5d1ab138030d1428331b69515adc96e75e0f93 |
|
MD5 | 48af234382e329a4c62388710026370b |
|
BLAKE2b-256 | 6fe703eab85959c11f09495fe0b1225705d843c6a7f2c3898d3a0c2bc71d860d |
File details
Details for the file ngstents-0.1.dev420-cp39-cp39-macosx_10_15_universal2.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp39-cp39-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.9, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf67e22cc125b8bf1b54203b9a27f85dd6b918d0c0b5211a9fdac07a29887fba |
|
MD5 | 194d52e4b9ff68e0808fb1cc7d3ac7d7 |
|
BLAKE2b-256 | d26d1b0987bccce3dcc2253dba5a6b24f09bf237100bdb71be7487a27693567d |
File details
Details for the file ngstents-0.1.dev420-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 765.6 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 962a9256fe0a7599274277f0b39255f98643be31346c2cbfccc0e8a777df94da |
|
MD5 | e53d5ec0e4aea27ea0f2c2556a8c16f2 |
|
BLAKE2b-256 | f1b72d510455cac33224e8e1d8afa35720befc30897558675e0003d542ca873f |
File details
Details for the file ngstents-0.1.dev420-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b124d2e5b58ec3b83f908ac2078796e1ee7f66d5e1166cc290fe730af58c9b39 |
|
MD5 | 64ac6d0649aa21fbc73dcc80d1edafa8 |
|
BLAKE2b-256 | 340808f0f302c0ed0c5db5f0f655348e85674cc5101020fb1e42c1104df5863b |
File details
Details for the file ngstents-0.1.dev420-cp38-cp38-macosx_10_15_universal2.whl
.
File metadata
- Download URL: ngstents-0.1.dev420-cp38-cp38-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.8, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 537be31655def438602bd4f4d260f0178082c1440c1e887ee987a7a793227e05 |
|
MD5 | 4f2486008a13fba25781cc9e400f6b40 |
|
BLAKE2b-256 | b4c903bc9a7e58125b58b40fc0c03483e300b124d0db5a0effe2ea3da6e1e40b |