A software tool for blade design

. An interactive software tool for blade design of axial flow machines was created. It is written as an extension module to the open-source software FreeCAD. In its graphical interface, the user can modify the blade profiles, stack them to create the whole blade and generate end walls and other stage features. Or everything can be controlled by a simple Python script. Results can be saved as STEP file or STL mesh and export to a mesh generator and CFD solver. Blade profiles are given by a set of parameters describing Bézier curves, the blade is represented by b-spline surfaces. Up to now, the tool helps the designer to find the right shapes by a 1D method, which evaluates the velocity triangles and the state variables through the machine stage on a mean line (mean radius) from the given design parameters (mass flow, total states in front of the stage, rotational speed etc.) and distribute them along the radius from the hub to the tip. The CFD results of a sample designed stage are included.


Introduction
Nowadays, the turbomachinery laboratory of VZLÚ -Czech Aerospace Research Centre provides the aerodynamic research using their turbomachinery test rigs to help the industrial partners increase the efficiency and reduce emissions of turbomachines.Apart from experimental data, it provides also numerical analyses using CFD software.
To do that a software tool which can simply generate the necessary geometry model is very useful.In addition, if design or optimization processes of the flow paths of new turbomachines are incorporated, such a tool is almost a necessity.
In the past decades, many gas turbine design software were written, however, a lot of them is a private property of the manufacturers.There can be found some available, commercial or free, for example MULTALL [1] or T-AXI [2] or other.They are more or less sophisticated, their predictions based on various methods and empirical relations, but they usually lack the possibility of intuitive geometry modelling.
The presented application has no ambition to compete with professional design tools.It can more likely serve as a teaching tool to get insights into the gas turbine design problem or as a basic geometry tool.Owing to the scripting ability and parameterization it can be integrated into an optimization process.

Tool implementation
The tool is written as an extension module to the opensource software FreeCAD [3], which is a multi-platform 3D CAD/CAE parametric modelling application.Using Open CASCADE geometry kernel, it allows complex 3D operations on geometry objects.FreeCAD has an intuitive Graphical User Interface (GUI) with a Python console, where all user operations are mirrored.So, the user has a possibility to work with the geometry by his/her mouse or typing commands to the console or directly to a command line interpreter.
The extension module is written partially in C language and in Python.All of its features are accessible through the Python interface, which allows an easy way of control and scripting.Python is an intuitive language and is easy to learn.The most frequent features are also available through the GUI.
The tool helps the designer to create the blade geometry from new or given profiles and check the basic geometric properties such as throat width, centre position or moments of inertia.It is possible to create end walls given by b-splines or piecewise linear curves and prepare a 2D or 3D geometry to do a CFD analysis.The resulting geometry can be saved to STEP, IGS or other exchange formats or as an STL surface mesh.

Blade design description
The blade design starts with a profile geometry.The user has to supply one or more profiles of the blade sections.These can be either data files with point coordinates (e.g. from some database) or profiles created by a parameterization.

Profile parameterization
The profile parameterization is based on the method [4] where the geometry is described by two Bézier curves of fifth degree and an arc on the trailing edge.The total number of 16 parameters can be divided into two groups.The first group contains parameters such as chord length c, blade inlet and exit angles αib, αeb, trailing edge thickness angle ψ, leading and trailing edge radiuses RLE, RTE and stagger angle γ.The second group consists of length parameters describing the Bézier curves (see Fig. 1.).The connection of the two curves on the leading edge ensures continuity of second order, in other words, the curvature has no jump.This way of parameterization ensures a broad set of possible shapes and allows quite straightforward modifications.In the GUI, the user sees an immediate response of a parameter change to the control polygon and therefore to the profile shape, together with throat visualization and basic profile properties.Fig. 2. Design of a profile shape in the GUI.

Profile analysis
The tool offers also a possibility to check some of the geometry quantities such as area, principal moments of inertia, throat width and its position, gas outlet angle estimate and others.
The real gas outlet angle αe is unfortunately different from the blade exit angle αeb.The difference, called a deviation angle, depends on the blade shape (especially on the suction side behind the throat), Mach number and boundary layers and so on.If the profile is near end walls then a secondary flow or clearances and seal outlets also affect the angle.Its precise value can be evaluated by time-consuming flow solution which is not what we are interested in.There exist many more or less precise estimates based on empirical data.The one used in this application is based on the work [5].The outlet gas angle ( ) ( ) where function f(x) = -11.51+1.156x correlates αe and arccos(o/t) for "straight-backed" blades and e = j 2 / 8z is the mean radius of curvature of the suction side between the throat and the trailing edge (see Fig. 3.).For Mach number below 0.5 the outlet angle is given by eq. ( 1), for Mach number near unity it closely relates to arccos(o/t).Angle for Mach between 0.5 and 1.0 is a linear combination of these two values.

