Name | hypysagas JSON |
Version |
0.15.3
JSON |
| download |
home_page | None |
Summary | Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces |
upload_time | 2024-10-30 04:26:42 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<a name="readme-top"></a>
<h1 align="center">PySAGAS</h1>
<p align="center">
<a href="https://pypi.org/project/hypysagas/">
<img src="https://img.shields.io/pypi/v/hypysagas.svg?color=blue&style=plastic" alt="Latest version" width=95 height=20>
</a>
<a href="https://github.com/psf/black">
<img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg">
</a>
<a href="https://kieran-mackle.github.io/pysagas/pytest_report">
<img src="https://github.com/kieran-mackle/pysagas/actions/workflows/tests.yml/badge.svg" alt="Test Status" >
</a>
<a href="https://kieran-mackle.github.io/pysagas/coverage">
<img src="https://github.com/kieran-mackle/pysagas/raw/gh-pages/coverage.svg?raw=true" alt="Test Coverage" >
</a>
</p>
<!-- start intro -->
**PySAGAS** is a Python package for the generation of **S**ensitivity **A**pproximations
for **G**eometric and **A**erodynamic **S**urface properties. It provides a
computationally-efficient method for generating surface sensitivity approximations from
existing flow solutions, to use in aerodynamic shape optimisation studies. The GIF below
is an example of this, where a hypersonic waverider was optimised for maximum L/D at Mach
6.
<!-- end intro -->

