ParaBlade is an open-source Python library for the parametrization of turbomachinery blades design using gradient-based optimization algorithms.
GitHub discussion board is now open... Have a question ? Post it on the discussion board and engage with the community...
pip install git+https://github.com/NAnand-TUD/parablade.git#egg=parablade
ParaBlade uses an unified parametrization method to describe the geometry of a wide range of turbomachinery blades including axial, radial, and mixed flow machines.
ParaBlade allows the user to specify an arbitrary shape of the blade in the axial-radial plane. The meridional channel is described by a set of four B-Splines that define the:
- Leading edge
- Trailing edge
- Hub surface
- Shroud surface
ParaBlade also allows the user to specify a wide range of geometries for the blade sections.
Each blade section is defined by a set of B-Spline curves and the control points of these curves are computed using engineering parameters such as metal angles and thickness distribution.
At the moment, there are two available section parametrizations:
- Connecting arcs (G1 continuous)
- Camberline and thickness (G2 continuous)
Both section parametrizations offer a rich design space that covers a wide range of blades, including compressor airfoils as well as reaction and impulse turbine blades.
ParaBlade is able to provide the sensitivity of the surface with respect to the design variables using the complex step method. This information is required to solve shape optimization problems (e.g. maximize the blade isentropic efficiency) using gradient-based algortithms.
ParaBlade is capable to finda parametrization to fit an given blade geometry. The solution of this inverse problem is necessary to optimize the shape of an existing industrial design.
Important: MAC users, please use pip to install python packages as anaconda can give conflicts when using tecplot library.
sudo apt-get install python-setuptools python-dev build-essential
Use pip3 to install matplotlib. For more information on matplotlib visit [here].
sudo pip3 install matplotlib
Use pip3 to install numpy. For more information on numpy visit
.
sudo pip3 install numpy
Use pip3 to install CoolProp. For more information on SciPy visit [here]
.
sudo pip3 install scipy~=1.3.3
If you wish to get notification on slack for your optimization. Please install the slack client else, just continue using
the code as it is. It would have no influence.
Use pip3 to install slack-client. For more information on slack-client visit [here].
sudo pip3 install slackclient
Also add
export SLACK_API_TOKEN="<slack legacy-token>"
in your ~/.bashrc file (~/.bash_profile for Mac users)
To generate a slack legacy-tokens please visit
Use pip3 to install pytecplot. Information on installation is available below.
sudo pip3 install pytecplot
Add the tecplot libraries in your LIBRARY_PATH. Follow the instruction on pytecplot page. Link [https://www.tecplot.com/docs/pytecplot/install.html#id2]
Important: Mac users please visit above link and read about MAC DYLD_LIBRARY_PATH
Run the command below
RunMe.sh
and follow the instructions to add the parablade bin files in your terminal environment.
For general comment or question regarding the code please use ParaBlade Discussion Board
If you wish to be a contributar email Parablade developers
- Roberto Agromayor - Postdoctoral Researcher, Norwegian University of Science and Technology (NTNU)
- Nitish Anand - Postdoctoral Researcher, Propulsion & Power, Aerospace Engineering, Delft University of Technology (TUD)
Feel free to drop us and e-mail if you have questions about the code or you have a bug to report. We would also love to hear about your experiences with Parablade in general.
We would also like to acknowledge the following persons for their support during the conceptualization and developtment of Parablade
- Matteo Pini - Assistant Professor, Propulsion & Power, Aerospace Engineering, Delft University of Technology (TUD)
- Jens-Dominik Müller - Reader, School of Engineering and Materials Science, Queen Mary University of London (QMUL)
- Lars O. Nord - Associate Professor, Department of Energy and Process Engineering, Norwegian University of Science and Technology (NTNU)
Agromayor, R.; Anand, N.; Müller, J. D.; Pini, M.; and Nord, L. O. A General Geometry Parametrization Method for Turbomachinery Blades (submitted to Advances in Engineering Software).