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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev429.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.dev429.tar.gz
Algorithm Hash digest
SHA256 ef40e2debe1a2a61e5ce864bfb8333f2f3ca76dc3e0225ce92fee128757a6451
MD5 868225687fcff9dfa75ff7a39dc5d12d
BLAKE2b-256 9f5073aa0383b3b6b485059c5d3c2cc3c2c1a9d1acf1f1d3b5ad844c17f07fe7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1229923deb793b2bef4c8675e69ab78cf8d49460242e1c06fd1812524d128dd6
MD5 7f6a3bd935fee81d63730bdb2a982f52
BLAKE2b-256 d6da6d4845180b28fd5c55b1e359caede4e3ccc140f2287bc2809fb344fd0542

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd9177587beb5fa8db8b61f8082da961eaefd7d992b3282e8398735e0556b7f8
MD5 4ed5b0be318b63bb92b18fda49377f9c
BLAKE2b-256 0841e7ad992d62aaebd53c707e43f3f6818c14e4bc07927913d881b9c3305d39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f2f9e52468c2c9977fe2477b3bd3118381e5ae4b037d355d79eb0af9ba226845
MD5 ab98d9e580a7f6f7b40240ce22f94bb3
BLAKE2b-256 1f82fbb0729441ad349cf3bdc55e993e873a88f65e9545b815af814088a67908

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7472548a83885c89c5e2d8897128fc661ec7160c943b0e31fb67c86564ba7702
MD5 fb5f16f2af8566a86ec64ca7173bcc9a
BLAKE2b-256 f0cff739e1d2f8b4deb4335411ea5171afd959271bf3d9cc0d292cbf8dc33ee1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 511da0d6b36a519e66d2c63d0fa2d38b14c2a6ffcc87bb0802fadaf1c381c4d0
MD5 a30f6b78582da3e6c4082d383663b603
BLAKE2b-256 feb0237341884a6a5887759bc4301d04a0339b38c2b195d5ed6d809aabdc8597

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fae32c39a8437196902e0e5b9d86b5934427ca48118557b77530d17d5a5ff54f
MD5 1962319a6d7cbcd4ea26d4a781fcb5e8
BLAKE2b-256 18b86a7d0f029d718c9d90ff07049d690cb45db130416b53590240e8f9f9d3b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 768a55a9316abb52fd497bacd5e3856e66bf23643b747032f38be1f034e3c585
MD5 4210b9a528c179e6a4a3b303569d8c44
BLAKE2b-256 c1158cb58a67f9ac858ecb5fe9a19f3b6b87cd74e4c08ddd3e1a4d24bede1e32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7e9d8389a3bab5132cd34ed443792b2ec2fe1af930565eb9e3351e750404eb2
MD5 f91d671ff84690f5cfe809659dc7c5b6
BLAKE2b-256 d585aa911ce29951ca5f0366c48e0eecba92370424d1fb2d2bc39169bcfa3eda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 cbd5cf69a59ba9f3cc33d044f4f51829aa59877155cc059ae182c80f96c95322
MD5 d32b85d492b9b3f777a1abe0a5db3984
BLAKE2b-256 d54c1c59754046276eb5de582e9dc49c82c3dffc8b2a11ebc89c86d7bab07c09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e25b4bd64b8e27b60a8a7e5a3faeee2abec44631622ed2e7d7af73ff4193c05e
MD5 0f9827334bcc970a7fabb0b352dd5f93
BLAKE2b-256 e2d5be40f3f23dc387056b63fc362571d009c0970514b0e32bcd23a5c91344dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f8f4e7d20c4bf06289ec01445aae6838e09b796aea4ed98720942818b59bc75
MD5 5c71a7b57cbcbe67f20d196a10d151f2
BLAKE2b-256 7292c125a1eed42215ca5d52c31e5828be983375232605fe0573eafc62dd32f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0275ab9285c3c80edd7f645578954be6a1a6d2033200a1911b56118a06e51f9d
MD5 92e1a04b18a6b61533a992c5365bc2dc
BLAKE2b-256 2cedae690a7bbd98fd040fe4937a79cfc9ac5cbb2201ac11259c71821e1fe69d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a12ee41ee16e6f161c7e5b53c69b0acf44f3bfcf0b66702eed3a453c6c5c9a82
MD5 c65a6eb83f3798d950fbd31da7b89d78
BLAKE2b-256 27432de117b029442467e2e57096d8e8ac8e3fe3fa67f56c869d61ea4a4cf35a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6bf39a06d1c14dcf8372681f11755d51b724db08fe9835eca20e4fce2cee7036
MD5 623ce4c426601cb7d04c7e1b68a498ff
BLAKE2b-256 4a2ad3032037d5a8e99d92d33253d213ae2c58f738977e203592058025329a3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev429-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0ea4d65ffc9191374ede789e8b2beed990d74b87a4ab8885cdf1af18e3aeb9c4
MD5 f3d2915908a758a9fb17e5b668a7398d
BLAKE2b-256 2441d2cda68e0bafd3cbb29315536a7f53564c55fb614f0fd99472b60fe4f190

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