Fig. 3.
Mean radius of curvature of the suction side for outflow angle estimate.

Blade creation
The blade geometry is defined by one or more cross sections at given blade heights.If only one profile is given a prismatic blade is created.Otherwise, the profiles are connected by b-spline surfaces and the blade solid shape is generated from them.
The profiles can be stacked by three different ways: the radius going through leading edges, going through centres of trailing edges or through centres of mass.This stacking line can be further leaned in the axial or tangential direction.
The blade height is given by hub and tip wall radiuses.The end walls can be also added to the model and a 3D geometry of the part of the blade wheel corresponding to one blade could be generated and exported to a mesh generator.FreeCAD offers a lot of basic or advanced operations with shapes such as intersection, fusion, difference, mirroring etc. which can also be used.
The estimate of the number of blades is based on the Zweifel loading coefficient [2].

1D model analysis
The design of gas turbine stages usually starts with a specification of requirements and constraints depending on our problem.After the input data are determined, an application of a 1D analysis is common.The outputs of this model are velocity triangles and state values through the stage.The designer gets an instantaneous preview of the stage performance and the blading requirements.
The next steps are usually a 2D through flow solution in a meridional cut of the blade channel to obtain the radial variations, then a 2D blade profile designs on cylindrical surfaces and finally a complete 3D flow through the stage.However, these models are time consuming and cannot be done in real time.At this moment, they are not part of the tool and must be used as external solvers if needed.

