PyFly: A fast, portable aerodynamics simulator

D. Garcia, M. Ghommem, N. Collier, B.O.N. Varga, V.M. Calo

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

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.
Original languageEnglish (US)
Pages (from-to)875-903
Number of pages29
JournalJournal of Computational and Applied Mathematics
Volume344
DOIs
StatePublished - Mar 18 2018

Fingerprint

Dive into the research topics of 'PyFly: A fast, portable aerodynamics simulator'. Together they form a unique fingerprint.

Cite this