SUAVE  2.5.2
An Aerospace Vehicle Environment for Designing Future Aircraft

Geometry functions for two dimensional airfoils. More...

Functions

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)
 

Detailed Description

Geometry functions for two dimensional airfoils.

Function Documentation

◆ 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