Name | hypysagas JSON |
Version |
0.13.0
JSON |
| download |
home_page | |
Summary | Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces |
upload_time | 2024-01-02 01:24:32 |
maintainer | |
docs_url | None |
author | Kieran Mackle |
requires_python | >=3.7 |
license | |
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><img src="https://github.com/0x6080604052/analytics/actions/workflows/tests.yml/badge.svg" alt="Test Status" class="center"></a>
</p>
<!-- start intro -->
**PySAGAS** is a Python package for the generation of **S**ensitivity **A**pproximations
for **G**eometric and **A**erodynamic **Surface** 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 -->
![waverider-evolution-flipped](https://github.com/kieran-mackle/pysagas/assets/60687606/4c78a82c-8f20-4235-baf3-ad57bda4945d)
<!-- 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": "",
"name": "hypysagas",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "Kieran Mackle",
"author_email": "kemackle98@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/dc/60/655dc10e9d3b8f265068aa791a3d10a72fbf2e7c6e85627cee61fa701b39/hypysagas-0.13.0.tar.gz",
"platform": null,
"description": "<a name=\"readme-top\"></a>\n\n<h1 align=\"center\">PySAGAS</h1>\n\n<p align=\"center\">\n <a><img src=\"https://github.com/0x6080604052/analytics/actions/workflows/tests.yml/badge.svg\" alt=\"Test Status\" class=\"center\"></a>\n</p>\n\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 **Surface** 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![waverider-evolution-flipped](https://github.com/kieran-mackle/pysagas/assets/60687606/4c78a82c-8f20-4235-baf3-ad57bda4945d)\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": "",
"summary": "Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces",
"version": "0.13.0",
"project_urls": {
"Bug Tracker": "https://github.com/kieran-mackle/pysagas/issues",
"Source Code": "https://github.com/kieran-mackle/pysagas"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3aba8e3be860cfb6b82a1dd061fbfaa1d137ae248ea63cf1e30ab13ec4bf249b",
"md5": "aa5e5e76543d21bfae751c97080edcbd",
"sha256": "6f90b96c40d032c3ffe5bfd13aa6a1a2ee9e802b3dd5d3e9fabc32dc4c2d7adc"
},
"downloads": -1,
"filename": "hypysagas-0.13.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aa5e5e76543d21bfae751c97080edcbd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 65446,
"upload_time": "2024-01-02T01:24:14",
"upload_time_iso_8601": "2024-01-02T01:24:14.025868Z",
"url": "https://files.pythonhosted.org/packages/3a/ba/8e3be860cfb6b82a1dd061fbfaa1d137ae248ea63cf1e30ab13ec4bf249b/hypysagas-0.13.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dc60655dc10e9d3b8f265068aa791a3d10a72fbf2e7c6e85627cee61fa701b39",
"md5": "70ad80d37d80be039b7cfc5ae213e290",
"sha256": "df21e6a4eb443661e5cee0cbe58af0d55284d6604bd5da8cd237b5ecd8937d58"
},
"downloads": -1,
"filename": "hypysagas-0.13.0.tar.gz",
"has_sig": false,
"md5_digest": "70ad80d37d80be039b7cfc5ae213e290",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 5490172,
"upload_time": "2024-01-02T01:24:32",
"upload_time_iso_8601": "2024-01-02T01:24:32.935744Z",
"url": "https://files.pythonhosted.org/packages/dc/60/655dc10e9d3b8f265068aa791a3d10a72fbf2e7c6e85627cee61fa701b39/hypysagas-0.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-02 01:24:32",
"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"
}