Geometry functions for two dimensional airfoils.
More...
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_airfoil_polars.compute_airfoil_polars (a_geo, a_polar, npoints=200, use_pre_stall_data=True) |
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_naca_4series.compute_naca_4series (camber, camber_loc, thickness, npoints=100) |
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_naca_4series.compute_naca_4series_lines (x, camber, camber_loc, thickness) |
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_dat.import_airfoil_dat (filename) |
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_geometry.import_airfoil_geometry (airfoil_geometry_files, npoints=200, surface_interpolation='cubic') |
|
def | SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_polars.import_airfoil_polars (airfoil_polar_files) |
|
Geometry functions for two dimensional airfoils.
◆ compute_airfoil_polars()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_airfoil_polars.compute_airfoil_polars |
( |
|
a_geo, |
|
|
|
a_polar, |
|
|
|
npoints = 200 , |
|
|
|
use_pre_stall_data = True |
|
) |
| |
This computes the lift and drag coefficients of an airfoil in stall regimes using pre-stall
characterstics and AERODAS formation for post stall characteristics. This is useful for
obtaining a more accurate prediction of wing and blade loading. Pre stall characteristics
are obtained in the form of a text file of airfoil polar data obtained from airfoiltools.com
Assumptions:
Uses AERODAS formulation for post stall characteristics
Source:
Models of Lift and Drag Coefficients of Stalled and Unstalled Airfoils in Wind Turbines and Wind Tunnels
by D Spera, 2008
Inputs:
a_geo <string>
a_polar <string>
use_pre_stall_data [Boolean]
Outputs:
airfoil_data.
cl_polars [unitless]
cd_polars [unitless]
aoa_sweep [unitless]
Properties Used:
N/A
◆ compute_naca_4series()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_naca_4series.compute_naca_4series |
( |
|
camber, |
|
|
|
camber_loc, |
|
|
|
thickness, |
|
|
|
npoints = 100 |
|
) |
| |
Computes the points of NACA 4-series airfoil
Assumptions:
None
Source:
None
Inputs:
camber [-] Maximum camber as a fraction of chord
camber_loc [-] Maximum camber location as a fraction of chord
thickness [-] Maximum thickness as a fraction of chord
npoints [-] Total number of points
Outputs:
airfoil_data.
thickness_to_chord
x_coordinates
y_coordinates
x_upper_surface
x_lower_surface
y_upper_surface
y_lower_surface
camber_coordinates
Properties Used:
N/A
◆ compute_naca_4series_lines()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.compute_naca_4series.compute_naca_4series_lines |
( |
|
x, |
|
|
|
camber, |
|
|
|
camber_loc, |
|
|
|
thickness |
|
) |
| |
Computes the camber, thickness, and the angle of the camber line
at a given point along the airfoil.
Assumptions:
None
Source:
Similar to http://airfoiltools.com/airfoil/naca4digit
Inputs:
camber [-] Maximum camber as a fraction of chord
camber_loc [-] Maximum camber location as a fraction of chord
thickness [-] Maximum thickness as a fraction of chord
Outputs:
zt [-] Thickness
zc [-] Camber
th [radians] Angle of the camber line
Properties Used:
N/A
◆ import_airfoil_dat()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_dat.import_airfoil_dat |
( |
|
filename | ) |
|
Import an airfoil data file and stores it in a numpy array.
Assumptions:
Airfoil file in Lednicer format
Source:
None
Inputs:
filename <string>
Outputs:
data numpy array with airfoil data
Properties Used:
N/A
◆ import_airfoil_geometry()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_geometry.import_airfoil_geometry |
( |
|
airfoil_geometry_files, |
|
|
|
npoints = 200 , |
|
|
|
surface_interpolation = 'cubic' |
|
) |
| |
This imports an airfoil geometry from a text file and stores
the coordinates of upper and lower surfaces as well as the mean
camberline
Assumptions:
Works for Selig and Lednicer airfoil formats. Automatically detects which format based off first line of data. Assumes it is one of those two.
Source:
airfoiltools.com/airfoil/index - method for determining format and basic error checking
Inputs:
airfoil_geometry_files <list of strings>
surface_interpolation - type of interpolation used in the SciPy function. Preferable options are linear, quardratic and cubic.
Full list of options can be found here :
https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d
Outputs:
airfoil_data.
thickness_to_chord
x_coordinates
y_coordinates
x_upper_surface
x_lower_surface
y_upper_surface
y_lower_surface
camber_coordinates
Properties Used:
N/A
◆ import_airfoil_polars()
def SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Airfoil.import_airfoil_polars.import_airfoil_polars |
( |
|
airfoil_polar_files | ) |
|
This imports airfoil polars from a text file output from XFOIL or Airfoiltools.com
Assumptions:
Input airfoil polars file is obtained from XFOIL or from Airfoiltools.com
Source:
http://airfoiltools.com/
Inputs:
airfoil polar files <list of strings>
Outputs:
data numpy array with airfoil data
Properties Used:
N/A