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.dev421.tar.gz (353.0 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

ngstents-0.1.dev421-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.dev421-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.dev421-cp311-cp311-win_amd64.whl (765.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

ngstents-0.1.dev421-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.dev421-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.dev421-cp310-cp310-win_amd64.whl (765.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

ngstents-0.1.dev421-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.dev421-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.dev421-cp39-cp39-win_amd64.whl (764.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

ngstents-0.1.dev421-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.dev421-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.dev421-cp38-cp38-win_amd64.whl (765.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

ngstents-0.1.dev421-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.dev421-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.dev421.tar.gz.

File metadata

  • Download URL: ngstents-0.1.dev421.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.dev421.tar.gz
Algorithm Hash digest
SHA256 fff401b4ce1b18ec4751e7022d2299a71a64de241e2160bddff51667bbcbe667
MD5 d4837cd32996e98104cf3f114e60d9bc
BLAKE2b-256 3996266ce42981cc4fc5aa30ce408bb2feed5c10fadf88dacc459f9a21bb2e0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7739dbb4420a527ef5838eeb8a0d7899a8773780b00c53d85d8fcee90459cb2
MD5 fdc180005d0516cf69929643b18b095e
BLAKE2b-256 4eb9b8080c9d79f043c2f3a58c1bf43cb5d3a3f38740b600e11e8ddee14a8d11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3f5cb26d5d2057bfc20906a6392d1233acbc08a348ea29fab794a476d58fa6c
MD5 e4ee771702669b8e8a0984a6eac8d1d6
BLAKE2b-256 773017792eff3f714012360220edd4a3b7908f85d5c06070ce2518c821d31f80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b832285d18443c3ff179cd154eab77249588d12a1a722336e5fc7cb13c03389e
MD5 a7dec6123cdc916d104114c5fa27ca5a
BLAKE2b-256 06367207f15b70e7fd4231e05ba1c6578947985de014d5715c4b6296fc0a9c99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6bf511d3eb883a7b860f3955d48de7b8c9c6a719b63d11950a7f688396d8100
MD5 de042bffc6eb983bf416fec1465893d1
BLAKE2b-256 0d290b37ce66e2bf9b337802f9b8684006f19695c740e288b61cdc11c29c0b42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b7b218f9df3174695b36ad75d99de543e745292f564e4601493692ea4266aac
MD5 638c523e57ad5392b81d100c7c052877
BLAKE2b-256 b771a921050fbe41da4f8b993bcc6b065368801523a1074a4676bd4e25d4d1a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0ef08455f2cea5972819f13802ef072fcb3b992f72a62b704e6f40ece59d2147
MD5 1ea5d2b942ef4b40af3ee14428b2ae4d
BLAKE2b-256 4a03b04b4f2b5e372ec63d9e3acad3b0358327f38406ac408845bdd1ca7de95d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9ef934687534f0e69758d044566844879fa377c5cfd83f63487ad55410e53d1a
MD5 386a77c0438c27151c9d20a383ad2f5a
BLAKE2b-256 1cdecb16c8f6bef01b4e8f66d42134ba77966a7ef09409a4dde6c82f923fe9c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66e3838f3762ce11bd40692b5525f005e113300481921745043501b2f63e3def
MD5 3c537508d49e6455f2d34b5e39ffee49
BLAKE2b-256 e9beb7737cae4767effb314141ff7f73178418a5fde010be69d7fc125e37ce82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b18a31899ec064a7b34a3b6e48635ad3e88accc3efa565771165b1bb68b2e782
MD5 e9c5425b88f256a24a39cd5f82a18307
BLAKE2b-256 5650856bc29923f612a06cbff3963823d14d976eda7ad727bbf9fd83505ec75c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a071a3aabec329da00d2c5d3da9bd05739ab5ea429e80eed0de06fff8e0c65dc
MD5 f325a8a913060a72ed6ae4c76bab506c
BLAKE2b-256 80af4f633ca5f57f1a5708b27311dbff919e8899ddc2d8a6a04c4cc4a9d6af99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 477780a12bfcfa18b1aa8eebbd0db3c8c90bd08ab0efc2b35ff1b7b5a80cd013
MD5 7e3c51427df9e560f4369e7f82bcaccc
BLAKE2b-256 353fefddc91a629d765d52dd87badf34ce2a293ef0573094dcdb2f2c55b7de5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 083c9650cc4dd3624a1df1a834367f3fe67bcf33462616760bcf970e093b0a65
MD5 976b72ce1dc5504245afae4874ff8df9
BLAKE2b-256 5569b26173f3a55cf577f0dd58992a38d2f8ca0516f45be64c43469de5d3d6df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc6ae0644e914e56e287902f6426af831410a36a1bc4681a327e3ce1f9233b16
MD5 bc2326af902331a4ea27f2bf7441839e
BLAKE2b-256 ebc29c424192cf081662d503aeec73e319b2b3f4313b4b4c1eea781bdb9162d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba70b81ec7b4d0afc5f7485b80b364f1459dbc3b7dfc4b0679c43e9fdbe74bbc
MD5 ebd9a8bc4adde648250bae06cf84a42a
BLAKE2b-256 f7cde89662e44c6d7c8c969ac1cea4b3cc8fee668643dcb66ca670d0bba045c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev421-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b308ec41eb52c7a9f01e5528bf527e2c561f43d528327049db8ff32a8d6ca7b7
MD5 d17c18e910ab1792e3fa809c15a2306c
BLAKE2b-256 4f3816957afd262be9670738df62a195140f7408b5a308d1bfec7d935d4b5806

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