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.dev413.tar.gz (352.4 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.dev413-cp312-cp312-win_amd64.whl (768.4 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

File metadata

  • Download URL: ngstents-0.1.dev413.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.dev413.tar.gz
Algorithm Hash digest
SHA256 da66439e2a03b9df728c1650383ec808457d3145c1c8c7a0e22e626b34c677f6
MD5 ee838f20cfe72a1366f363322c5d97d3
BLAKE2b-256 bec197bfc1d9644ad78952fdaee5050538d7e2797c735f0a94c3a572bac78d9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c976f17e9747ff9971032f974cd77a4742cb4c2014627e03bc97bc88417049d4
MD5 1bd18a74a110cedc9874a6f5b0aa244e
BLAKE2b-256 e2d3086cf1a88d3ec006e0f0b333b19d971f5e95afef20869831bdfddd62b7b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07d15e6295e7a464881b33a7d27309913f169ccf4b99d3c42a2ab0815fcf875c
MD5 b563f833e22abfa3509590f27270a174
BLAKE2b-256 6f121d8cc021f857aba985dbaaa8848a7ab90d85a1163239f626ed2974c71eea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7f501f133709b0335c14bcb2fbaf952c0b2ad38a05268b982fdf1319b26e12be
MD5 1076a3cf925c5e5cb8953c2dafc7964c
BLAKE2b-256 1028b82042cc5a9df5f0caf93e76082e41d59769132504bb6fe4a12a4097335c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a4ac1d12f1c83352d6802817bc2fc49875429a645df087818bddf6885eb1d70
MD5 efa4575a43da92827464a1da44299a87
BLAKE2b-256 abd54fafd97bb2e5a8f90319a5e2d791e6b9c23013d2a02f81d4d1ef767a0f91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc72d0596a649100c246602839bf11a8f0c18776ce2d4366b1b6e378e4a6a0b0
MD5 052729e68551aa965686f1632bf97440
BLAKE2b-256 b63815181c7cd0020cbb6b6f019adcd62eb6af6b5aa22860168f7943fd425ca0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a7305116dd4057a461e17f823a42809018386cc4383cb81cf58d0d9ccdca9263
MD5 45f5a0aa45b5a4cba31fb45d790566ca
BLAKE2b-256 418a4c19e6d2db39bc10f41a4833bc09d64784141ce9cd4b690a414371763f55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ebbc9e69995d984c6e9c198ed1d96afc868e627e3ff4a5271b63cf4575d41d64
MD5 c630a51e5424e5201da06dd20eb5cbee
BLAKE2b-256 2247dbd598e4e9a490471ab0f152a70f59f573455b8426bd3691220bf32e3056

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d45967fbaccc698a682215d5abe9c5c74088995e797b1aeb27698002a05484d5
MD5 54047506ae795a965de6bc07d295b404
BLAKE2b-256 e7ec78d7d3dcdc5298ae1768a3687f548c5f23ba717da54b57e26c46011a78bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e0acca4477418b237c8e9552c1292c3ef9649bcbcf7d99cdb7e05e9e8fb43397
MD5 2d4e61a8190d1926b2508e2b10cfa646
BLAKE2b-256 90df4798a1ff0b325a84d6f68d96cab2cecd7a2e3a2091b1cb336fd55171e4ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bc4897b0c76802e7150d316ecd5006c06586afe3c9b0fe493d43c449e77c6fdd
MD5 4a99ea700f2765bd1572eb2f9092c0b5
BLAKE2b-256 2f858018eb08983ccf2185f0209ec826823aa4e796086cf6f3b5dbd0ee100324

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50a294211ead198e098189f2ddc460cd108979a2717d8ce421ff32d4ac026d60
MD5 8b5ad319e2a9e7d9056703e8fc0e376b
BLAKE2b-256 a8fa494f47f13defca58e70af6a21fc6aeb42fb1a27a97ac3fa9c5fe9ba1335d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 056600275e0eac06075b75605b92843feaaab56cf5e0a064b7df2b86cb690e2e
MD5 643e204257d1c97e2567cd34a79f5fd0
BLAKE2b-256 6a7d4a45f9997f80e5e00ccfb7688cd30e94e990ce48d23703db0961167d349f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 62c4db2aa574288ea6d14bd6f7e6f4ee9daa862031c374de093fef70ad1453c1
MD5 3883a6d5f878966a62185a6349310dbd
BLAKE2b-256 7a6633dc2b1fcd8a1218797311f4209453bf884d4b1de3d7260f7539eab96736

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8fe277bd1cde45fbb6b22a5a80b219f1e6b0c2b80e3baff31314268f3e056f8
MD5 b180fd33961d37d4624fb2d022ce539d
BLAKE2b-256 223876d42d9c93c4bc0af2a5ed0609277e258ef3706b221f6941ba8993f9138a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngstents-0.1.dev413-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ae3062ab3246a750f141430caf5672ddda0dd4e8ad1305bcaa0634f2dc28f3b8
MD5 b69a88b7fcc33d1cb9e049f12530d649
BLAKE2b-256 f9a57fabc34e36868cf21dad54ff690284c2fc31344c154901f6a652a9a56db2

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