On Applying of Generalized Computational Experiment to Numerical Methods Verification* Aleksey Alekseev[0000-0001-8317-8688], Alexander Bondarev[0000-0003-3681-5212], Vladimir Galaktionov[0000-0001-6460-7539], Artem Kuvshinnikov[0000-0003-1667-6307] and Lev Shapiro[0000-0002-6350-851X] Keldysh Institute of Applied Mathematics RAS, Moscow, Russia aleksey.k.alekseev@gmail.com, bond@keldysh.ru, vlgal@gin.keldysh.ru, kuvsh90@yandex.com, pls@gin.keldysh.ru Abstract. This work is devoted to the application of a generalized computa- tional experiment for a comparative assessment of numerical methods accuracy. A generalized computational experiment allows one to obtain a numerical solu- tion for a class of problems determined by the ranges of defining parameters variation. The approaches to the application of a generalized computational ex- periment in the presence of a reference solution and in its absence are dis- cussed. An example of constructing error surfaces is given when the solvers of the OpenFOAM software package are compared. The classic inviscid problem of oblique shock wave is used as a basic task. Variations of the key parameters of the problem — the Mach number and angle of attack — are considered. An example of the problem of flow around a cone at an angle of attack with vary- ing Mach number, cone angle and angle of attack is also considered. The con- cept of an error index is introduced as an integral characteristic of deviations from the exact solution for each solver in the class of problems under considera- tion. Keywords: Generalized Computational Experiment, Numerical Methods, Veri- fication Problems, Flow Around a Cone, Oblique Shock Wave, Error Surfaces, Error Index. 1 Introduction Throughout the history of the development of computational mathematics and math- ematical modeling, problems of verification of numerical methods have occupied a special place. When creating a new numerical method or modifying an existing one, the authors had to show the efficiency of their developments and evaluate their accu- Copyright © 2020 for this paper by its authors. Use permitted under Creative Commons Li- cense Attribution 4.0 International (CC BY 4.0). * This work has been supported by the RFBR grants 19-01-00402 and 20-01-00358. 2 A. Alekseev et al. racy before proceeding with solving practical problems. A huge number of works are devoted to these studies. As an example, we can point to the works [1-12]. Verifica- tion of the obtained results and assessment of the accuracy of the applied numerical method was an obligatory part of research in the field of mathematical modeling of physical processes. As a rule, a comparison of the numerical results was carried out with some refer- ence solution, in the role of which the exact solution was used if available or the available experimental data. A separate problem is the estimation of the accuracy of numerical methods in the absence of a reference solution. In the practice of a physical experiment, results that do not have an error spread- band are not considered complete and, as a rule, are not submitted to journals. In con- trast, in the practice of a computational experiment (especially in CFD problems), the results containing information about the error of the result (calculation) are currently rather an exception. This is not to say that there are no methods for estimating the approximation error at all, the problem is rather different. Quite a long time ago (1986) paper [1] lists thirteen ways to estimate the error. Now there are definitely more of them, but such a number of methods implicitly hints at the lack of one accu- rate, reliable and economical method. The relevance of the problems of verification of numerical methods and calcula- tions based on them is also evidenced by the presence of federal standards, both for- eign [13,14] and recently appeared Russian [15]. It should be noted that at present the relevance of verification problems is steadily increasing due to the widespread use of open and commercial packages for solving various problems of mathematical modeling. As a rule, such packages provide the user with a certain set of numerical methods presented in the form of solvers integrat- ed into the software package. In this case, the user is faced with the problem of choos- ing a solver. And here a number of difficulties arise. Not all solvers undergo compre- hensive testing before being implemented into a software package. Commercial pack- ages do not provide complete open information about the implemented numerical methods and their properties. Various development teams can add solvers to open source packages, but they often cannot provide full testing. Therefore, research in the field of verification and comparative evaluation of numerical methods is becoming more and more necessary. Historically, verification in problems of computational aerogasdynamics consisted of two parts. The first is modeling a qualitative flow pattern containing discontinui- ties, separated flows, vortices, etc. The second is to ensure the accuracy of the calcu- lation of quantitative characteristics. Here it was necessary to rely on a reference solu- tion - experimental, accurate, or obtained by calculations using other methods. Verification was usually carried out for one separate task. By default, it was as- sumed that with a small variation in the governing parameters of the problem (veloci- ty, viscosity, time scales, thermophysical characteristics of the medium, geometric parameters), the numerical method under consideration will be applicable and provide a similar accuracy. At the present stage, researchers need more comprehensive estimates of the accu- racy of numerical methods. For example, in assessing accuracy, not for a single task, On Applying of Generalized Computational Experiment to Numerical…3 but for a class of tasks. By a class of tasks is meant a basic task considered in the ranges of change in the set of key parameters. Such parameters in computational aer- odynamics can serve characteristic numbers that determine flow velocity, viscosity, thermophysical properties of the medium, geometric parameters, etc. An opportunity of getting solution for a class of problems is provided by the construction of a gener- alized computational experiment. Also, a generalized computational experiment can be very useful in assessing the accuracy in the absence of a reference solution. In this case, it is possible to estimate the accuracy using an ensemble of solutions obtained by various numerical methods. The variation of the solver is considered as a parame- ter and the parametric problem is solved using a generalized computational experi- ment. The concept, basic methods and approaches of a generalized computational exper- iment, as well as a number of software tools for its implementation were developed in Keldysh Institute of Applied Mathematics RAS. The main aspects of constructing a generalized computational experiment and examples of its implementation are de- scribed in detail in [16–23, 28-30]. 2 Generalized computational experiment The emergence of the concept of a generalized computing experiment is associated with the development of high-performance computing clusters and parallel technolo- gies. In problems of computational aerodynamics, parallel technologies usually pro- vide the ability to quickly calculate on detailed grids. However, parallel technologies provide us with another important opportunity. This is the ability to simultaneously calculate on different nodes the same task with different input data. As a rule, such a calculation is performed in multitasking mode. This opens up the possibility of implementing a generalized computational experi- ment. The key parameters of the problem under consideration are divided in certain ranges with a certain step, forming a grid partition of a multidimensional box in a multidimensional space of key parameters. The basic problem is solved using parallel technologies at each point of the grid partition. The obtained results represent multi- dimensional data volumes. Processing, analysis and visual presentation of this data is carried out using methods of visual analytics and scientific visualization. This compu- ting technology is the most general description of a generalized computing experi- ment. Obviously, such a concept can be applied to a wide range of tasks. This range in- cludes parametric studies, optimization problems. A generalized computational exper- iment is an effective tool for solving inverse problems. A large number of different applications of a generalized computational experi- ment are described in detail in [16–23, 28-30]. The concept of a generalized computa- tional experiment was applied to a wide range of both model and practical problems. These tasks include the analysis of the interaction of a viscous supersonic flow with a jet barrier, the flows in the wake of the body, the problems of the interaction of jets, the problem of flowing around a cone at an angle of attack, the problem of 4 A. Alekseev et al. oblique shock waves, and many others. The approach to constructing a generalized computational experiment was applied to the problem of finding the optimal three- dimensional shape of the blades assembly for a power plant in terms of power loads. Also, this approach was applied to the problems of verification of numerical meth- ods. A comprehensive comparative analysis of a number of solvers of the Open- FOAM open software package [24] was carried out in [20–23, 29, 30]. As basic tasks, we used problems that have a reference solution (exact solution or experimental data). These tasks include the problem of a supersonic inviscid flow around a cone at an angle of attack and the problem of an oblique shock wave formation. In both cases, a class of problems was considered, formed by key parameters variations of the prob- lem in question. 3 The approach of accuracy estimation on the ensemble of solutions The estimation of the accuracy of numerical methods in the absence of a reference solution is a separate problem. Undoubtedly, at present, the understanding of the need to estimate the calculation error is present in the field of CFD and is even formulated as standards [13-15]. How- ever, the methods proposed there are based mainly on the convergence of the solution over the grid (according to [2], this approach goes back to C. Runge) and on Richard- son's extrapolation. Both of these approaches are based on the asymptotic behavior of the lowest (in the expansion in terms of the grid step) term of the approximation error and, accordingly, do not provide strict inequalities in the error estimation. For conver- gence “by adhesion” (Runge), the difference of two solutions (on coarse and fine meshes) is used as an estimate of the error. In Richardson's method, this difference between the solutions is refined using a coefficient that depends on the order of ap- proximation. An additional problem in the field of CFD, which complicates the appli- cation of the Richardson method, is the space-variable order of convergence of differ- ent algorithms. In particular, on the shock wave for schemes of any approximation order, the convergence order demonstrates values around unity. To take this effect into account, the generalized Richardson method is used, which allows one to esti- mate the local order of convergence. Unfortunately, this method is significantly un- stable and requires at least four successive mesh refinements, which creates huge computational problems. One of the alternatives in this case is the estimation of accuracy on the ensemble of solutions. The ensemble of solutions obtained by various numerical methods on the same grid allows us to estimate the location of the exact solution and to divide the obtained numerical solutions into clusters of different levels of accuracy. This direc- tion is being actively developed at present and is presented in [25-27]. A natural drawback of this approach is the need for researcher to have at his disposal a certain number of solvers that implement numerical methods with different computational properties. On Applying of Generalized Computational Experiment to Numerical…5 In general, a fairly large volume of numerical experiments [25-27] confirms the possibility of estimating the approximation error on an ensemble of independent nu- merical calculations, which cannot but arouse interest in the analysis of this approach. It seems likely that the transition from a single numerical solution to an ensemble of independent solutions opens up opportunities for the implementation of non-standard concepts of a numerical solution. These topics need deeper analysis and develop- ment. However, if successful, one can hope for the creation of computationally effi- cient algorithms that ensure the verification of numerical solutions even in the ab- sence of reference solutions. An important role in this can be played by the construc- tion of a generalized computational experiment, where the parameter is the choice of the solver, and the numerical solution is implemented in parallel mode simultaneously for the solvers participating in the calculation. 4 Comparative accuracy estimation using reference solution This section provides two examples of constructing a generalized computational ex- periment for a comparative assessment of numerical methods accuracy. As examples, we use the numerical results described in detail in the authors' works [20,23,29,30]. In these papers, two classes of computational gas dynamics problems were considered. The first class of problem describes a flow around a cone at an angle of attack. The second class describes the incidence of an inviscid supersonic gas flow onto a flat plate at an angle of attack. Both of these problems are fairly well known. The first problem has a tabular solution [36], used as a reference solution. The second problem has an exact solution. Let’s consider the first class of problems. We solve the problem of a supersonic gas flow around a cone at an angle of attack. Variable parameters are angle of attack α = 0°, 5°, 10°, Mach number M = 3, 5 and cone half-angle β = 10°, 15°, 20°. The flow scheme is shown in Figure 1. The conditions of the incoming stream at the input are indicated by the index “∞”, and at the output, by the index ξ, since the solution is self- similar and depends on the dimensionless variable. For calculation, the Euler system of equations is used. The system is supplemented by the ideal gas equation of state. Three solvers were selected from the OpenFOAM software package: rhoCentral- Foam (rCF), sonicFoam (sF), and pisoCentralFoam (pCF). Solver rhoCentralFoam is based on a central-upwind scheme which is a combination of central difference and upwind schemes [31,32]. Solver sonicFoam is based on the PISO algorithm (Pressure Implicit with Splitting of Operator) [33]. Solver pisoCentralFoam is a combination of a central-upwind scheme with the PISO algorithm [34]. This solver is not included in the standard set of OpenFOAM solvers. It was created by independent team of devel- opers at the Ivannikov Institute for System Programming RAS. All the calculations were performed using the OpenFOAM version 2.3.0. 6 A. Alekseev et al. Fig. 1. Flow scheme We solved the problem with each solver for the entire set of variable parameters. Thus, we obtained a set of numerical solutions. The exact solution was obtained by interpolating the table solution from [3]. Then we found the error of the solution in the norms L1 and L2. Since different servers implement different numerical methods, the errors were markedly different from each other. The initial and boundary condi- tions, as well as the settings of the solvers, were set similarly to [26,28]. Fig. 2. Pressure field for steady flow Fig. 2 shows the steady-state solution for the pressure field obtained by interpolating the tabular solution from [36], cone half-angle β = 20°, angle of attack α = 10°, Mach number M = 3. On Applying of Generalized Computational Experiment to Numerical…7 Figure 3 shows the error surface in L2 norm for this problem with the variation of the solver and the half-cone angle at fixed Mach number 3 and fixed angle of attack 5°. It can be seen that the deviation from the exact solution increases with the growth of the half-solution angle. One can also see that the rhoCentralFoam and pisoCentral- Foam solvers are approximately equally accurate, while the sonicFoam solver accura- cy is much lower. Fig. 3. Image of the surface deviation from the exact solution for the Mach number 3 and the angle of attack 5° with variation of solvers and half-cone angle. Figure 4 shows the error surface for the same problem with variation of solvers and angle of attack at a Mach number of 5 and a cone half-angle of 15°. Thus, analyzing Figure 3 and Figure 4, we see that for all solvers, the error increas- es with increasing the angle of attack and the angle of the cone half-angle. So, we have here the accuracy assessment for all three solvers participating in this research. This is the result of constructed generalized numerical experiment for the class of problems in question. 8 A. Alekseev et al. Fig. 4. Image of the surface deviation from the exact solution for the Mach number 5 and a cone half-angle 15° with variation of solvers and angle of attack. Fig. 5. Error surfaces with variation of the Mach number and angle of attack for the oblique shock wave [29]. On Applying of Generalized Computational Experiment to Numerical…9 Let’s consider another class of problems. In this case we use well-known problem of oblique shock wave formation. A supersonic gas flow falls on the plate at an angle. Reflecting from the plate, the flow forms an oblique shock wave. The problem has exact solution. In the problem, the Mach number M and the angle of incidence of the supersonic flow β varied, simi- larly to [29,30]. Figure 5 shows the error surfaces for this problem for 4 solvers: rho- CentralFoam (rCF), sonicFoam (sF), pisoCentralFoam (pCF), QGDFoam (QGDF). Now we include into consideration a new solver QGDFoam (QGDF). This solver is based on a system of quasi-hydrodynamic equations. The solver was also created by independent developers. Carrying out similar calculations for several numerical methods implemented in the solvers of the open software package OpenFOAM, makes it possible to build sev- eral such surfaces on one drawing. This opens up the possibility of a deep and clear comparative analysis of the accuracy of the studied numerical methods. The construc- tion of such a generalized computational experiment involves the creation of compu- tational technology from solving a direct problem up to visual analysis of the results. This technique allows carrying out a detailed visual comparison of deviations from the exact solution. It can be seen that in our case, all error surfaces change in the same way. The error increases with the growth of key parameters. The best accuracy in this class of problems is provided by the rCF and pCF solvers, for which the error surfaces are almost identical. Thus, the construction of a generalized computational experi- ment allows us to conduct a full-fledged comparative accuracy assessment for four solvers of the OpenFOAM software package in the class of problems. The class of tasks in this particular case is determined by the basic task (oblique shock wave) and the ranges of variation of the key parameters of the problem — the Mach number and angle of attack. The image of error surfaces presented in Figure 5 gives a fairly clear idea of the com-parative accuracy of OpenFOAM solvers in the class of problems. However, for a more complete assessment, we enter an integral characteristic for each surface. We will call this characteristic the Error Index (EI). The error index is defined as follows. Let i = 1, M and j = 1, N be the grid partitions of key parameters, and 𝐴𝑖𝑗 - the devia- tion from the exact solution at each point of the grid partition. Then the error index is defined as: 𝐸𝐼 = ∑ 𝐴𝑖𝑗 ⁄(𝑀 ∗ 𝑁) 𝑖𝑗 First, we calculate the Error Index for the problem of flow around a cone at an an- gle of attack. 10 A. Alekseev et al. Table 1. Error Index values for the problem of flow around a cone at an angle of attack Solver rCF pCF sF Error Index 0.089811 0.095587 0.182798 Next, we calculate the values of the error index for the problem of oblique shock for- mation. Table 2. Error Index values for the problem of oblique shock formation Solver rCF pCF QGDF sF Error Index 0.037734 0.038751 0.0453406 0.058216 Tables 1 and 2 show that the values of the error index EI fully correspond to the rela- tive positions of the numerical results presented in Figures 3, 4 and 5. Therefore, the calculated error index can serve as a characteristic of the accuracy of numerical meth- ods in the selected class of problems. 5 Conclusion The application of a generalized computational experiment to the problems of com- parative estimation of the accuracy of numerical methods is considered. A generalized computational experiment allows simultaneous calculations of the same problem with different input data based on parallel technologies in a multitasking mode. The ob- tained multidimensional results are examined using visual analysis tools. Two examples of constructing a generalized computational experiment for classes of problems are presented - flow around a cone at an angle of attack and the formation of an oblique shock wave. For both cases the class of problems is formed on the basis of the basic problem and variations of the determining parameters of the problem. For both classes of problems, a comparative assessment of the accuracy of the solvers of the software package OpenFOAM. An example of constructing error surfaces is giv- en. The concept of a numerical method error index for a class of problems is intro- duced. The construction of a generalized computational experiment can serve as an effec- tive tool for verification problems. 6 Acknowledgments This work was supported by RFBR grants 19-01-00402 and 20-01-00358. On Applying of Generalized Computational Experiment to Numerical…11 References 1. Skeel, R.: Thirteen ways to estimate global error. Numer. Math. 48, 1–20 (1986). 2. Repin, S..: A posteriori estimates for partial differential equations. Vol. 4. Walter de Gruy- ter (2008). 3. Oden, J., Prudhomme, S.: Goal-oriented error estimation and adaptivity for the finite ele- ment method. Computers&Mathematics with Applic. 41, 735–756 (2001). 4. Prudhomme, S., Oden, J.: On goal-oriented error estimation for elliptic problems: Applica- tion to the control of pointwise errors, Computer Methods in Applied Mechanics and En- gineering 176, 313-331 (1999). 5. Ainsworth, M., Oden, J.: A posteriori error estimation in finite element analysis. Wiley – Interscience, NY (2000). 6. Babuska, I., Osborn, J.: Can a finite element method perform arbitrarily badly?. Mathemat- ics of Computation of the American Mathematical Society 69(230), 443–462 (2000). 7. Carpenter, M., Casper, J.: Accuracy of shock capturing in two spatial dimensions. AIAA J. 37(9), 1072–1079 (1999). https://doi:10.2514/2.835 8. Banks, J., Hittinger, J., Woodward, C.: Numerical error estimation for nonlinear hyperbol- ic PDEs via nonlinear error transport, Comput. Methods Appl. Mech. Eng. 213, 1–15 (2012). https://doi:10.1016/j.cma.2011.11.021 9. Rauser, F., Marotzke, J., Korn, P.: Ensemble-type numerical uncertainty quantification from single model integrations. Journal Comp. Physics 292, 30–42 (2015). https://doi.org/10.1016/j.jcp.2015.02.043 10. Johnson, C.: On computability and error control in CFD. International J. for Numerical Methods in Fluids 20, 777–788 (1995). https://doi.org/10.1002/fld.1650200806 11. Babuska, I., Rheinboldt, W.: A posteriori error estimates for the finite element method. Int. J. Numer. Methods Eng. 12, 1597–1615 (1978). https://doi.org/10.1002/nme.1620121010 12. Roy, Ch., Raju, A.: Estimation of discretization errors using the method of nearby prob- lems. AIAA J. 45(6), 1232–1243 (2007). https://doi.org/10.2514/1.24282 13. Guide for the Verification and Validation of Computational Fluid Dynamics Simulations, American Institute of Aeronautics and Astronautics, AIAA-G-077-1998, Reston, VA, (1998). 14. Standard for Verification and Validation in Computational Fluid Dynamics and Heat Transfer, ASME V&V 20-2009 (2009). 15. Federal standard Р 57700.12–2018. Numerical simulation of supersonic flows for an invis- cid gas. Software verification. National standard of the Russian Federation for numerical modeling of physical processes. (2018). 16. Bondarev, A.: Analysis of space-time flow structures by optimization and visualization methods. In: Gavrilova, M.L., Kenneth Tan, C.J., Konushin, A. (eds.) Transactions on Computational Science XIX, LNCS, vol. 7870, pp. 158-168. Springer, Heidelberg (2013). 17. Bondarev, A. Galaktionov, V.: Parametric optimizing analysis of unsteady structures and visualization of multidimensional data. International Journal of Modeling, Simulation and Scientific Computing 04 (supp01) (2013). 18. Bondarev, A.: On the construction of the generalized numerical experiment in fluid dy- namics. Mathematica Montisnigri XLII, 52–64 (2018). 19. Bondarev, A.: On visualization problems in a generalized computational experiment. Sci- entific Visualization 11(2), 156–162 (2019). https://doi.org/10.26583/sv.11.2.12 20. Bondarev, A., Kuvshinnikov, A.: Analysis of the accuracy of OpenFOAM solvers for the problem of supersonic flow around a cone. In: Shi, Y., et al. (eds.) ICCS 2018. LNCS, vol. 12 A. Alekseev et al. 10862, pp. 221–230. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93713- 7_18 21. Bondarev, A.: On the estimation of the accuracy of numerical solutions in CFD problems. In: Rodriguez, J.M.F., et al. (eds.) ICCS 2019. LNCS, vol. 11540, pp. 325–333. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22750-0_26 22. Bondarev, A., Galaktionov, V.: Generalized computational experiment and visual analysis of multidimensional data. Scientific Visualization 11(4), 102–114 (2019). https://doi.org/10.26583/sv.11.4.09 23. Alekseev, A., Bondarev, A., Galaktionov, V., Kuvshinnikov, A.: On the construction of a generalized computational experiment in verification problems. Matematica Montisnigri XLVIII, 19-31 (2020). https://doi.org/10.20948/mathmontis-2020-48-3 24. OpenFOAM Foundation. http://www.openfoam.org. last accessed 2020/08/10. 25. Alekseev, A., Bondarev, A.: On exact solution enclosure on ensemble of numerical simu- lations. Mathematica Montisnigri XXXVIII, 63–77 (2017) 26. Alekseev, A., Bondarev, A., Kuvshinnikov, A.: Verification on the ensemble of independ- ent numerical solutions. In: Rodriguez, J.M.F., et al. (eds.) ICCS 2019. LNCS, vol. 11540. pp. 315–324. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22750-0_26 27. Alekseev, A., Bondarev, A.: Estimation of the distance between true and numerical solu- tions. Computational mathematics and mathematical physics 59(6), 857–863 (2019). https://doi.org/10.1134/S0965542519060034 28. Alekseev, A., Bondarev, A., Kuvshinnikov, A.: On uncertainty quantification via the en- semble of independent numerical solutions. Journal of Computational Science 42, 101114 (2020). https://doi.org/10.1016/j.jocs.2020.101114 29. Alekseev, A., Bondarev, A., Kuvshinnikov, A.: Comparative analysis of the accuracy of OpenFOAM solvers for the oblique shock wave problem. Mathematica Montisnigri XLV, 95–105 (2019). https://doi.org/10.20948/mathmontis-2019-45-8 30. Bondarev, A., Kuvshinnikov, A.: Parametric study of the accuracy of OpenFOAM solvers for the oblique shock wave problem. IEEE The Proceedings of the 2019 Ivannikov ISPRAS Open Conference 2019, 108–112 (2019). https://doi.org/10.1109/ISPRAS47671.2019.00023 31. Kurganov, A., Tadmor, E.: New high-resolution central schemes for nonlinear conserva- tion laws and convection-diffusion equations. J. Comput. Phys. 160(1), 241–282 (2000). https://doi.org/10.1006/jcph.2000.6459 32. Greenshields, C., Wellerr, H., Gasparini, L., Reese, J.: Implementation of semi-discrete, non-staggered central schemes in a colocated, polyhedral, finite volume framework, for high-speed viscous flows. Int. J. Numer. Meth. Fluids 63(1), 1–21 (2010). https://doi.org/10.1002/fld.2069 33. Issa, R.: Solution of the implicit discretized fluid flow equations by operator splitting. J. Comput. Phys. 62(1), 40–65 (1986). https://doi.org/10.1016/0021-9991(86)90099-9 34. Kraposhin, M., Bovtrikova, A., Strijhak, S.: Adaptation of Kurganov-Tadmor numerical scheme for applying in combination with the PISO method in numerical simulation of flows in a wide range of Mach numbers. Procedia Computer Science 66, 43–52 (2015). https://doi.org/10.1016/j.procs.2015.11.007 35. Kraposhin, M., Smirnova, E., Elizarova, T., Istomina, M.: Development of a new Open- FOAM solver using regularized gas dynamic equations. Computers & Fluids, 166, 163– 175 (2018). https://doi.org/10.1016/j.compfluid.2018.02.010 36. Babenko, K., Voskresenskii, G., Lyubimov, A., Rusanov, V.: Three-dimensional ideal gas flow past smooth bodies. Nauka, Moscow (1964). (In Russian)