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.dev415.tar.gz (352.9 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.dev415-cp312-cp312-win_amd64.whl (768.7 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev415.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.dev415.tar.gz
Algorithm Hash digest
SHA256 56625f9b418f6fa32eb1e4f22a05ff5446e7f6529fc4aef85aeb7bcd4f6c0e8c
MD5 aa222b53ee9a4d8d6f5710a102ee3d11
BLAKE2b-256 89ae26363baeade0491fdbb961346f142d33d4ac2c60608c252c10e785b8fc55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87dadbadccceb4d03dff4d2d01a3a3a1fab93ea6b00d860dba2d41205c35a4b3
MD5 c21163aa93685d0bd671910a42527795
BLAKE2b-256 4b1f3c02b00b1ae0d1cffe3df8a55749fbeb529a281afb47ad6c67de712467da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8faa964c1b2348b95f1b3ac3707ad709dc1d179339f8259e6dba5cf6ef471777
MD5 a1d30d49b7fd8ca0b42b43bdd198b40e
BLAKE2b-256 f31a837576a45d4ef6ba308cac1c86d74e0f36897eac61b30171e6bf4d0468fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 163bd15a6b4dea1099b82a01e597d49028221bb73ff92f55456869669d12f694
MD5 f29dfa306fef9cb24d9b29190f34734c
BLAKE2b-256 289b1a4198ffdc69362d673eb73fef95e662c4ff46447e5324b21edef9d262e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a46fe510304f2dcd80a7fdaa2c23b3c6cf8f84ff9ac38dc0f991c67acfbe8fb9
MD5 ec6c2bf3fab54c16f39a8f7b2e460587
BLAKE2b-256 d0e35219b7db57e3f44a53ae918e22197783f0a93307032ca704400682b39241

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5c205c181c23fd6bc2de73edb96bcc1e857d3bfda4383e8f9f49a2040a4b974
MD5 c51ffaf09cddc3528c6b2512522cd917
BLAKE2b-256 33dbf2039042b86f8073180f6996038ca2172e6d927ec5377feada4ea7ebc64c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5341b988fbed67cc13b915f5f5c90334e9c6368a4a5d6b711c30ca9aeaffceb2
MD5 d9a43510677d7e867330da27db8a5f66
BLAKE2b-256 7c8ad323c816e6896eb3c4b91df77123c286fb7a7dfcdfeae168c6900ae0cd92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3051b3d2226751fc61f99e2ce7e34610dec0baf3ca1a9e930cdb473742976437
MD5 bc586ee110c3d2fe6277d7ab50693c4b
BLAKE2b-256 b21f36a458f36ef5a7656daa6a4f4ad49dfa53ba359157bae6d31a21783674af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d409c26a47980f344631795a2c5bf65715042f943c8f9f66d1bbe201d3cfa232
MD5 c4598c7e7c5bccc01c8b9cf74cd15851
BLAKE2b-256 daf4b48cfbd0820a5032e8c03fa8bc890da99f5e1e38f3c4bd427e7f53d49ab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 88b55bfa549c7e816a1159942bda0345e08751e6d2da2e7d4da646a27d2de31f
MD5 7e018cc558a1ec8cb3c2ba22ce5fa578
BLAKE2b-256 1328496c74a85b465f6a08f586661786b9fcca6ef9a6db613e350bdbca7525c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f80624cc5a49b6262a1e2453fee8c7c9f2924826fdac85656633f0fa0dfe6ed2
MD5 e2835f0acf2e8e7fdad49886a98f641a
BLAKE2b-256 4faa72734b99a319039f6d980a27de1f883ab51133d214a07d7a9619184d063a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d8b923db6589e1d96fce3e28d6ffe61c59b2d3596f6284283a6d8ed4e8b7dc5
MD5 c1290101ccc657b5b2579ff595b55250
BLAKE2b-256 eede8bbf92973d5234cdfe1fb19b8ae6b8e02ce0fb3ffed77098a5a8f41b5030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2099cf0034225eb5fd138442e161e13cf96d19666ac5c866f395ac88ceaf0bd7
MD5 468becb51c960a917f9fa250a63ed5ae
BLAKE2b-256 0db504ed6e4dcfe41cffedb60de794d3972a6d4bb2fdc0976c7c7a0db2ef5e84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 aaac9c1a99341c03ef5a183b3735dc9cee5c702f2f6e5c1e3b2c8c350754d7c4
MD5 a37f7c0f53898f41780c333bf556d9f9
BLAKE2b-256 633ac5c3fdc9c22e60dad9f4f9683839ab39dae3db23d86203f5ab30fc270fa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bebd747c4664cbdfdddc26e2d51b88ae311133dcd645ad13b78911ffe7af3aff
MD5 ea48a2e9adc3a45a2a87187038964c12
BLAKE2b-256 2a64f89b379a77ff66c51e895174a26f47f403f6c599ca9ab6142870187f3e44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev415-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 987e31c7ecf45c92e634bc9ead274a51270b2a3b2b33fa3701c07d0087ffd049
MD5 0eb1ee607de96f4aa29643d4943f2964
BLAKE2b-256 aa6270b6f825b92e0f707f0925bdd2752d24de7ba8e3c74bd073acc24a94c3a2

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