<!-- TABLE OF CONTENTS -->
<details>
<summary><h2>Table of Contents</h2></summary>
<ol>
<li>
<a href="#getting-started">Getting Started</a>
<ul>
<li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#installation">Installation</a></li>
</ul>
</li>
<li><a href="#usage">Usage</a></li>
<li><a href="#citing-pysagas">Citing</a></li>
<li><a href="#license">License</a></li>
</ol>
</details>
## Getting Started
<!-- start getting started -->
### Prerequisites
#### ParaView
If you plan on using *PySAGAS* with Cart3D solutions, you should also install ParaView, or at
least the ParaView Python bindings. If you are using an Anaconda environment, you can install
the ParaView Python packages via
[Conda Forge](https://anaconda.org/conda-forge/paraview) using
the command below:
```
conda install -c conda-forge paraview
```
If you already have ParaView installed, you can append the path to the binaries to the Python
path using the snippet below.
```python
import sys
sys.path.insert(0, "/opt/ParaView-5.6.2-MPI-Linux-64bit/bin")
# Now the import should work
import paraview
```
For more information on ParaView's Python packages, see the
[ParaView Wiki](https://www.paraview.org/Wiki/PvPython_and_PvBatch).
#### pyOptSparse
*PySAGAS* shape optimisation modules wrap around
[pyOptSparse](https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/index.html) to converge on optimal geometries. Follow the
[installation instructions](https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/install.html), noting that special optimisers require custom builds.
If using an Anaconda environment, you can also install PyOptSparse from Conda forge:
```
conda install -c conda-forge pyoptsparse
```
#### PyMesh
Having [PyMesh](https://github.com/PyMesh/PyMesh) installed can greatly enhance the capabilities
offered by `PySAGAS`. However, it can be difficult to install. Troubleshooting guide coming soon.
### Installation
After installing the dependencies above, clone this repo to your machine.
```
git clone https://github.com/kieran-mackle/pysagas
```
Next, use pip to install the `pysagas` package from the repo you
just cloned.
```
cd pysagas
python3 -m pip install .
```
<!-- end getting started -->
<p align="right">[<a href="#readme-top">back to top</a>]</p>
## Usage
<!-- start usage -->
*PySAGAS* uses low-order methods to approximate sensitivities on the surface of aerodynamic
geometries. The user must provide a nominal condition of the flow properties on the surface, along
with the sensitivity of the geometric vertices to the design parameters. From here, one of *PySAGAS* sensitivity calculators can be used.
<!-- end usage -->
<p align="right">[<a href="#readme-top">back to top</a>]</p>
## Citing PySAGAS
If you use PySAGAS in any published work, please cite it using the BibTex reference below.
```text
@inproceedings{Mackle2024,
author = {Mackle, Kieran and Jahn, Ingo},
booktitle = {AIAA Science and Technology Forum and Exposition},
title = {Efficient and Flexible Methodology for the Aerodynamic Shape Optimisation of Hypersonic Vehicle Concepts in a High-Dimensional Design Space},
year = {2024},
}
```
<p align="right">[<a href="#readme-top">back to top</a>]</p>
## License
PySAGAS is licensed under [GPLv3](COPYING).
<p align="right">[<a href="#readme-top">back to top</a>]</p>
Raw data
{
"_id": null,
"home_page": null,
"name": "hypysagas",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Kieran Mackle <kemackle98@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b4/db/366502d0b1a2ab4d8d2a0c28c494b29ee2c0fc33abcf6c61e9d14b540a55/hypysagas-0.15.3.tar.gz",
"platform": null,
"description": "<a name=\"readme-top\"></a>\n\n<h1 align=\"center\">PySAGAS</h1>\n\n\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/hypysagas/\">\n <img src=\"https://img.shields.io/pypi/v/hypysagas.svg?color=blue&style=plastic\" alt=\"Latest version\" width=95 height=20>\n </a>\n \n <a href=\"https://github.com/psf/black\">\n <img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\">\n </a>\n\n <a href=\"https://kieran-mackle.github.io/pysagas/pytest_report\">\n <img src=\"https://github.com/kieran-mackle/pysagas/actions/workflows/tests.yml/badge.svg\" alt=\"Test Status\" >\n </a>\n\n <a href=\"https://kieran-mackle.github.io/pysagas/coverage\">\n <img src=\"https://github.com/kieran-mackle/pysagas/raw/gh-pages/coverage.svg?raw=true\" alt=\"Test Coverage\" >\n </a>\n \n</p>\n\n\n<!-- start intro -->\n**PySAGAS** is a Python package for the generation of **S**ensitivity **A**pproximations\nfor **G**eometric and **A**erodynamic **S**urface properties. It provides a \ncomputationally-efficient method for generating surface sensitivity approximations from \nexisting flow solutions, to use in aerodynamic shape optimisation studies. The GIF below \nis an example of this, where a hypersonic waverider was optimised for maximum L/D at Mach\n6.\n\n<!-- end intro -->\n\n\n\n\n\n\n\n<!-- TABLE OF CONTENTS -->\n<details>\n <summary><h2>Table of Contents</h2></summary>\n <ol>\n <li>\n <a href=\"#getting-started\">Getting Started</a>\n <ul>\n <li><a href=\"#prerequisites\">Prerequisites</a></li>\n <li><a href=\"#installation\">Installation</a></li>\n </ul>\n </li>\n <li><a href=\"#usage\">Usage</a></li>\n <li><a href=\"#citing-pysagas\">Citing</a></li>\n <li><a href=\"#license\">License</a></li>\n </ol>\n</details>\n\n\n\n## Getting Started\n<!-- start getting started -->\n\n### Prerequisites\n\n\n#### ParaView\nIf you plan on using *PySAGAS* with Cart3D solutions, you should also install ParaView, or at \nleast the ParaView Python bindings. If you are using an Anaconda environment, you can install \nthe ParaView Python packages via\n[Conda Forge](https://anaconda.org/conda-forge/paraview) using \nthe command below:\n\n```\nconda install -c conda-forge paraview\n```\n\nIf you already have ParaView installed, you can append the path to the binaries to the Python \npath using the snippet below.\n\n```python\nimport sys\nsys.path.insert(0, \"/opt/ParaView-5.6.2-MPI-Linux-64bit/bin\")\n\n# Now the import should work\nimport paraview\n```\n\nFor more information on ParaView's Python packages, see the \n[ParaView Wiki](https://www.paraview.org/Wiki/PvPython_and_PvBatch).\n\n\n#### pyOptSparse\n\n*PySAGAS* shape optimisation modules wrap around \n[pyOptSparse](https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/index.html) to converge on optimal geometries. Follow the\n[installation instructions](https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/install.html), noting that special optimisers require custom builds.\n\nIf using an Anaconda environment, you can also install PyOptSparse from Conda forge:\n\n```\nconda install -c conda-forge pyoptsparse\n```\n\n#### PyMesh\n\nHaving [PyMesh](https://github.com/PyMesh/PyMesh) installed can greatly enhance the capabilities\noffered by `PySAGAS`. However, it can be difficult to install. Troubleshooting guide coming soon.\n\n\n### Installation\nAfter installing the dependencies above, clone this repo to your machine.\n\n```\ngit clone https://github.com/kieran-mackle/pysagas\n```\n\nNext, use pip to install the `pysagas` package from the repo you \njust cloned.\n\n```\ncd pysagas\npython3 -m pip install .\n```\n\n<!-- end getting started -->\n\n<p align=\"right\">[<a href=\"#readme-top\">back to top</a>]</p>\n\n\n## Usage\n\n<!-- start usage -->\n\n*PySAGAS* uses low-order methods to approximate sensitivities on the surface of aerodynamic \ngeometries. The user must provide a nominal condition of the flow properties on the surface, along\nwith the sensitivity of the geometric vertices to the design parameters. From here, one of *PySAGAS* sensitivity calculators can be used.\n\n\n<!-- end usage -->\n\n<p align=\"right\">[<a href=\"#readme-top\">back to top</a>]</p>\n\n\n\n## Citing PySAGAS\nIf you use PySAGAS in any published work, please cite it using the BibTex reference below.\n\n```text\n@inproceedings{Mackle2024,\n author = {Mackle, Kieran and Jahn, Ingo},\n booktitle = {AIAA Science and Technology Forum and Exposition},\n title = {Efficient and Flexible Methodology for the Aerodynamic Shape Optimisation of Hypersonic Vehicle Concepts in a High-Dimensional Design Space},\n year = {2024},\n}\n```\n\n<p align=\"right\">[<a href=\"#readme-top\">back to top</a>]</p>\n\n\n## License\nPySAGAS is licensed under [GPLv3](COPYING).\n\n<p align=\"right\">[<a href=\"#readme-top\">back to top</a>]</p>\n",
"bugtrack_url": null,
"license": null,
"summary": "Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces",
"version": "0.15.3",
"project_urls": {
"Bug Tracker": "https://github.com/kieran-mackle/pysagas/issues",
"Homepage": "https://github.com/kieran-mackle/pysagas"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d7b16c47aed329b10fb64edd7ebd48b932afdceee04327a00ac40e05c7ec3d1f",
"md5": "fbf00da7880d81d3e959f634d562e389",
"sha256": "fe018eded19f9642b9b8b8d7f9bbc7e61fc6a2b14387ba92db04daa0f27fd372"
},
"downloads": -1,
"filename": "hypysagas-0.15.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fbf00da7880d81d3e959f634d562e389",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 64587,
"upload_time": "2024-10-30T04:26:40",
"upload_time_iso_8601": "2024-10-30T04:26:40.745434Z",
"url": "https://files.pythonhosted.org/packages/d7/b1/6c47aed329b10fb64edd7ebd48b932afdceee04327a00ac40e05c7ec3d1f/hypysagas-0.15.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4db366502d0b1a2ab4d8d2a0c28c494b29ee2c0fc33abcf6c61e9d14b540a55",
"md5": "65f6281b09a332456dbaafd55f25a951",
"sha256": "5e596a1c872ce98b3ffc18a1a95f6e05ea4794a1204786b5c8e9d2305906eaf4"
},
"downloads": -1,
"filename": "hypysagas-0.15.3.tar.gz",
"has_sig": false,
"md5_digest": "65f6281b09a332456dbaafd55f25a951",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 58560,
"upload_time": "2024-10-30T04:26:42",
"upload_time_iso_8601": "2024-10-30T04:26:42.184977Z",
"url": "https://files.pythonhosted.org/packages/b4/db/366502d0b1a2ab4d8d2a0c28c494b29ee2c0fc33abcf6c61e9d14b540a55/hypysagas-0.15.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-30 04:26:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kieran-mackle",
"github_project": "pysagas",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hypysagas"
}