hypysagas


Namehypysagas JSON
Version 0.13.0 PyPI version JSON
download
home_page
SummaryPython Sensitivity Approximations for Geometric-Aerodynamic Surfaces
upload_time2024-01-02 01:24:32
maintainer
docs_urlNone
authorKieran 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"
}
        
Elapsed time: 0.15531s