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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev417.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.dev417.tar.gz
Algorithm Hash digest
SHA256 10bb34f461341058928017736ca5b3456f6de579044960c37371703ca48670d6
MD5 13603c25d3a164275ab8f1aca709ca76
BLAKE2b-256 67ecef28a5f64f472e9ebfea37de849e1f186085b223ade186467d9cec847a30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 60ae2dd580428096d8391486b28e2625868a12a25f33b6a641002cd9006f33ee
MD5 5603d9cee479262a0a327df60bee5471
BLAKE2b-256 449de92df0ee5c27a474b60945233ea28dc80a6fc8a1b0ac41b3d4973b35e090

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64ec970a947a90ff965ee9c7ad193f4658f5613225339b001b54db1bd8dd3c53
MD5 d803dcaf86ea64da7ea0344e8b1b1ba4
BLAKE2b-256 5e30a60b398ca88163701e7e8afb343cee64c178f708b631359403ed1129329b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 70dc3204f76de9c990e374c61a5f4c631dc697fed472baf4b8ba037bb60c74e0
MD5 d5c67449ecda31477b52ef5bebfb248d
BLAKE2b-256 42eebf59a0a19d4dd9eb54200274797d4b8f361640e7189469ae95bed28a5004

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6b0f8606661d935d47c50dfce3873c33bcd1cd35d2603d38dac1d6276d127a05
MD5 0fea903adc43db120cfcdcfe96445d48
BLAKE2b-256 1b7a0d35d1ef7edc10e23df9c2202759ea55ffa006b692e9f41bb5ee77a84689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53e4896be8ba0643bcc669edd6fb253cf8c919f6028a31709ad41dfe08e00a56
MD5 6f281faf44114cdd8eac13c62c675a74
BLAKE2b-256 bc5dc07609260cb49db519e5692982cea0dabfee89530e644526fa7174367447

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f4b6d62ce8c6af54c2cc90cc92a7ace96d939fe8e88b037690f338c8f69002bd
MD5 ba259fa55bb1f63ceac41757e4ee2f3b
BLAKE2b-256 b7d17591eceae384000e05a3e4d2287ce29523c56e58066f63e4f7c96b9f6e0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 abd22969fef3c137ffbd8243e566c60b2093119258ff7e0d6ea342b9578f5bbf
MD5 89f13187499f98dea94e82c83ce5a8c7
BLAKE2b-256 11d9e3c184938f90b77616b7e24688b18cf1e89a760967a4da7abc3687b45bc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec18f5985be5032bd6e4674995e5475168068574b7a6a8b74765584b51165f7e
MD5 9a16e5c977e65f570cd6fa780c3c92b1
BLAKE2b-256 8703830c7f2ba36c687a8794ec72e1b7968a2c67c7fdd06d8fff108a69208fbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 785531e57ea0a6f9de4da5868a208fbfa7ae04e4817dfd8a637785edbd35e6a0
MD5 8da5dfb1985d5586efa985bdf8f06511
BLAKE2b-256 a397420ef5fb05bd612e1c8370df155761e1c1eec944a4d284cd09775aeacb38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 aa772b5b68d2ee273b08a7fe3927967bf373ac8426e155e61d3387054528028d
MD5 7a5304b9fda41e42ce3d239b908f0df7
BLAKE2b-256 e1cdd202201c9ecdaca4b23c2e80a4e73e54e0b8c927c9ed8f265feafc18dc30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4c67a6724aba7b59a1fa5add01e7134e4abba426c1677d43d69c12363251467
MD5 b05cc3f3a79939d3cbf8a2d6121e5471
BLAKE2b-256 200dfe54c576fa374676593efff65c283e4e6a2a2be26b43b0f557ef78a0c6d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 878042c5eb96956a2e01c6227ff229a55d78a2509c5f1d0b9cdfb4dd90247144
MD5 7da6411d1408e50f08977c787ea927e5
BLAKE2b-256 ebe9d303f8a106e4d7f53aeb00e3666f89189a0b9b9e78e1f4d2e9b9f9ee777c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5452bc75b0a954dde45756fb49f196f2c8839a27ffafb1a99b499d5816ebbc4b
MD5 6cba76c0c33a558710f9e39b96347cbb
BLAKE2b-256 6aa23998162b63f2cd627882534e89e91c6e6f971c2756947966abb8908f0ebf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9ea87091d2ecf8e254a00d9ac8f095cf663a2ac68e0ca37fe7644dd0eba2635
MD5 dd1aa778d79ca4f9002cce9054b3a7be
BLAKE2b-256 ca644e4d1c9375c330d133f5783abb665bc9b07c66725f6bda8d9ecdbba26a8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev417-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e9c31a69cc1652989033cebcedc0761cc6764f9a9cc8901815c9e75434ea8d11
MD5 e4b576dbc779ebaa86a981d65ea66e4a
BLAKE2b-256 78b367f06baad7bc3836a10c1c5fb1ad5742b184396a8c8a2f508843fc2045d6

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