Package: pymead
pymeadAuthor: Matthew G LauerSource code can be foundhere.
Documentation can be foundhere.WelcomeTo the documentation page forpymead, an object-oriented Python 3 package for single- and multi-element
parametric airfoil design. This Bézier parametrization framework was first presented at the 2022 AIAA Aviation
Conference in Chicago, IL under the title
"A Parametrization Framework for Multi-Element Airfoil Systems Using Bézier Curves."MotivationThe creation of this package was motivated by a research aircraft application: the aerodynamic design of a
propulsion-airframe-integrated commercial transport aircraft. The cross-section of a wing or fuselage with integrated
propulsors can be represented, with some sacrifice in fidelity, as a quasi-2D multi-element airfoil system. This
multi-element airfoil system is comprised of a main airfoil (either the fuselage or main airfoil element), a hub
airfoil (representing the cross-section of an axisymmetric hub), and a nacelle airfoil (representing the cross-section
of an axisymmetric nacelle).How It WorksBy using a well-defined parametrization framework, this airfoil system can be morphed or deformed in a variety of
using changes in high-level design variables. These design variables are represented bypymead.core.param.DesVarobjects in this framework, which have modifiable lower and upper bounds for optimization.
This facilitates aerodynamic analysis, parametric sweeps, and even shape optimization.pymeadhas both an application programming interface (API) and a graphical user interface (GUI), either of which
can be used to define airfoil geometries from basic geometries (like points, lines, and curves), implement
geometric constraints, perform analysis using wrappers for XFOIL and MSES, and even execute aerodynamic or
aero-propulsive shape optimization studies.ApplicationsIt is the hope of the author thatpymeadis sufficiently flexible to be used for airfoil applications of
varying complexities, from simple, single-airfoil design to high-fidelity, multi-element airfoil shape optimization.
Other common multi-element airfoil systems, such as the high-lift configuration on an aircraft, are also target
applications for this software package.One utility provided in this software package which may be useful in the start-up phase of airfoil design ispymead.utils.airfoil_matching.match_airfoil(). This modules allows the matching of a particular parametrization
to any public airfoil geometry atairfoiltools.comusing the gradient-based "SLSQP"
optimizer.AcknowledgmentsThis work was supported by NASA under award number 80NSSC19M0125 as part of the Center for High-Efficiency Electrical
Technologies for Aircraft (CHEETA).Contact InformationAuthor: Matthew G LauerEmail:mlauer2015@gmail.comVersion Notes2.0.0-alpha.0+Version notes have migrated topymead's GitHub releases page1.1.1Corrections to README.md for PyPi long project description (images not showing properly)1.1.0Made corrections on BaseAirfoilParams and AnchorPoint Args domainsAdded support for zero-curvature anchor points
using 180-degree curvature control arm angles (or 90-degree curvature control arm angles for the leading edge)Added support for sharp-juncture anchor points with R=0 or R_{LE}=0. Adding multiple consecutive sharp
juncture anchor points creates line segments. Adding sharp-juncture anchor points violates the principle of slope and
curvature continuity, but may be useful in some cases.