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.dev430.tar.gz (353.0 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.dev430-cp312-cp312-win_amd64.whl (768.7 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev430.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.dev430.tar.gz
Algorithm Hash digest
SHA256 88f945ba22a8ff689056359a2bdd292a59dba17fade89efc1d5e6171407884ea
MD5 478cbc38731d3b7ccadd9d9a4c2df118
BLAKE2b-256 9dcedadd33835064c0aa86172a97b4c568a9ad6384891b88cfdf2b22cb0330b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aeab4bb6c332680478da30736b7ba6c0284da370db7f5bed16be338fb3fa090b
MD5 fc11b86766f5af24c3e685a66b09a77d
BLAKE2b-256 8a5ed73fd809ab1498171fa0cfc519e251e3121e96199ebb14cfd0faec57df0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd5b18877c25499a80bd5c77956e56998d55aeb70891ce3c1a6c7678e4a8e1b8
MD5 8ba97eb7c1486668245b8b48dfd3d60a
BLAKE2b-256 52b92ed3d55b0c7b29644209457fe86e8e327bca55786ff8a92f950f1ed0536f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9a5bbab541fc1aa93c4937748950b24357ad68b8698a7d66e85bce14d4ce657c
MD5 24f7987406ec7700e0d73c846d15ac59
BLAKE2b-256 199320c95d638f22fac752f4dc0953f475b86e86f794975033ab63278df5a6b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e1f4d6c4cdcd49b9bd8abbb4959dece631c38ae05ee41e3118f12ffd943c3980
MD5 02ea8f0c30a02328aaf2aa7ceeecd22b
BLAKE2b-256 6fccca471a27a2e283dd344f696a8f1c4b31bd753b223f61c9797d367f24eac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7168cc0495d188042b2b71f77b865b86499f49ba500235aa799f27538925ee7
MD5 6b40f712e716beea9f645d0d235a16db
BLAKE2b-256 e38701a00960d655e723f57ba7290f18ba25ec8e5d6011dd1ce3eed10aa69a74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9f20f750516fb8b93068ea57262bc92f18932aceab9c275ded9ab7ec3eb87cc1
MD5 634776f07c725b07c63fd57919f5e201
BLAKE2b-256 b92edad4074dffa753d4e1eb8170cd83a87d485cb2308de88172718a91ff095f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8720a50ebf697ea638e98681bbdab79bb49dab69a4734e5e4240aea65a9347be
MD5 65fa68daafabe130d1ee9a4a439f8079
BLAKE2b-256 c905f10c21f48c401956fb2c7ccec9f2ce4cbf83a12c208b437f16d9a62b2a04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6638d21f48f1283603a7db853e1e6bf82d9647ccc266a216085d2260234f0de
MD5 78bb0a71a1c8ce75ed5efc8eb8891afa
BLAKE2b-256 3ff384fcf5ec478b4e850cda13f334fde962a37cf022fb2d349969e86cff714b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d4e381d1064b6be9fb0996c2d5e02b2b981c526ef054f223e2628f3fa643fd48
MD5 2ad3651f18b224db8b71c669f86d08bd
BLAKE2b-256 e80344fef458a846bb639f92eecbbbba28eba8452fccb7cb88f2444533611410

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8ddedefba7a230ea41035fca9abd059d2be2348b5bff47e7b4978749ff921fbf
MD5 ee36f2c343642401313c1ee1e7a402b8
BLAKE2b-256 19350af473acb0ac5791846a8bcf53f4426ebaf7f510668026cb653bebde5df3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b724b325ccd890bdda8c88d1cc9ee3470f87c19d8fee5ce316d86a0fd2d7b57
MD5 8ea99babc33aa4fcaa55addeea18ca42
BLAKE2b-256 1c27a4f0d88c8b1003ad06f0a553f43fd87ddcacec6b6a987cb08b9f05efa348

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 03290f9bc7c42e96b0c582296ff4a2e4e9ee0e3456f11e758a1a6fb77256ce37
MD5 29b793b000519f62107d679fb9bdf0ba
BLAKE2b-256 d09dbc569658a728e0c05c79104d3883aa392f13c404f4f49c16affa96fb5e4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2cf44e2a3b8e9baa1758146744926e7498512db71a967836853713892d83952e
MD5 62fcbf7980560a61664333e65fc7faf8
BLAKE2b-256 01653fc12c822a61327e6e12aa64b1e0749d270e82ad2745302a8937cbb1c225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4bd7e069e38da5d0f0b958cb67fd8a60d3959caf8c5d60457f4706aa95f2ca6d
MD5 fe9e66eeffcb70f792c4f125df3be7c4
BLAKE2b-256 2ece70df09ec97746daf9c3c33ef360b1777c9677832d063ad283f87127ed59c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev430-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2680f6227c9a3dfc2e5876f2726a42b9da58793e2472f1ed53b90d8beb3c23a2
MD5 29392d8b529ac8df29b9b853ea8b459e
BLAKE2b-256 40a2005bfa0a1371756739f3ab683d60631b15974fbd067c9d5f0c287447c9c6

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