Python Sensitivity Approximations for Geometric-Aerodynamic Surfaces
Project description
PySAGAS
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.
Table of Contents
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 .
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.
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},
}
License
PySAGAS is licensed under GPLv3.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e596a1c872ce98b3ffc18a1a95f6e05ea4794a1204786b5c8e9d2305906eaf4 |
|
MD5 | 65f6281b09a332456dbaafd55f25a951 |
|
BLAKE2b-256 | b4db366502d0b1a2ab4d8d2a0c28c494b29ee2c0fc33abcf6c61e9d14b540a55 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe018eded19f9642b9b8b8d7f9bbc7e61fc6a2b14387ba92db04daa0f27fd372 |
|
MD5 | fbf00da7880d81d3e959f634d562e389 |
|
BLAKE2b-256 | d7b16c47aed329b10fb64edd7ebd48b932afdceee04327a00ac40e05c7ec3d1f |