Metadata-Version: 2.4
Name: tokamesh
Version: 0.6.0
Summary: Python tools for constructing meshes and geometry matrices used in tomography problems
Author-email: Chris Bowman <chris.bowman.physics@gmail.com>
License: MIT License
        
        Copyright (c) 2021 Chris Bowman
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/C-bowman/tokamesh
Project-URL: Source, https://github.com/C-bowman/tokamesh
Project-URL: Tracker, https://github.com/C-bowman/tokamesh/issues
Project-URL: Documentation, https://tokamesh.readthedocs.io/en/stable/
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24.4
Requires-Dist: scipy>=1.10.1
Requires-Dist: matplotlib>=3.5.3
Provides-Extra: tests
Requires-Dist: pytest>=3.3.0; extra == "tests"
Requires-Dist: pytest-cov>=3.0.0; extra == "tests"
Requires-Dist: hypothesis>=6.24; extra == "tests"
Requires-Dist: triangle>=20230923; extra == "tests"
Provides-Extra: triangle
Requires-Dist: triangle>=20230923; extra == "triangle"
Dynamic: license-file


# Tokamesh

[![Documentation Status](https://readthedocs.org/projects/tokamesh/badge/?version=latest)](https://tokamesh.readthedocs.io/en/latest/?badge=latest)

Tokamesh is a Python package which provides tools for constructing meshes 
and geometry matrices used in tomographic inversion problems in toroidal
fusion-energy devices such as [MAST-U](https://ccfe.ukaea.uk/research/mast-upgrade/).

### Features
 - **Advanced geometry matrix calculation**
   - Tokamesh constructs geometry matrices using barycentric linear-interpolation rather
     than the typical zeroth-order interpolation. This allows for accurate tomographic
     inversions with a significantly lower number of basis functions.
     ![geo matrix example](https://i.imgur.com/tqElYG3.png)
     <br><br>
 - **Tomography-optimised mesh construction**
   - Tokamesh provides tools to create meshes that are optimised for tomography problems,
     e.g. local-refinement of triangles to increase mesh density in areas where it is
     needed without greatly increasing the size of the mesh.
     ![Example mesh](https://i.imgur.com/lNGVnaY.png)
 
### Jupyter notebook demos
Jupyter notebooks are available which demonstrate
[mesh construction](https://github.com/C-bowman/tokamesh/blob/main/demos/mesh_construction_demo.ipynb)
and [geometry matrix calculation](https://github.com/C-bowman/tokamesh/blob/main/demos/geometry_matrix_demo.ipynb).

### Installation
Tokamesh is available from [PyPI](https://pypi.org/project/tokamesh/), 
so can be easily installed using [pip](https://pip.pypa.io/en/stable/) as follows:
```bash
pip install tokamesh
```

### Documentation
The package documentation is available at [tokamesh.readthedocs.io](https://tokamesh.readthedocs.io/en/latest/).
