PyFly: a fast, portable aerodynamics simulator. (English) Zbl 1443.76002

Summary: We present a fast, user-friendly implementation of a potential flow solver based on the unsteady vortex lattice method (UVLM), namely PyFly. UVLM computes the aerodynamic loads applied on lifting surfaces while capturing the unsteady effects such as the added mass forces, the growth of bound circulation, and the wake while assuming that the flow separation location is known a priori. This method is based on discretizing the body surface into a lattice of vortex rings and relies on the Biot-Savart law to construct the velocity field at every point in the simulated domain. We introduce the pointwise approximation approach to simulate the interactions of the far-field vortices to overcome the computational burden associated with the classical implementation of UVLM. The computational framework uses the Python programming language to provide an easy to handle user interface while the computational kernels are written in Fortran. The mixed language approach enables high performance regarding solution time and great flexibility concerning easiness of code adaptation to different system configurations and applications. The computational tool predicts the unsteady aerodynamic behavior of multiple moving bodies (e.g., flapping wings, rotating blades, suspension bridges) subject to incoming air. The aerodynamic simulator can also deal with enclosure effects, multi-body interactions, and B-spline representation of body shapes. We simulate different aerodynamic problems to illustrate the usefulness and effectiveness of PyFly.


76-04 Software, source code, etc. for problems pertaining to fluid mechanics
76-10 Mathematical modeling or simulation for problems pertaining to fluid mechanics
76G25 General aerodynamics and subsonic flows
Full Text: DOI Link


