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.dev423.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.dev423-cp312-cp312-win_amd64.whl (768.7 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev423.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.dev423.tar.gz
Algorithm Hash digest
SHA256 065bcb09ed5fdfe35d7729651236f72ecad1e72a96d76c6bbb3367537dcec153
MD5 6d7f266c438215b00d9a356c5d7e43a9
BLAKE2b-256 b5c52cfff992dd8ecff7d79ff27059216ffe1bef8f1844404ee1e827567bf06c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e99fa1b306c57061e1803f00e53e834d7f8e1d25e07a075f4c7bf99c46696747
MD5 bb41a52ca9310f8ade1d552060a60dde
BLAKE2b-256 33a8b38289dd45fe055faf160bec55209f339dc2eb769a00e0ae3f4a42014487

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69281c1d8b4c39ffb02f7b6fc4cbc0a5c09d9b65bf26ff3270d0db54537caa90
MD5 9148fd6dab025c1f6204e08509349dde
BLAKE2b-256 d560467ea66995f51d0cddbaff472c8ce53df2b188199ab2c668640d2a6d1174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c4abb0baf56eb33a3249226f78ecfaddd355ac62d085bf8ae3bb57b751e65d2d
MD5 ae19a33edb9927ccb6076a248ed2181c
BLAKE2b-256 c4fa9585b0a29ec0bbf495608e633ca7cfff0b7b31fc87a8e174c05737eac737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0250ea189f035fb37af0796973b74295218c6c7b8fd025ff8f048c3f4427b7f7
MD5 c596c0e90a5ce4eedfd68ba93c8314df
BLAKE2b-256 2a16d19732dc0624847a1fe73dabba25b09fef0c16e92cf0e9b88f417413392f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb1697babc1a2bf6b46e0c879237e8623f75b7ba96b5072279c51146c47899f7
MD5 c080f9b2b2780161b4479f5d66f65590
BLAKE2b-256 875af70a71158125545f6c383ed2dd2b32288f1278c24462521af502e7c126b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4d6ef044b40e7b01da8fcd4fdc8604eb138b70d09153a3a6e0f928ce1eeccf54
MD5 2164d181198e22bdc2fa5406d20faecd
BLAKE2b-256 0ee817a293660168b18ab227df64fe6bf11e2bcf509fd9f2030fce5d3f2446dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ac21ae44d705b2246926cc5b0b327ac9a689d6aca1fa8458ba4d93e5655d2d9
MD5 5d89cae6da50c1e10e35d63fe0477824
BLAKE2b-256 11b2d6e14880c9c773ad29983ea56b10ce8271cd31227531be349ffe5c622873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af68ade9ad495de957af62522dd361342d6d453d48dee250d5024ea19f07fe39
MD5 131f2fcebc511c123b392d1d7beee1b2
BLAKE2b-256 a59589f269c3aa4b0f633c8a36685c6a9a051e01b085184f0cf99b74cfc43b61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3162ba33c2b57511867be8568a11643c2c1e9a555fd9ab8bc74f787f07f6ab5d
MD5 3d1f2d01e0af135ef05b34693f5131b4
BLAKE2b-256 79e9984138622f65469b2bb58959783f080f319bd1e82f08c9f9070747105bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ce45e0b22e41e6ef5dc9002742272f0de8b602674ef6b53da3c46c8440b5c484
MD5 6874d2e858609148032a66e62396a53c
BLAKE2b-256 a3995294e9009984f259f44229c7fcc81c1eb48b3846f422916fb8f984fd54d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da3dd4e22b75ca646c6163e0d914bf9f8811de03e870c6725435343618a3e25f
MD5 a47f73726b35f6d9bc899c462636618a
BLAKE2b-256 ffbb6c8bfcdb764d55c71f4d4c7f9b4d42799fc61a9f923f53a8ade41ccb0038

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 86ae6a5bb5bcfd7cf83c603736a0b3b7d8cb97f06231df0d6fcf6bf15849713e
MD5 d841ebe71ecb8583697810b4283dea6c
BLAKE2b-256 6d3c760667b76c446772fcdf1976e3585bf2108b42275918a8eed7ccea4ea5e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9f5e5e234d31ea3991077f1f30c6437c3a52e5d205e432872264449f93bda533
MD5 2455fac06e98e2b8773e4dd39f8ce76b
BLAKE2b-256 a6ae1dbe7f73ec0c9fe8b4613926e2e5011faa026e02ff9be8a9b5f4b63782d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f372ed794e238be97d92190754d55b8c45393bb1a064fa2c10aa195067e31ddb
MD5 bb715a13be2f6d989404b1ab117af538
BLAKE2b-256 2f523d22c0b4ea6fbfcb2fc8c1d38ebe1bc6a0d23ad1e87f5e775e9740053d29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev423-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e47d02934f72a8aa31466025bba4ed632fee4aec03fe1230c48f91904135b00f
MD5 f8d22a4bac49b51cf7506a7e44c14446
BLAKE2b-256 91909ddf17b568cb510d7001c3288cbfb903a4bc989a0ba1efb17ea42a1ab825

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