Expert Systems with Applications 36 (2009) 11536–11542
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
Turbine stage design aided by artificial intelligence methods q Krzysztof Kosowski a,*, Karol Tucki a, Adrian Kosowski b a b
´ sk University of Technology, Department of Ship Automatics and Turbine Propulsion, Narutowicza 11/12, 80952 Gdan ´ sk, Poland Gdan ´ sk University of Technology, Department of Algorithms and System Modeling, Narutowicza 11/12, 80952 Gdan ´ sk, Poland Gdan
a r t i c l e
i n f o
Keywords: Turbine stage Turbomachinery design Evolutionary algorithm Artificial neural network
a b s t r a c t We propose a general, efficient system for designing turbine cascades and stages in real 3D-flow conditions. The presented algorithms involve application of evolutionary algorithms, as well as Artificial Neural Networks. Results of the design process are shown to be highly optimised in terms of efficiency, whereas computation time is reduced by several orders of magnitude in comparison to methods relying on Computational Fluid Dynamics calculations. Ó 2009 Elsevier Ltd. All rights reserved.
1. Introduction 1.1. Problem description The design of turbine stages is a multi-criteria optimisation process, which usually takes into account the overall costs of energy production. The result of the process is a stage geometry, describing the flow parts of the turbine. Currently used methods of 3D numerical computations have turned out too complex and time-consuming to be applied in real-world technological conditions, and so far have not been economically justified. In this paper we suggest new heuristic algorithms which determine a set of optimal or nearly-optimal stage designs, with respect to the thermal efficiency criterion. Over the years many methods of profile and stage design have been elaborated. The nature of flows in turbine cascades is 3-dimensional and unsteady, and real gas is viscous and compressible. The flow pattern and loss mechanism has been investigated and analysed theoretically for over a century. Recent years have seen intensive development of Computational Fluid Dynamics (CFD) methods (Anderson, 1995; Denton & Dawes, 1998). The behaviour of a single flow element is described by a set of equations consisting of three primary relations: the flow continuity equation, the energy equation and the Navier–Stokes momentum equation, which are well described in fluid flow mechanics handbooks and articles on numerical methods, see, e.g. (Douglas, Gasiorek, & Swaffield, 1998; Yershov, Rusanov, Gardzilewicz, & Lampart, 1998). These equations are applied by contemporary 3D codes such as FlowER or Fluent (see References), usually in their time-averaged form known as the Reynolds equation, for the
computation of flows in turbine cascades. Calculations are preformed for a given stage geometry, provided at input. The general approach to the numerical calculation of flows is the decomposition of the flow channel into small elements forming a grid. Next, by means of a sequential approximation algorithm, differential flow equations are solved, resulting in the determination of parameters in the mesh. For purposes of the optimal design of a stage or a group of stages, the set of geometrical stage parameters must be defined a priori, while CFD analysis for a single variant (depending on the model simplification) may last up to several days on contemporary computer clusters. 1.2. Application of local optimisation methods and Artificial Neural Networks Artificial intelligence methods, including genetic algorithms, simulated annealing (Davis, 1987; Goldberg, 1989), and Artificial Neural Networks (ANN) (Fausett, 1994), are gaining popularity in engineering practice. Examples of applications include diagnostics of gas turbine engines (Sampath, Gulati, & Singh, 2002; Sampath, Li, Ogaji, & Singh, 2003) and of steam power plants (Gluch, 1997; Gluch & Krzyzanowski, 2002), as well as different elements of turbomachinery design, such as calculations of wind turbines (Selig & Coverstone-Carroll, 1996), gas turbine cooling systems (Roy, Tiwari, & Corbett, 2003), and optimisation of turbine profiles and cascades (Li, Feng, Nishida, & Satofuka, 1999; Pierret, 1999). Results of such methods reduce computation time by several orders of magnitude in comparison to those obtained using 3D codes. 1.3. Our contribution
q
Research supported by Alstom Power Poland. Some of the results appeared in Alstom internal publications. * Corresponding author. E-mail address:
[email protected] (K. Kosowski). 0957-4174/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2009.03.053
We propose a system for determining the geometrical parameters of individual turbine stages and groups of stages, subject to different design assumptions, with the goal of maximising overall
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542
turbine efficiency. The approach is based on evolutionary algorithms and Artificial Neural Networks, and makes use of databases of hundreds of known stage geometries as reference data, both for rotor and stator profiles. The methods allow for optimisation of the whole turbine flow part, and not only the geometry of a single blade profile as proposed by Pierret (1999). In order to form a quality measure for a stage geometry, we apply two multi-layer neural networks trained on stator and rotor databases, combined by mathematical formulae. This approach is time-efficient and comparable in quality to costly CFD analysis of the geometry. The process of geometry optimisation is performed using modifications of well known heuristic algorithms. We discuss results obtained using genetical algorithms, simulated annealing and the simple steepest descent method. The proposed methods appear to be some of the first practically feasible methods of designing entire stages and groups of stages. 2. A new approach to turbine stage design The proposed concept of optimised stage design is based on the joint application of results 3D calculations, neural networks and heuristic algorithms. A scheme of the design system is shown in Fig. 1. It makes of use of a database of known characteristics of cascades of nozzles (stator blades, fixed part of the stage) and rotor blades (rotating part of the stage). These can be obtained from experimental and operation data, as well as from CFD calculations. The Artificial Neural Networks for rotor and stator cascades are trained using the known database, and can then be used to estimate all necessary flow and geometrical characteristics for a wide range of design parameters. Taking into account the assumptions of the specific design process and design relations (from knowledge base ), the Artificial Neural Networks are used to generate initial cascade variants (samples) within a wide range of parameters , which fulfill design requirements, but may possibly be far from optimum in terms of stage efficiency criteria. A calculation is then used to perform block with an evolutionary algorithm optimisation, resulting in an optimised design. This solution is then verified using 3D CFD codes and returned as output . 2.1. Stage design characteristics For the considered computational process, the term stage geometry is used to describe the pair SR ¼ ðS; RÞ, where S denotes
11537
the geometry of the stator, while R the geometry of the rotor. Each of these geometries is described in the form of the following tuple: ðb; z; d; b; Ma; a; V; l; gÞ, where b denotes profile stagger angle, z – number of blades, d – cascade diameter, b – profile chord, Ma – Mach number, a – flow inlet angle, V – volume flow rate, l – blade height, as well as g – cascade efficiency. The stator and rotor geometries are in some way complementary (Fig. 2) and are connected by a set of relations (Kosowski, 2007; Traupel, 2001) which has to be fulfilled in turbine flow parts. Given the geometries of two matching cascades S and R, including their respective efficiencies gðSÞ and gðRÞ, it is possible to apply mathematical formulae to provide a good estimate of the efficiency gðSRÞ of the entire stage. In all further considerations, we use the term overall stage efficiency which includes not only losses in cascades, but also additional elements of losses (first of all, stage leakage losses and disc friction losses), which are taken into account using well-known formulae (Kosowski, 2007; Traupel, 2001). 2.2. Input and output parameters The aim of the design process is to find a set SR of stage designs of high efficiency g in such a way as to fulfill all additional design characteristics required by the prospective user. For the sake of simplicity in this paper we assume that the most relevant parameter specified at input is the volume flow rate V (which in practical applications is externally determined by design constraints, e.g. the power output of the entire turbine propulsion unit). The performed computations rely on a knowledge base, provided at input in the form of a set of stator geometries S and a set of rotor geometries R. These data are treated as fixed libraries of tuples ðb; z; d; b; Ma; a; V; l; gÞ derived from results of previous 3D numerical computations with CFD codes such as Fluent or FlowER, as well as the behaviour of real-world machines, and may be applied in the proposed algorithm regardless of the required value of flow rate V . 2.3. Specifics of Artificial Neural Networks The neural networks applied in the system were used for determining the blade height l and efficiency g of a cascade, for known values of the remaining parameters of the flow and cascade geometry, ðb; z; d; b; Ma; a; VÞ#ðl; gÞ.
Fig. 1. Scheme of system for designing optimised turbine stages.
11538
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542
Fig. 2. Scheme of a turbine stage (subscript S for stator cascade and subscript R for rotor cascade).
All the experiments discussed herein were performed using 3layer backpropagation networks, implemented in a Matlab software package (cf. Demuth, Beale, & Hagan (2008) & Fausett (1994) for explanations of neural network terminology). The networks were designed with a linear perceptron structure in the output layer and tangent transformation in the hidden layer. Different network architectures (Demuth et al., 2008) were compared, including feed-forward networks (newff), cascade-forward networks (newcf), and Elman networks (newelm). The following training methods (Demuth et al., 2008) were examined: Levenberg– Marquardt (trainlm), resilient backpropagation (trainrp), conjugate gradient methods (trainscg, traincgb, traincgf, traincgp), quasiNewton methods (trainbfg, trainoss), and a variable learning rate method (traingdx). After preliminary testing, the following network structure was adopted as the most suitable: – 3-layer feed-forward network with 30 neurons in the hidden (middle) layer, – linear perceptron structure in the output layer and tangent transformation in the hidden layer, – supervised network training through 50 epochs of the Levenberg–Marquardt approximation method, iterated with a learning coefficient of 0.2 until the relative error is below a threshold of 103 or the gradient of change is less than machine precision. In order to verify the quality of prediction obtained by means of the neural networks, about 20% of the data from the initial knowledge base was not used in the training process but used as reference test data for values l and g. In most cases the discrepancy is equal to about 0.2–0.5%, a value negligible when taking into account the inaccuracy of numerical calculations; more details, as well as results of testing neural network methods for estimating steam parameter distribution in the turbine flow channels, are presented by Kosowski, Tucki, and Kosowski (2009). 2.4. Specifics of the evolutionary algorithm The algorithm first constructs two neural networks for stator and rotor geometries which, after initial training, using knowledge bases S and R respectively, are capable of estimating optimal val-
ues of blade height l and efficiency g when all other parameters of the geometry are specified at input. In the second part of the algorithm, individual stators and rotors selected from the knowledge base are combined into pairs, thus forming the initial population of stages which undergoes adaptation. The precise form of the evolutionary process depends on the adopted method. The outline of the computational process is briefly described below for the case of evolutionary algorithms, and is analogously defined when considering simulated annealing and the steepest descent method. 1. Creation of an initial population. The initial population of turbine stages SR0 consists of a set of stator geometries S 0 and a set of rotor geometries R0 fulfilling the design requirements (for a given value of volume flow rate V ), drawn from the knowledge base. 2. Evolutionary adaptation. The new populations, S iþ1 of stators and Riþ1 of rotors, are obtained from populations of the previous stage ðS i and Ri respectively) by means of mutation and crossover. For each new specimen, the value of blade height l is obtained by means of the neural network to ensure that the new geometries fulfill design requirements. 3. Calculation of the objective function. The efficiency gðSRÞ for all individuals SR 2 SRiþ1 of the population is evaluated by means of a neural network connected to the knowledge base. This value is treated as the objective function describing the quality of an individual. 4. Selection. The selection of individuals is based on the roulette wheel principle. 5. Termination. The process has a quality-based termination criterion and an additional limit on the number of generations. 6. Verification of result. When the process is complete, a subset of specimens SR of highest quality is selected as the solution, and may be finally verified by means of 3D calculations (to obtain the exact value of efficiency and other performance parameters). New specimens can also be added to the knowledge base. The pseudo-code of the entire process is presented in the Appendix.
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542
3. Results of tests 3.1. Design of individual stages The results obtained by the proposed algorithms depended strongly on the adopted heuristic approach. The implemented methods included different variants of evolutionary algorithms, simulated annealing and the steepest descent method. Experimental verification was carried out for a wide range of input parameters (inlet steam conditions and mass flow rates), corresponding to blade heights ranging from about l ¼ 20 mm to about l ¼ 100 mm, as well as stages with long blades (the last stage of a steam turbine). All the tests were performed for real-world data for Alstom Power cascades (nozzle profiles of PLK and PLK-V types, and rotor blade profiles of P2 and P2-V types, according to Alstom
11539
Power notation). For an exemplary design process the results are presented in Fig. 3a–d, in the form of the values of efficiency of the individuals in the selected solution set SR . In all cases, values of method parameters (initial and final annealing temperature, crossover and mutation probability) were optimally chosen. An enhancement of the evolutionary method may be achieved by replacing the roulette-wheel approach (Davis, 1987) in the solution selection process by a system favouring the best individuals created in the previous two generations. This ensures a more dynamic interchange of individuals, leading to a greater variety of near-optimal solutions in the selected solution set SR . For such an approach, the mean efficiency of an individual in successive generations is presented in Fig. 3e. In almost all of the performed tests, such a modified algorithm leads to several design variants with the highest overall efficiency.
Fig. 3. A comparison of the optimum value of stage efficiency g (bold horizontal line; obtained by exhaustive search of the parameter space) and values of stage efficiency g obtained by means of different heuristic methods (vertical bars): (a) evolutionary selection with two-point crossover, (b) evolutionary selection with one-point crossover, (c) steepest descent method, (d) simulated annealing, (e) modified evolutionary selection method. The bars correspond to the best individuals in the obtained solution set SR , sorted by decreasing values of g.
11540
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542
The obtained values of overall stage efficiency are usually within 0.3% of the highest possible efficiency, determined by exhaustive search (dense sampling) of the considered range of parameters. 3.2. Design of groups of stages The proposed system was also applied in the design process for groups of stages. Different design assumptions were taken into account, for example combinations of: fixed/variable mean diameter, fixed/variable hub diameter, constant/variable stage enthalpy drops, constant/variable values of stage degree of reaction, fixed/ variable nozzle outlet angles. Tests were performed for different variants of the above mentioned heuristic algorithms and assuming different values of enthalpy drop in the group of stages, and different inlet steam parameters. As an example, we compare two variants of groups of stages for a specific design task in Fig. 4, using evolutionary selection with two-point crossover and modified evolutionary selection. In this case, the design process was performed assuming known values of: total enthalpy drop in the group of stages, steam parameters at group inlet, constant value of hub diameter (rotor of disc type). For each cascade, we obtained values of: stagger angles, chords, blade heights, and the number of blades,
leading to the highest overall efficiency of the designed group of stages. As in the case of single stages, the modified evolutionary design algorithm leads to the best results. The obtained values of overall group efficiency usually differ from upper bounds imposed by technological limitations by not more than 0.3%, exceptionally up to 0.5%. The design process for groups of stages can be further accelerated by applying parallel computation for individual stages. A simple implementation (meant as a preliminary demonstration) makes use of n processors, one for each stage, and an additional processor controlling the master process. Exemplary results for two of the evolutionary methods leading to results of highest efficiency are presented in Table 1. As can be seen, by applying parallelisation, the computation time for a group of 6 stages can be reduced from minutes to seconds. Additional studies were performed for different design assumptions, in particular for different steam parameters, enthalpy drop, number of stages, and so on. In qualitative terms, the essence of the obtained conclusions remains the same for all the tested variants.
Fig. 4. Example of overall efficiency g of particular stages and schema of rotor blades of a group of 6 steam turbine stages obtained using the proposed design process with (a) evolutionary selection with two-point crossover and (b) modified evolutionary selection method. The results correspond to hub diameter 780 mm and the following input data (required to determine steam volume flow rate and other parameters): steam inlet pressure 2515 kPa and temperature 360 °C, steam pressure behind the group 2150 kPa, mass flow rate 53 kg s, shaft speed 3000 rpm, mean degree of reaction 0.15.
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542 Table 1 Exemplary computation time for a group of n ¼ 6 steam turbine stages using evolutionary selection with two-point crossover and modified evolutionary selection method, for a PC-class computer with one processor and with n þ 1 ¼ 7 processors. The considered case corresponds to variable diameter and the following input data (required to determine steam volume flow rate and other parameters): steam inlet pressure 3580 kPa and temperature 433°, steam pressure behind the group 3000 kPa, mass flow rate 74 kg s, shaft speed 3000 rpm, mean degree of reaction 0.15. Evolutionary method
Selection with two-point crossover Modified selection method
Computation time [s]
Group efficiency g
1 processor
7 processors
145.3
56.4
0.887
216.3
66.5
0.889
4. Final conclusions 4.1. Quality of solutions The tests were performed for numerous variants of turbine cascade geometries including not only short (cylindrical) blades, but also long twisted blades and highly advanced constructions typical for last stages of large output steam turbines (Lampart, Yershov, & Rusanov, 2005). The obtained experimental results prove that certain evolutionary algorithms combined with carefully trained Artificial Neural
11541
Networks may be successfully applied in the process of designing a turbine stage. In our study, the best results both for single stages and groups of stages were as a rule obtained for two heuristic algorithms: evolutionary selection with two-point crossover and a specific modification of evolutionary selection. As an additional advantage, for these approaches the designer has the option of choosing a stage design from a set of significantly different nearoptimal geometries produced by the algorithm. The values of efficiency g for the determined stages are no worse and often better than those proposed by expert human designers. 4.2. Time efficiency The principle gain from applying the proposed methods is the reduction of the timespan of the design process by several orders of magnitude. Whereas classical design using CFD computations sometimes takes several days to compute the optimal parameters of a single stage geometry, the implemented evolutionary algorithms combined with Artificial Neural Networks produce a set of desirable stages in a matter of seconds on a desktop-class PC computer. By applying further optimisation it may even be possible to reduce computational time, so as to enable real-time interaction with the designer. Appendix. Pseudo-code of the evolutionary algorithm
Require: dataset S ¼ fS1 ; S2 ; . . . ; Sks g of known stator data ðb; z; d; b; Ma; a; V; l; gÞ; dataset R ¼ fR1 ; R2 ; . . . ; Rkr g of known rotor data ðb; z; d; b; Ma; a; V; l; gÞ; flow rate V and algorithm control parameters (p – population size, g – number of generations). Ensure: stage set SR of optimised designs with high stage efficiency g. 1: create neural networks N s ; N r : ðb; z; d; b; Ma; a; VÞ#ðl; gÞ; 2: for each Si ¼ ðbi ; zi ; di ; bi ; Mai ; ai ; V i ; li ; gi Þ in S do 3: feed neural network Ns ðbi ; zi ; di ; bi ; Mai ; ai ; V i Þ :¼ ðli ; gi Þ; 4: for each Ri ¼ ðbi ; zi ; di ; bi ; Mai ; ai ; V i ; li ; gi Þ in R do 5: feed neural network N r ðbi ; zi ; di ; bi ; Mai ; ai ; V i Þ :¼ ðli ; gi Þ; 6: S :¼ InitialDataset (S; V ; N s ); . Find set of stators for flow rate V 7: R :¼ InitialDataset (R; V ; N r ); . Find set of rotors for flow rate V 8: stage set SR0 :¼ ð;; ;Þ; . Create initial p-population for evolutionary process 9: for i :¼ 1 to p 10: SR0 :¼ SR0 [ fCombineStageððRandElemðS Þ; RandElemðR ÞÞ; N s ; N r Þg; 11: for n :¼ 1 to g . Perform g stages of evolutionary process 12: SRn :¼ NextGeneration (SRn1 ; N s ; N r ); 13: SR :¼ fSR 2 SRg : gðSRÞ max gðSRg Þg; 14: return SR ; . Provide set of stages with highest efficiency as the solution 1: function InitialDataset (dataset D; flow rate V ; neural network N) . Uses network N to adapt dataset D for flow rate V and returns the output 2: dataset D :¼ ;; 3: for each Di ¼ ðbi ; zi ; di ; bi ; Mai ; ai ; V i ; li ; gi Þ in D do 4: D :¼ D [ fðbi ; zi ; di ; bi ; Mai ; ai ; V ; Nðbi ; zi ; di ; bi ; Mai ; ai ; V ÞÞg; 5: return D ; 1: function NextGeneration (stage set SRn1 ; neural network N s ; N r ) . Computes the next step of evolutionary optimisation of set SRn1 using networks N s and N r for estimating efficiency and blade height of new stage arrangements 2: fðS1 ; R1 Þ; ðS2 ; R2 Þ; . . . ; ðSp ; Rp Þg :¼ SRn1 ; . Modify b; z; d and b for the stator set by, e.g. mutation and crossover 3: dataset fS01 ; S02 ; . . . ; S0q g :¼ Ev olutionaryAdaptationðfS1 ; S2 ; . . . ; Sp gÞ; . Modify b; z; d and b for the rotor set by, e.g. mutation and crossover 4: dataset fR01 ; R02 ; . . . ; R0q g :¼ Ev olutionaryAdaptationðfR1 ; R2 ; . . . ; Rp gÞ; 5: stage set SRn :¼ ð;; ;Þ; . Create new population using the modified sets 6: For i :¼ 1 to p 7: SRn :¼ SRn [ fCombineStageððS0i ; R0i Þ; N s ; N r Þg; 8: return SRn :¼ Ev olutionarySelectionðSRn Þ; 1: function CombineStage ((stator S, rotor R); neural network N s ; N r ) . Find a stage design based on provided stator and rotor geometry 2: Use network N s to compute fluid velocity vectors at outlet of stator S; 3: Adapt geometry parameters z; b; d of rotor R accordingly; 4: Use networks N s and N r to compute efficiency g for stator S and rotor R; 5: return ðS; RÞ;
11542
K. Kosowski et al. / Expert Systems with Applications 36 (2009) 11536–11542
References Anderson, J. D. (1995). Computational fluid dynamics: The basics with applications. McGraw Hill. Davis, L. (Ed.). (1987). Genetic algorithms and simulated annealing. Morgan Kaufmann Publishers. Demuth, H., Beale, M., & Hagan, M. (2008). Neural network toolbox user’s guide. The MathWorks Inc.. Denton, J. D., & Dawes, W. N. (1998). Computational fluid dynamics for turbomachinery design. Journal of Mechanical Engineering Science, 213, 107–124. Douglas, J. F., Gasiorek, J. M., & Swaffield, J. A. (1998). Fluid mechanics. Longman. Fausett, L. V. (1994). Fundamentals of neural networks: Architectures algorithms and applications. Prentice-Hall. FlowER, CFD Software.
. Fluent, CFD Flow Modeling Software & Solutions. . Gluch, J. (1997). Flow and heat diagnostic analysis for a group of steam turbine stages. In Proceedings of the Second European Conference on Turbomachinery, Antwerpen. Gluch, J., & Krzyzanowski, J. (2002). Application of preprocessed classifier type neural network for searching of faulty components of power cycles in case of incomplete measurement data. In Proceedings of the ASME-TURBO-EXPO’2002, GT-2002-30028. Goldberg, D. (1989). Genetic algorithms in search, optimization, and machine learning. Addison-Wesley. Kosowski, K. (Ed.) (2007). Steam and gas turbines (with examples of Alstom technology), Alstom.
Kosowski, K., Tucki, K., & Kosowski, A. (2009). application of artificial neural networks in investigations of steam turbine cascades, Journal of Turbomachinery, 131, in press. Lampart, P., Yershov, S., & Rusanov, A. (2005). Increasing flow efficiency of highpressure and low-pressure steam turbine stages from numerical optimisation of 3D blading. Engineering Optimisation, 37, 145–166. Li, J., Feng, Z., Nishida, H., & Satofuka, N. (1999). Using whole annealing genetic algorithms for the turbine cascade inverse design problem. Journal of Thermal Science, 8, 32–37. Pierret, S. (1999). Designing turbomachinery blades by means of the function approximation concept based on artificial neural network, genetic algorithms, and Navier–Stokes equations, PhD thesis. Belgium: Von Karman Institute for Fluid Dynamics. Roy, R., Tiwari, A., & Corbett, J. (2003). Designing a turbine blade cooling system using a generalised regression genetic algorithm. CIRP Annals, 52, 415–418. Sampath, S., Gulati, A., & Singh, R. (2002). Fault diagnostics using genetic algorithm for advanced cycle gas turbine. In Proceedings of the ASME-TURBO-EXPO’2002, GT-2002-30021. Sampath, S., Li, Y.G., Ogaji, S.O.T., & Singh, R. (2003). Fault diagnosis of a two spool turbo-fan engine using transient data: A genetic algorithm approach. In Proceedings of the ASME-TURBO-EXPO’2003, GT-2003-38044. Selig, M. S., & Coverstone-Carroll, V. L. (1996). Application of a genetic algorithm to wind turbine design. Journal of Energy Resources Technology, 118, 22–28. Traupel, W. (2001). Thermische Turbomaschinen. Springer-Verlag. Yershov, S., Rusanov, A., Gardzilewicz, A., & Lampart, P. (1998). Numerical simulation of 3D flow in axial turbomachines. Task Quarterly, 2, 319–347.