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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev418.tar.gz
  • Upload date:
  • Size: 352.9 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.dev418.tar.gz
Algorithm Hash digest
SHA256 4706aa3ad2aa68d6615fd978d8087bffd9d3d3fda6dcebf02a1a8636234788cd
MD5 3cd03ba58c898ed1f577dfe01c555680
BLAKE2b-256 f9205b2212002da4bb1ebe542bbec30eae4a133b7b3e70a6defa1b5dacd63e91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7abb6e892730ca3e86a11860349bc33863344df68ab1683eeba754b0d278f2dc
MD5 7c2e5df6f5437ad59e046cfdb3d9c869
BLAKE2b-256 5a59a2329b7850282f8c3e7641cf4b0fe374896839d5a46dad2864f53cd2f9ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca1dddb18c06faefc178d0b7a9b3961be927fb0b5ac7d4da3ae3e23de77d6415
MD5 fa5100142250aa9db2ab93411c906476
BLAKE2b-256 47e0ac0e642590d8407b5a180e12c475c03484566cb1073bf24e9309d9ad9d42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ac9befcca81bb99b0b4980840f67344eff50d44e594e54f67fc2cb45cf6c1d79
MD5 ad384bd0ecd7f26162fb9e572e2740af
BLAKE2b-256 c24490585ac3d06113f4e54eb8f17eceaf1c587ba180880e63576362d68659f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e88aa69a7ced4864947f61be4bf25604ee2d2c56e2344e0e4b6cfdf4b9b20d07
MD5 4a7d88a5ec480c235fdcbf2a68950c5a
BLAKE2b-256 c39d768eabb90e05f1fc20520a0c135c1d071712fe5781b09224d2c05823b2d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 015147d2852828a190dddd6de57f7a43669d0f458a916626df906fd0490cb301
MD5 7cb429e31cca4319573d4a4e59410c2a
BLAKE2b-256 9d17fd2139d307abccbe20b73c5e056d08019c42095750236da0f7e3523f16f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9795340e27e40e0fe6be5bbf94347dbdc728bb19b44cb64696546c34ec5fd304
MD5 d87a2b355e46b0f5caf7790a607dbb14
BLAKE2b-256 9a4e68f2e4980b62146c0a1e5c999f36fecaa85b26938110d69475d768e99252

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1885a21aa65c2c25ea77da2b0814c02a8386c71d8638cfad74f2e4f8ae675843
MD5 427ff47a3f355a650c9efbb74d3e9509
BLAKE2b-256 90b1e6fbce9ae0b2f1a754e57e43cbb4236f86c5a5ad6345b559ef61eba89b90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e1b08770c86a2d8cdd4fbf39b0a46dad77b0858389c2da523ec8cc9089549d9
MD5 745e4bbc9ed016c4dbb9affbf1201657
BLAKE2b-256 68c196f3ade2769a53402b3c5073cd6ebb3fa02827a8973ec41cb66fa29a68d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c65d196c5c58e96fe745c4a56e0135839b0c32de80a3e7bfb3108dc1c6f38a19
MD5 77550e2ef2feef23b16607ac596200d6
BLAKE2b-256 15c2bd79c8d71b25d36bbb406ea0700391b53f359177952a41e63cbc9c0b72ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6b0ca33986abb6cfb08087711ef8992f6849a595dccd4f0a66149e2a6ad1600a
MD5 b6a78bce43cbca628e4a00c8edacbdb2
BLAKE2b-256 4d2e08ac3c255ec05ff9c5dd3f8dac0f081ca56a4bf9bf46ab93c607651b775a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9a809f964e8db1466e3316807e4fcacfcd9c08fca1fa07a97701cf2a690aea1
MD5 75d088db9421ab5bb3e09df69012d560
BLAKE2b-256 eab75f2a7cc4e0d2e6c0d134bd7f6f3ea85e7cac760c0836177254f7345d01e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f60485a326a6a44132ee2b3f797e1a8c22e837acc354ee19d60b15676c2651d3
MD5 878252446873ee92f0d4b07d3368cf67
BLAKE2b-256 2cfae46e078393e17813761f38385d1a4eff5e7204304dffcaa872150161ffdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0abdcc2a5d39f825d29c0edc07c79da6e09d2e18bd263a97dafc6f02df74a69c
MD5 fb63edb593eaa93e547efa85598cd8f4
BLAKE2b-256 737cb37bad96836d8a20db9ce0f68c2cf0106896f0c13152112b3a5d61faab14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f50056ac037fba992b2a3cc375f73d8d0dc5edc2460afb61d9ec2214ca704e3
MD5 52b6839be61a0811982276b97dfec40a
BLAKE2b-256 4e24c9a0d0fcedc5a8caa37b1d498d5802b26320200b797ff812f6e66e676d06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev418-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b830b19334a6caeb49c5d1479491581056ce41aee2f44492e391848b9f653a57
MD5 d4dc26abe23f256f2db43a26320f75af
BLAKE2b-256 d9862aade668825b6cd22f14db38c7f75283ffd9438622df2d43704224ca975a

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