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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev412.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.dev412.tar.gz
Algorithm Hash digest
SHA256 d58e5519530c7bae48c3ec0c17fc821b2dd65427fa26a675953b0069ad6720dd
MD5 864ce9e9802b4c545dda47c86f66f8ee
BLAKE2b-256 15f9b2511a369187f998c4ab96ce02ca2d057c480f8c29c65c7eaa5ece4400c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 870f7f4f7a252960e82e2d76042a91806c407a6d23775eb8513b74ac17af56e5
MD5 b5a164284f06507d5c4a47a48a62ec29
BLAKE2b-256 46e0e50657b84f89c8ba9a5e00f5c7819242040dcc9db7aa66f133a1d74e2d77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fa629d533da79c9077f9459bfab64ec7d7d57b14b41a65d9e1b7ffebe77aec1
MD5 91637a70ca43adcc2213b973c83cf388
BLAKE2b-256 467bc2201484ccf5c2147f71bedec841fe00b13d89124e0e00b03d24b32ac8e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 224fa7330dd98cbedaa5761a962a827cad2f69716c6abe8723b1fa8988c31938
MD5 fc6d0e4e741234e996df83be5def0058
BLAKE2b-256 54e1bc1795124e59822680472bd0f0c9a62153e069d402155d3358c8b6ad6fc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f3c191ef938d07737a6692912e3a31b2fe46a50d00be56444947dc738a846543
MD5 5256cf467a6069e4a02558ec29cb2e77
BLAKE2b-256 92d212fd3038ba46910309159af638203c7a732bdd4f5399abba509df8c9a2a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8955f18421550e930f050eebe98065e01cdca9c49b9c2ed864c03760fc7b467a
MD5 864ded477619cb1f94073c3a194355e8
BLAKE2b-256 61f2aec4956daae8b294b05979beca104c35702b2ccea517d3df0204ebd87e6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d18adbade1f96ff926ed0c3fb7f46656de8e8b178474abf92289dd6a270ceed1
MD5 8f2cb489c6665d7f84006d8701753cd7
BLAKE2b-256 56bfee297e232b48a8d010a33a22f390e8add29864a2bdbea071c5b5bb4cbbcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07f97991826644a074f40875925a47dbb75c6ffb7337d69a247f1ece0cf1de05
MD5 ec62459567ceb150ad371c995378bc60
BLAKE2b-256 495249c1f191b7d95eede333e1fbd2dc1067fc447945e5a8965a41ade7869e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9461bc3d93af9aade43194f9d2d204904b57e53bc9bfc885b7e24ccc883ae526
MD5 3a58a48caa4616676f36f3d2734cc406
BLAKE2b-256 63961219b6c0729758314f12f3df2142eb8e3477d30297ea6fbea0204916857d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 48a354ecd4e7eb4018a31b37bd2313a9223666f8dcdfa7578e6bef556e130102
MD5 77b09427cc9c612841cb8e77a78ad629
BLAKE2b-256 86e2df603cc2eaafea3c0bcf387be58db936f17043d03ce7ab25e8f9e611839f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f2a62170883dfa9263e79863cbad7bb6de91a1d340bb9892a61f182c46f1089e
MD5 beab485ef3f64443539d078432afd76e
BLAKE2b-256 21ece721285b71362e6b72a65f0fe8c80580b26499ea4e21baf664470adc8163

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07995ecbd1e4ec670aa56ab3f9dda7a308bb580ab0008012cc676785cb8cac20
MD5 c920be758f3ac53c16719bafa0be572a
BLAKE2b-256 fd31d8e62390803b5e27b13caee9d73ce9ccee4675a4b7910accd5c86e848cfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 8dfe1ff11c1790d94da9df164de60b550b68d75432149b41ddd92e37f99a5347
MD5 7acb204e3c605a5334b9fb72769086bc
BLAKE2b-256 98bc8a40f9ed7539f009178f3ca1b5a6b9c54da3b4794ddf28a411d229d96703

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 df612fffcf6d0d7a38fcedbbe44c27c3c6ad052932bb393843019c1196cadf0c
MD5 6c0c8298402cab517320a3ad91de7460
BLAKE2b-256 66a032be66023ba55e269f4d6a756c89279d7fa1450eb22cfd0f3c0cf5736933

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d373cdf4a9c3a6452860add2b3923bd7a551747eca17fde44dc0d42ed68070f6
MD5 49890f7f792fd4c90d4077651563fd1d
BLAKE2b-256 ddb20de57e0c2bb1d246b2b04ed0e7dee94c104465cf1a8babff9022ab0686ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev412-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b8e9827e7056507903ec5c4adb268f18b0a5d21b15f308276809db861488fec0
MD5 ea5c89b03cdd08c3e95f05dd98d11de6
BLAKE2b-256 4fbf4e4e9891c7be5eb5b31e1044389286cd1453123387849ea28daa4e1c812a

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