Mean line model
The 1D model assumes a simplified flow on a mean line inside the blade channel on a given radius.The implemented model assumes a mean radius but it is possible to modify the algorithm to accept different radiuses.
There is a lot of possibilities how to choose input data, it can be a combination of pressure, temperature and velocity at given positions 0, 1 and 2 in the turbine stage together with angles, dimensionless coefficients or other design parameters.The application has up to now a possibility to choose from five variants of input data: 1) P0c, T0c, α0, α2, Λ, ṁ, rH, rT, RPM, Y1, Y2, 2) P0c, T0c, α0, Π, Λ, ṁ, rH, rT, RPM, Y1, Y2, 3) P0c, T0c, α0, α1, β2, Π, rH, rT, RPM, Y1, Y2, 4) P0c, T0c, α0, α2, Π, Λ, rH, rT, RPM, Y1, Y2, 5) P0c, T0c, α0, α2, Λ, ṁ, r0H, r0T, RPM, Y1, Y2 (const Ca) The first variant means a prescription of input and output absolute flow angles together with a mass flow and a degree of reaction Λ = (T1is -T2is) / (T0c -T2is). ( The pressure drop through the stage depends on the given data.The second variant replaces the outflow angle with the pressure ratio Π = P0c / P2.The variant 3 can be useful when the geometry of stator and rotor are given (i.e.angles α1, β2).The fourth variant evaluates the stage performance from stage inlet and outlet absolute angles, pressure ratio and degree of reaction.All of these variants suppose that the end wall radiuses through the stage are given and so the axial velocity changes.On the other hand, the last variant assumes a constant axial velocity.The effect of a boundary layer on the blade surface and other loss mechanisms are introduced into the model as pressure loss coefficients Yi, where Y1 = (P0c -P1c) / (P1c -P1), (3) Y2 = (P1c,rel -P2c,rel) / (P2c,rel -P2). (4) The area of the annulus is evaluated from the radiuses rH and rT and the blade velocity U from revolution RPM.
The solution of the problem uses two basic assumptions.The first one is the conservation of mass which implies constant (or given) mass flow through the stage.The second one is the Euler turbine equation which leads to the relation cp(T1c -T2c) = 2π RPM/60 (r1C1u -r2C2u).
( Only the first and last variants will be shown in detail, the other variants are derived in a similar manner.All computations assume a perfect gas with no heat transfer through walls into the surroundings.

Variant 1
In the first variant of the 1D method, the absolute inlet and exit angles of the turbine stage are given.The blade heights are also given and so the axial velocity can vary.The total temperature can be defined as and it represents a temperature of a gas which was brought to rest in an isentropic process.In an isentropic flow, pressure and temperature can be related with ( ) ( ) Since no work is done in the stator, the total temperature should stay the same (see Fig. 4.).To evaluate all unknown parameters involved in the stage design, the temperature after stator T1 is assumed an unknown variable at this moment.Then the static pressure P1 is evaluated from eq. ( 3) and (7) Using the relations (2) and (7), the stage exit pressure P2 is obtained The stator outflow angle α1 is computed from the equation for mass flow ṁ1 = C1cosα1 A1P1 / RT1 (10) where ( ) . The components of the relative velocity are Va = Ca, Vu = Cu -U, thus ( ) and After the remaining values of P1c,rel , P2c,rel, T2 and C2 = ṁ2RT2 / A2P2 cosα2 are evaluated, all the necessary variables are put to the rewritten equation ( 5) and the equation is solved for the unknown T1.The equation can have more than one solution, so we need some condition how to choose one.There are usually three roots of the eq.( 13), the first corresponds to a very low temperature drop and almost no work done, the last root corresponds to a high temperature drop and often high supersonic velocities and so the middle one promises the best results.From this follows that the total-to-static efficiency ηTS = (T0c -T2c) / (T0c -T2is) ( seems to be a reasonable criterion.

Variant 5
This is up to now the only variant where the blade heights are part of the solution.The axial velocity is assumed constant through the stage and so the blade height is rising.The geometry is designed to satisfy the given absolute flow stage inlet and outlet angles and the dimensions of the stage inlet (r0H and r0T) are given to get the right scale.This method can be used to design a part of a turbine with repeating stages (that means stages with the same blade geometry).The stator inlet area A0 and mean radius are evaluated directly from the input data.The relation between Mach number and mass flow can be derived as and thus the Mach number M0 can be obtained together with the remaining unknowns before the stator.Now the axial velocity is known and it is possible to continue in the computations.The relations are written with respect to the unknown variable T1, namely eq. ( 8), ( 9), ( 11) and ( 12).The velocities are evaluated from the known axial velocity C0a and the angles α0 and α2.At the end, we obtain two relations for the temperature behind the rotor, Solution of this system is the searched value of T1.Again, there could be more than one solution so the ηTS criterion is used.

Radial distribution
The above-mentioned model solves the velocity triangles on a simplified streamline that lies on a mean radius.However, the blade velocity rises with increasing radius and the whirl velocity component causes the static pressure to vary across the blade height.From this reason the velocity triangles must also vary with the radius.It is widely supposed in turbine design methods that any radial flow is done inside a blade row and outside is the radial velocity zero and the flow is axisymmetric.This is called a radial equilibrium flow with satisfies r C dr The change of total specific enthalpy with respect to radius can be expressed as If the total enthalpy (and thus total temperature) together with the entropy are the same along the radius and the axial velocity remains also the same, then the eq.( 20) becomes which implies Cur = const.
(22) This is known as a free-vortex flow.

Comparison with CFD
As follows from the description of the 1D method mentioned above, it cannot deal with any secondary flow or three-dimensional flow structures.The distribution of losses along the radius is not implemented yet.From that reason, a simple turbine stage with constant radiuses and zero clearances at the stator and rotor blade ends is The stator blade according to the velocity triangles is almost prismatic.On the other hand, the rotor blade was chosen twisted to correspond to the expected inlet angles.The resulting geometry is visible in the Fig. 5.It must be said that this stage design is only illustrative.Its handmade shape takes no care about losses and has many shortcomings to be applied in practice.However, its almost random design is useful for the verification purposes.The design was evaluated with the CFD software Edge [6] in 2D blade to blade cylindrical cuts and 3D geometry solution.The stator-rotor interaction was simulated by a mixing plane boundary condition, the flow was fully turbulent.To suppress secondary flow effects, the annulus end walls were treated as a slip (Euler) wall boundary.
The results of the 1D analysis together with 2D and 3D CFD results are summarized in the next tables.Since the analysis needs predictions of pressure losses and also of deviation angles, the whole design task is an iterative process.The presented results are from the second iteration, where the angles and losses estimates were slightly changed according to 2D CFD result on the mean radius.agreement with the preliminary results from the stage analysis.This shows that the analysis together with the radial distribution can give good insight into the problem, especially in simple cases.

Conclusions
The presented tool can be useful in preliminary stages of design process.The user can interactively check a prediction of a stage performance and its response to changes in the input data.It is also possible to create and export the geometry and automates the whole process using a simple Python script.The design tool will be available in the near future at www.vzlu.cz.

Fig. 5 .
Fig. 5. Geometry of blades with 1D analysis of the stage.

Table 4 .
Results on the tip end wall (r = 0,2 m).The CFD results of the 2D profile solution, together with the 3D solution of the whole geometry are in good https://doi.org/10.1051/epjconf/202226901055EPJ Web of Conferences 26 EFM 2019