.. _v1-overview:

Feature list
============

Geometry Creation:

* Creating 2D blade profiles
* Conformal mapping of 2D profiles on 3D curved surfaces
* Creating 3D blade by stacking 3D profiles
* Blade row generation by multiplying the blade in cirumferetial direction
* Turbomachinery generation by adding multiple blade rows


Geometry Features:

* single 3D-Nurbs surface for blade
* Nurbs surface continuous up to 2nd derivative
* Nurs curves for hub and shroud


Mesh generation:

* 2D meshing on S2m surface for streamline curvature method
* 2D meshing on S1 surface for blade-to-blade calculations
* 3D cascade meshing for cascade calculations
* 3D blade row meshing for rotating calculations


The Geometry aspects of the '''BladeDesigner''' can be edited and viewed in
the GUI, while the mesh generation is not yet connected to the GUI
(but can be controlled via scripts).

Screenshots
===========

.. image:: ../_static/v1/images/Turbomachine.png
   :width: 49%
.. image:: ../_static/v1/images/Bladerow2.png
   :width: 49%

.. image:: ../_static/v1/images/Bladerow3.png
   :width: 49%
.. image:: ../_static/v1/images/Bladerow1.png
   :width: 49%

.. image:: ../_static/v1/images/PowerFuncCoeffs.png
   :width: 49%
.. image:: ../_static/v1/images/StatorProfil.png
   :width: 49%


Prerequirements
===============

The following modules are required:

**Core**

* `PythonNurbs >=0.3 <http://pypi.python.org/pypi/PythonNURBS>`_
* `PythonCGNS <http://pypi.python.org/pypi/CGNS>`_
* `Scipy <http://www.scipy.org>`_
* `python-vtk  <http://www.vtk.org>`_ - python bindings from the vtk library (for point and STL export)
* `python-occ <http://www.pythonocc.org/>`_ (for IGES and STEP export and the 3D viewer)

**GUI**

* `PyQt4 <http://www.riverbankcomputing.co.uk/software/pyqt/download>`_
* `Matplotlib <http://matplotlib.org/>`_

Accessing the source code via Git on Linux or OS X machines
===========================================================

Preparing cloning
-----------------

If Git isn't installed please do so. You can find Git binaries
`here <http://git-scm.com/downloads>`_.

It is a good practice to save all your repositories in a separate directory.
Therefore open a terminal and type:

::

   $ cd $HOME
   $ mkdir git
   $ cd git

Cloning the remote repository
-----------------------------

If you're a gust a copy of the BladeDesigner repository can be received via::

   $ git clone git://git.code.sf.net/p/bladedesigner/version1 bladedesigner-version1

Gust users have only read permissions for the remote repository. If you need 
read and write permissions you have to have member status. A member
receives a copy of the BladeDesigner repository via::

   $ git clone ssh://USERNAME@git.code.sf.net/p/bladedesigner/version1 bladedesigner-version1

.. attention::

   **USERNAME** needs to be your sourceforge login.

While connecting, a request is prompted asking, whether the connected host 
should be trusted or not. The request will look like this::

   The authenticity of host 'PROJECTNAME.git.sourceforge.net (216.34.181.91)' can't be established.
   RSA key fingerprint is 86:7b:1b:12:85:35:8a:b7:98:b6:d2:97:5e:96:58:1d.
   Are you sure you want to continue connecting (yes/no)? 

Before typing "yes" check, whether the given RSA key fingerprint is in list of
sourceforge hosts to trust. If the fingerprint does not appear in the list,
please contact sourceforge-team.

Finally a local copy of the BladeDesigner repository is stored on hard disk.

Running
=======

The core package source files can be found on the src subdirectory.
All the GUI are located inside the src/GUI directory. You could start the GUI
with::

   $ python src/bladeDesignerGUI.py