Skip to main content

Spacetime tent facilities for solving hyperbolic equations

Project description

Spacetime Tents in NGSolve

This 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

This package can be installed by

  • !python3 -m pip install git+https://github.com/jayggg/ngstents.git

If you do not have the dependency ngsolve installed, this will attempt to install ngsolve first. 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

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

Binary installers are also available for linux, mac, and windows (with python >= 3.9):

  • pip install --pre ngstents

Use

To start using this code, 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.

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

Uploaded Source

Built Distributions

ngstents-0.1.dev411-cp312-cp312-win_amd64.whl (768.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev411.tar.gz
  • Upload date:
  • Size: 352.4 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.dev411.tar.gz
Algorithm Hash digest
SHA256 9f06ddd340a7832386873eb218cb8eaf46c21855a6750eafe11ad1507046140d
MD5 8ece18e798f79669d5a4360976759164
BLAKE2b-256 6f59f06c5b2f56524a59128a87dca78e0a6ee7ae07434bb993553a31b610dc01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd9eacf15af6ce2bab4d971a30af0719c6431dfbcdd019f40c8d501e72a99225
MD5 fc09a762b0d1c551441804c090e5c4b2
BLAKE2b-256 858c8748911d470ac4627f6fea71794b8a0760943af42cf29ed24dfec586fa76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3efd292920f0718ac1b0cb5dd7326c19ca8c60c69c25901d76dc7f89d543b1c
MD5 2248dd6e5371f7c73ce75aad3025fa9a
BLAKE2b-256 d568a135b5013d7f3766e5c78d9baecd7245f09a021fa96dc7c8a5e1e21c9d6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 74f722ceca432032422ebe29d861d0001d18e29eafc5bbc15274baa22f17118c
MD5 f2ff0388b05565173ed5910fee2678a5
BLAKE2b-256 16e70657ef76653d4524f3020626e719c916b410c6b26294356f1cf6ceec1fd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 feb6167ed58986ab58edaa9469669a95a66ffbd8b93d6534ef02a4987106549e
MD5 4e03e2b0cb0b2f7c2a636df47c9da72f
BLAKE2b-256 4016e0662acf9a5adc641c9f919c7e65f22145d9324005c7d41a3a5d922b6987

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aafa1c4a4dc6e6a1b569b3f140c6c1a0495bbbbf30ec00fa1e3443d2d77ffe71
MD5 dc60c2f8ea300cc8d72012a36d9b75e1
BLAKE2b-256 2a059b6cf54745e6061999f41ec080790b36c4ad1dda7aef869f56094200c1fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7d4eb4274b052ccc8a8fe8a9579a21d7b1857b3cb8bd6b2953afbaa2044e92b3
MD5 74ccf2b9e78f642c37c0740a1c81e1cf
BLAKE2b-256 3cf9cce5940d40a36ecc079f059345598aef7bfb6eeb3956f2bc2b08e0566544

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 588eb5a28a69f9998259fa53b60549eb5c36620c837726671b29fbe8d72fe5e2
MD5 42ecd90876ff35dfb8f9147082b00c4d
BLAKE2b-256 7b52187fbd4c9e8f5edf2bb5af516d0af89c59bfcac3371bddf12d52c3c66437

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f60d1bc361098613987aa0f65b954617c9da9b0f46b40960dddea04aa5fe8b1d
MD5 2ef5f9db4a1caeea5f2066e106282601
BLAKE2b-256 d892ef62b807e37f661b19b5ced4e07e57b6d5630859451e67760e1bca7513d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3a8cc13ecbf2da9bfafba6d74c3740d90a1ff9df0aece6c7a0fb3fff0c10f728
MD5 df771a2c51baa8196fad657a7c10ab95
BLAKE2b-256 adb95cf236ce2287aa024a89feb6563d019616732b72b070d4cff29e1c0e5c17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 278c2f22eff7974164631586707219eb410ad69e218edf3eb88133102fbc6949
MD5 d81184a728b6c175819207cd9122d6d5
BLAKE2b-256 701a13b3dea8e1763774e563e7174df58cc532fc34f63a935061b1d240972e9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44e6f8dfb5a56eaa58c7e58268babe2ce6780983b3b9f9e262f07aff7d4fda8e
MD5 450af2259156d8ed78bb809bdab32f49
BLAKE2b-256 114f438c47a0e73fec2191b090feca853d66a697561f56f726134e1dfb618f5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1922c8e521ba66e9833ee7114626d69967a862528b9f426cf8a71927af8cdefb
MD5 a82927bc1f54a51efa2b5b8af4777a4e
BLAKE2b-256 cab75bf9c6df6baa6039ca16bd1a38220f596a0fda5db01616165bd23e1139c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9717590743eaeb4a52111879644f728b5531df3597fb262f7caa10892e5441c8
MD5 01841c2357b40d7062b99cddd2fbf2d9
BLAKE2b-256 12ced2a85108f5aa6356624642345e29da04a47d0ce33f7d2d5af073836f50ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 197a1bfe75a28b42844e93e3a9d94e6ee24fd7fe13168f035ec4c81780ad3048
MD5 fa646c4ed052e99b1406fd563d52c409
BLAKE2b-256 6ee92333b6461a449123dbb0de7bd7b97ff8598300cd655feb42d18adc4ecd3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev411-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3f3af3ce8deb1655dab3ef65c9524a7e1fff33bd2b513b3348163e6e60f5d82e
MD5 474a22d95ebc73baeefeedf8d41e6fd4
BLAKE2b-256 01c416c6fcf8bb91c1bba525491b8bb45d6233ae036be460ba32044ba829538e

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