Skip to main content

Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces

Project description

PySAGAS

Latest version Code style: black Test Status Test Coverage

PySAGAS is a Python package for the generation of Sensitivity Approximations for Geometric and Aerodynamic 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.

waverider-evolution-flipped

Table of Contents

  1. Getting Started
  2. Usage
  3. Citing
  4. License

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 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.

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.

pyOptSparse

PySAGAS shape optimisation modules wrap around pyOptSparse to converge on optimal geometries. Follow the installation instructions, 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 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 .

[back to top]

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.

[back to top]

Citing PySAGAS

If you use PySAGAS in any published work, please cite it using the BibTex reference below.

@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},
}

[back to top]

License

PySAGAS is licensed under GPLv3.

[back to top]

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

hypysagas-0.15.3.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

hypysagas-0.15.3-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file hypysagas-0.15.3.tar.gz.

File metadata

  • Download URL: hypysagas-0.15.3.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for hypysagas-0.15.3.tar.gz
Algorithm Hash digest
SHA256 5e596a1c872ce98b3ffc18a1a95f6e05ea4794a1204786b5c8e9d2305906eaf4
MD5 65f6281b09a332456dbaafd55f25a951
BLAKE2b-256 b4db366502d0b1a2ab4d8d2a0c28c494b29ee2c0fc33abcf6c61e9d14b540a55

See more details on using hashes here.

File details

Details for the file hypysagas-0.15.3-py3-none-any.whl.

File metadata

  • Download URL: hypysagas-0.15.3-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for hypysagas-0.15.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fe018eded19f9642b9b8b8d7f9bbc7e61fc6a2b14387ba92db04daa0f27fd372
MD5 fbf00da7880d81d3e959f634d562e389
BLAKE2b-256 d7b16c47aed329b10fb64edd7ebd48b932afdceee04327a00ac40e05c7ec3d1f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page