- THIS VERSION IS DEPRECATED IN FAVOR OF THE "Qt for Python" version. See link below.
PyAero is an open-source airfoil contour analysis and CFD meshing tool written in Python.
Example mesh around HN1033 airfoil
Example mesh around HN1033 airfoil - Leading Edge
Example mesh around HN1033 airfoil - Trailing Edge (with finite thickness)
Example mesh as used in the AVL-FIRE CFD code. Third mesh dimension in 2D is 1 cell layer.
- Airfoil splining and refining
- Airfoil contour analysis (implemented, but disabled at the moment)
- Trailing edge generation, i.e. blunt trailing edge instead of sharp trailing edge
- Automatic generation of block-strcuctured meshes for airfoils
- Mesh control
- Mesh smoothing (to be improved)
- NOT YET IMPLEMENTED: Automatic definition of boundary faces
- Mesh export
- Simple aerodynamic analysis using AeroPython
- NOT YET IMPLEMENTED: Advanced aerodynamic analysis
- Linking to open source CFD software (e.g. SU2)
Releases in brackets refer to my current (January 8th 2017) installation
- Python (2.7.12)
- not tested with any version less than 2.7
- PyQt4 (4.11.4)
- numpy (1.11.2)
- scipy (0.15.1)
- matplotlib (1.5.3)
- not needed for meshing
- for contour analysis
- already implemented, but currently set to disabled
- PyVTK (6.1.0)
- not needed for meshing
- just implemented for playing around
The PyAero documentation is hosted at Read the Docs.
An introductory PyAero tutorial video can be found on YouTube.
The documentation is automatically generated using the files in the docs folder via Sphinx.
Currently there are no binaries available. Therefore, the source code needs to be copied to your computer.
The $ symbol represents the prompt at command shell. It is not part of the command.
$ cd anywhere_on_your_computer
$ git clone https://github.com/chiefenne/PyAero.git
or for a specific version, e.g. for version 1.0.0:
git clone --branch v1.0.0 https://github.com/chiefenne/PyAero
From the PyAero GitHub repository. There is on the upper right side a green pull down menu "Clone or download". Click on it and then click "Download ZIP". You get a file "PyAero-master.zip" which you store anywhere on your computer.
$ cd anywhere_on_your_computer
$ unzip PyAero-master.zip
Or for a specific version, e.g. for version 1.0.0 goto the release page and download the file Source code.zip or click here for direct download of version v1.0.0.
After cloning from Git, or downloading and unzipping, set the environment variable for the PyAero installation path.
$ setenv PYAERO_PATH path_to_your_installation
Run PyAero using:
$ python $PYAERO_PATH/src/PyAero.py
To simplify the command, set an alias.
$ alias pyaero "python $PYAERO_PATH/src/PyAero.py"
Then start PyAero using simply:
$ pyaero
To keep everything stored across session, you might want to add PYAERO_PATH to your .login script. Likewise the start command can be added to .cshrc.
In a cmd shell type (if the installation is on drive D: in the folder My_PyAero_Installation_Path):
$ set PYAERO_PATH=D:/My_PyAero_Installation_Path
Since this stores the PYAERO_PATH variable only for the current seesion, you can aslo press the Win+Pause keys and then open the advanced tab to set the PYAERO_PATH environment variable there to keep it also after reboot.
Run PyAero using from a cmd shell (if python is installed in "c:/python27"):
$ c:/python27/python.exe %PYAERO_PATH%/src/PyAero.py
You should be good to go.
-
1.1.0
- FIRE and GMSH mesh can be generated and exported correctly.
- A single mesh is exported now; no need anymore to connect them later manually
- Right mouse button (if dragged, i.e. press and move) moves geometry or mesh
-
1.0.0
- Meshes can be generated now.
- Export available in AVL-FIRE, SU2 and GMSH formats
Andreas Ennemoser – @chiefenne – andreas.ennemoser@aon.at
Distributed under the MIT license. See LICENSE for more information.