Coder Social home page Coder Social logo

johnathanarya / parablade Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nanand-tud/parablade

0.0 0.0 0.0 47.39 MB

A python based blade parametrization tool

License: GNU General Public License v3.0

Shell 0.16% Python 67.03% Java 0.14% MATLAB 32.67%

parablade's Introduction

ParaBlade is an open-source Python library for the parametrization of turbomachinery blades design using gradient-based optimization algorithms.

python 3.2

python 3.2

platform Linux,_MacOs,_Win64

DOI

Discussion Board

GitHub discussion board is now open... Have a question ? Post it on the discussion board and engage with the community...

Install

pip install git+https://github.com/NAnand-TUD/parablade.git#egg=parablade

Description

Unified parametrization

ParaBlade uses an unified parametrization method to describe the geometry of a wide range of turbomachinery blades including axial, radial, and mixed flow machines.

                  

Meridional channel

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

         

Blade sections

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.

CAD sensitivity

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.

         

Blade matching

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.

         

Pre-requisites

Important: MAC users, please use pip to install python packages as anaconda can give conflicts when using tecplot library.

Pip3

sudo apt-get install python-setuptools python-dev build-essential

MatPlotLib

Use pip3 to install matplotlib. For more information on matplotlib visit [here].
Link matplotlib

sudo pip3 install matplotlib

NumPy

Use pip3 to install numpy. For more information on numpy visit
Link matplotlib.

sudo pip3 install numpy

SciPy

Use pip3 to install CoolProp. For more information on SciPy visit [here]
Link matplotlib.

sudo pip3 install scipy~=1.3.3

Slack Client

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].
Link matplotlib

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
Link matplotlib

TecPlot

Use pip3 to install pytecplot. Information on installation is available below.

sudo pip3 install pytecplot

Link matplotlib

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

Install

Run the command below

RunMe.sh

and follow the instructions to add the parablade bin files in your terminal environment.

Development team

For general comment or question regarding the code please use ParaBlade Discussion Board

If you wish to be a contributar email Parablade developers

  1. Roberto Agromayor - Postdoctoral Researcher, Norwegian University of Science and Technology (NTNU)
  2. 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. Link MailTo

We would also like to acknowledge the following persons for their support during the conceptualization and developtment of Parablade

  1. Matteo Pini - Assistant Professor, Propulsion & Power, Aerospace Engineering, Delft University of Technology (TUD)
  2. Jens-Dominik Müller - Reader, School of Engineering and Materials Science, Queen Mary University of London (QMUL)
  3. Lars O. Nord - Associate Professor, Department of Energy and Process Engineering, Norwegian University of Science and Technology (NTNU)

References

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

parablade's People

Contributors

nanand-tud avatar roberagro avatar afshawnlotfi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.