Airfoil#

class pynumad.objects.airfoil.Airfoil(filename: str = None, coords: ndarray = None, reference: str = None)#

Bases: object

Airfoil class

name#

User selected airfoil name

Type:

str

reference#

Header info in file

Type:

string

coordinates#

Profile data in two columns

Type:

array

c#

Computed by NuMAD

Type:

array

camber#

Camber line as a function of x. Distance in percent chord between LP and HP curves. Computed by pyNuMAD.

Type:

array

thickness#

Relative thickness as a function of the x coordinate. Values between 0 and 1, where 1 corresponds to maximum thickness. Computed by pyNuMAD.

Type:

float

percentthick#

Maximum airfoil thickness as a percentage of chord length [#]

Type:

float

maxthick#

Airfoil thickness as a percentage of chord. Values between 0 and 1.

Type:

float

te_type#

Options, ‘round’, ‘sharp’, or ‘flat’

Type:

str

Parameters:
  • filename (string) – path to filename of airfoil (xml somewhat supported)

  • coords (array) – coordinate array

  • reference (string) – Name of airfoil reference

property x#

Horizontal axis of Airfoil shape coordinates Working clockwise starting from the TE to the LE and back to the TE. LE must be at (1,0) and TE at (0,0). Needed only by AirfoilDef.plot

TODO docstring

property y#

Vertical axis of Airfoil shape coordinates Working clockwise starting from the TE to the LE and back to the TE. LE must be at (1,0) and TE at (0,0). Needed only by AirfoilDef.plot

TODO docstring

read_xml(filename: str)#

Populate airfoil object with data from airfoil xml

Parameters:

filename (str)

Returns:

Self

manageTE()#

Updates te_type

resample(n_samples: int = 150, spacing: str = 'cosine')#

Resample airfoil coordinates

Parameters:
  • n_samples (int) – Defaults to 150

  • spacing (str) – spacing method for new samples spacing = ‘auto’ | ‘half-cosine’ | ‘cosine’

Returns:

Self

Example

af.resample(n_samples,spacing) af.resample(200,’half-cosine’);