NACA Airfoil Module
NACA airfoil geometry generators.
This module provides classes for generating NACA 4-digit and 5-digit airfoil coordinates and computing basic aerodynamic properties.
References
Abbott, I.H., and Von Doenhoff, A.E., “Theory of Wing Sections”, Dover Publications, 1959.
- class aerodemo.naca_airfoil.NACAFourDigit(designation, n_points=100, cosine_spacing=True)[source]
Bases:
objectNACA 4-digit airfoil geometry generator.
The NACA 4-digit series airfoils are defined by: - First digit: maximum camber as a percentage of chord - Second digit: location of maximum camber in tenths of chord - Last two digits: maximum thickness as a percentage of chord
- Parameters:
Examples
>>> airfoil = NACAFourDigit('2412') >>> x_upper, y_upper, x_lower, y_lower = airfoil.coordinates()
- thickness(x)[source]
Compute half-thickness distribution.
- Parameters:
x (array_like) – Chordwise positions (0 to 1).
- Returns:
yt – Half-thickness values.
- Return type:
ndarray
- camber_line(x)[source]
Compute camber line and its gradient.
- Parameters:
x (array_like) – Chordwise positions (0 to 1).
- Returns:
yc (ndarray) – Camber line ordinates.
dyc_dx (ndarray) – Gradient of the camber line.
- coordinates()[source]
Compute upper and lower surface coordinates.
- Returns:
x_upper (ndarray)
y_upper (ndarray)
x_lower (ndarray)
y_lower (ndarray)
- lift_curve_slope()[source]
Thin-airfoil theory lift-curve slope (per radian).
- Returns:
dCL/dalpha = 2*pi rad^{-1}
- Return type:
- class aerodemo.naca_airfoil.NACAFiveDigit(designation, n_points=100, cosine_spacing=True)[source]
Bases:
objectNACA 5-digit airfoil geometry generator.
The NACA 5-digit series airfoils provide reflex camber options. Designation examples: ‘23012’, ‘23015’, ‘23112’ (reflex).
- Parameters:
Examples
>>> airfoil = NACAFiveDigit('23012') >>> x_u, y_u, x_l, y_l = airfoil.coordinates()