[1] Perez, R. E.; Jansen, P. W.; Martins, J. R.R. A., Pyopt: a python-based object-oriented framework for nonlinear constrained optimization, Struct. Multidiscip. Optim., 45, 1, 101-118, (2012) · Zbl 1274.90008
[2] Alonso, J. J.; LeGresley, P.; van der Weide, E.; Martins, J. R.R. A.; Reuther, J. J., Pymdo: A framework for high-fidelity multi-disciplinary optimization, (10th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference, (2004), AIAA 2004-4480)
[3] Chen, Y.-Y.; Bilyeu, D. L.; Yang, L.; Yu, S.-T. J., SOLVCON: A python-based cfd software framework for hybrid parallelization, (49th AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, (2011), AIAA 2011-1065)
[4] Alnaes, M. S.; Blechta, J.; Hake, J.; Johansson, A.; Kehlet, B.; Logg, A.; Richardson, C.; Ring, J.; Rognes, M. E.; Wells, G. N., The fenics project version 1.5, Arch. Numer. Softw., 3, 100, 9-23, (2015)
[5] Dalcin, L.; Collier, N.; Vignal, P.; Cortes, A. M.A.; Calo, V. M., Petiga: A framework for high-performance isogeometric analysis, Comput. Methods Appl. Mech. Engrg., 308, 151-181, (2016)
[6] Sarmiento, A. F.; Crtes, A.; Garcia, D.; Dalcin, L.; Collier, N.; Calo, V., Petiga-MF: A multi-field high-performance toolbox for structure-preserving b-splines spaces, J. Comput. Sci., 18, 117-131, (2017)
[7] Ghommem, M.; Hajj, M. R.; Mook, D. T.; Stanford, B. K.; Beran, P. S.; Watson, L. T., Global optimization of actively-morphing flapping wings, J. Fluids Struct., 30, 210-228, (2012)
[8] Stanford, B. K.; Beran, P. S., Analytical sensitivity analysis of an unsteady vortex-lattice method for flapping-wing optimization, J. Aircr., 47, 647-662, (2010)
[9] M. Ghommem, N. Collier, A.H. Niemi, V.M. Calo, Shape optimization and performance analysis of flapping wings, in: Proceedings of the Eighth International Conference on Engineering Computational Technology, 2012.
[10] Persson, P.; Willis, D.; Peraire, J., Numerical simulation of flapping wings using a panel method and high-order Navier-Stokes solver, Internat. J. Numer. Methods Engrg., 89, 1296-1316, (2012) · Zbl 1242.76378
[11] Stewart, E. C.; Patil, M. J.; Canfield, R. A.; Snyder, R. D., Aeroelastic shape optimization of a flapping wing, J. Aircr., 53, 636-650, (2016)
[12] Verstraete, M. L.; Preidikman, S.; Roccia, B. A.; Mook, D. T., A numerical model to study the nonlinear and unsteady aerodynamics of bioinspired morphing-wing concepts, Int. J. Micro Air Vehicles, 7, 327-345, (2015)
[13] Nguyen, A. T.; Kim, J.-K.; Han, J.-S.; Han, J.-H., Extended unsteady vortex-lattice method for insect flapping wings, J. Aircr., 53, 1709-1718, (2016)
[14] Colmenares, J. D.; Lopez, O. D.; Preidikman, S., Computational study of a transverse rotor aircraft in hover using the unsteady vortex lattice method, Math. Probl. Eng., 2015, (2015), article ID 478457
[15] Gebhardta, C. G.; Preidikmana, S.; Massaa, J., Numerical simulations of the aerodynamic behavior of large horizontal-axis wind turbines, Int. J. Hydrogen Energy, 35, 6005-6011, (2010)
[16] Meng, F.; Schwarze, H.; Vorpahl, F.; Strobel, M., A free wake vortex lattice model for vertical axis wind turbines: modeling, verification and validation, J. Phys., 555, 1-8, (2014)
[17] Sezer-Uzol, N.; Uzol, O., Effect of steady and transient wind shear on the wake structure and performance of a horizontal axis wind turbine rotor, Wind Energy, 16, 1-17, (2013)
[18] Rosenberg, A.; Sharma, A., A prescribed-wake vortex lattice method for preliminary design of co-axial, dual-rotor wind turbines, J. Sol. Energy Eng., 138, 1-9, (2016)
[19] Ng, B. F.; Hesse, H.; Palacios, R.; Graham, J. M.R.; Kerrigan, E. C., Aeroservoelastic state-space vortex lattice modeling and load alleviation of wind turbine blades, Wind Energy, 18, 1317-1331, (2015)
[20] Tescione, G.; Ferreira, C. S.; van Bussel, G., Analysis of a free vortex wake model for the study of the rotor and near wake flow of a vertical axis wind turbine, Renew. Energy, 87, 552-563, (2016)
[21] Sebastian, T.; Lackner, M., Development of a free vortex wake method code for offshore floating wind turbines, Renew. Energy, 46, 269-275, (2012)
[22] He, L.; Kinnas, S. A.; Xu, W., A vortex-lattice method for the prediction of unsteady performance of marine propellers and current turbines, Int. J. Offshore Polar Eng., 23, 210-217, (2013)
[23] Jeona, M.; Leea, S.; Leeb, S., Unsteady aerodynamics of offshore floating wind turbines in platform pitching motion using vortex lattice method, Renew. Energy, 65, 207-212, (2014)
[24] Preidikman, S., Numerical simulations of interactions among aerodynamics, structural dynamics, and control systems, (1998), Virginia Tech Blacksburg, VA, (Ph.D. thesis)
[25] Wang, Z., Time-domain simulations of aerodynamic forces on three-dimensional configurations, unstable aeroelastic responses, and control by network systems, (2004), Virginia Tech Blacksburg, VA, (Ph.D. thesis)
[26] Ghommem, M.; Calo, V. M.; Claudel, C. G., Micro-cantilever flow sensor for small aircraft, J. Vib. Control, 21, 2043-2058, (2015)
[27] Nuhait, A. O.; Zedan, M. F., Numerical simulation of unsteady flow induced by a flat plate moving near ground, J. Aircr., 30, 611-617, (1993)
[28] Ghommem, M.; Garcia, D.; Calo, V. M., Enclosure enhancement of flight performance, Theoret. Appl. Mech. Lett., 4, 1-7, (2014)
[29] D. Garcia, N. Collier, M. Ghommem, PyFly, https://bitbucket.org/dgarcialozano/pyfly_v2, 2017.
[30] Neef, M. F.; Hummel, D., Euler solutions for a finite-span flapping wing in Mueller T. J. (ed.), fixed and flapping wing aerodynamics for micro air vehicle applications, (2004), American Institute of Aeronautics and Astronautics, Inc. Reston
[31] Katz, J.; Plotkin, A., Low-speed aerodynamics, (2001), Cambridge University Press MA · Zbl 0976.76003
[32] Langtangen, H. P., Python scripting for computational science, (2010), Springer · Zbl 1151.68352
[33] Nuhait, A. O.; Mook, D. T., Aeroelastic behavior of flat plates moving near the ground, J. Aircr., 47, 464-474, (2010)
[34] Rogers, D. F., An introduction to NURBS with historical perspective, (2001), Academic Press San Diego, CA
[35] Piegl, L.; Tiller, W., The NURBS book (monographs in visual communication), (1997), Springer-Verlag New York
[36] Farin, G., NURBS curves and surfaces: from projective geometry to practical use, (1995), A. K. Peters, Ltd. Natick, MA · Zbl 0848.68112
[37] Cohen, E.; Riesenfeld, R.; Elber, G., Geometric modeling with splines. an introduction, (2001), A K Peters Ltd. Wellesley, Massachusetts · Zbl 0980.65016
[38] Peters, J.; Reif, U., (Subdivision Surfaces, Geometry and Computing, vol. 3, (2008), Springer)
[39] Catmull, E.; Clark, J., Recursively generated B-spline surfaces on arbitrary topological meshes, Comput. Aided Des., 10, 6, 350-355, (1978)
[40] SymPy Development Team, SymPy: Python library for symbolic mathematics, URL http://www.sympy.org, 2012.
[41] Oliphant, T., Guide to numpy, (2006), Trelgol Publishing
[42] Ketcheson, D. I.; Mandly, K. T.; Ahmadia, A. J.; Alghamdi, A.; Luna, M. Q.D.; Parsani, M.; Knepley, M. G.; Emmett, M., Pyclaw: accessible, extensible, scalable tools for wave propagation problems, SIAM J. Sci. Comput., 34, 210-231, (2012)
[43] Dalcin, L.; Paz, R.; Kler, P.; Cosimo, A., Parallel distributed computing using python, Adv. Water Resour., 34, 9, 1124-1139, (2011)
[44] Peterson, P., F2PY: a tool for connecting Fortran and python programs, Int. J. Comput. Sci. Eng., 40, 296-305, (2009)
[45] Ghommem, M.; Collier, N.; Niemi, A. H.; Calo, V., On the shape optimization of flapping wings and their performance analysis, Aerosp. Sci. Technol., 32, 274-292, (2014)
[46] Ghommem, M.; Calo, V., Flapping wings in line formation flight: A computational analysis, Aeronaut. J., 118, 485-501, (2014)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.