CCBlade Airfoil Types

DuctAPE includes stripped-down versions of most of the airfoil types as well as most of the polar correction methods available in CCBlade. We have modified several of the CCBlade airfoil types to be compatible with the preallocated caching methods used in DuctAPE. Note that any of these methods can be constructed directly or using file inputs, and they will still be compatible with the preallocation and internal reconstruction methods.

The first is an airfoil based only on angle of attack. Its associated evaluation function gives the lift and drag as a function of angle of attack only. Thus the lift and drag fields in this type are vectors.

DuctAPE.C4Blade.AlphaAFType
AlphaAF(alpha, cl, cd)
AlphaAF(filename::String; radians=true)

Airfoil data that varies with angle of attack. Data is fit with an Akima spline.

Arguments

  • alpha::Vector{Float64}: angles of attack
  • cl::Vector{Float64}: corresponding lift coefficients
  • cd::Vector{Float64}: corresponding drag coefficients

or

a file

Arguments

  • filename::String: name/path of file to read in
  • radians::Bool: true if angle of attack in file is given in radians
source

The next two are provide lift and drag not only as a function of angle of attack but also Reynolds number or Mach number (note that these methods are not quite identical, and therefore they cannot be used interchangeably). The lift and drag fiedls in these types are matrices.

DuctAPE.C4Blade.AlphaReAFType
AlphaReAF(alpha, Re, cl, cd)
read_AlphaReAF(filenames::Vector{String}; radians=true)

Airfoil data that varies with angle of attack and Reynolds number. Data is fit with a recursive Akima spline.

Arguments

  • alpha::Vector{Float64}: angles of attack
  • Re::Vector{Float64}: Reynolds numbers
  • cl::Matrix{Float64}: lift coefficients where cl[i, j] corresponds to alpha[i], Re[j]
  • cd::Matrix{Float64}: drag coefficients where cd[i, j] corresponds to alpha[i], Re[j]

or

filenames with one file per Reynolds number.

Arguments

  • filenames::Vector{String}: name/path of files to read in, each at a different Reynolds number in ascending order
  • radians::Bool: true if angle of attack in file is given in radians
source
DuctAPE.C4Blade.AlphaMachAFType
AlphaMachAF(alpha, Mach, cl, cd)
AlphaMachAF(filenames::Vector{String}; radians=true)

Airfoil data that varies with angle of attack and Mach number. Data is fit with a recursive Akima spline.

Arguments

  • alpha::Vector{Float64}: angles of attack
  • Mach::Vector{Float64}: Mach numbers
  • cl::Matrix{Float64}: lift coefficients where cl[i, j] corresponds to alpha[i], Mach[j]
  • cd::Matrix{Float64}: drag coefficients where cd[i, j] corresponds to alpha[i], Mach[j]

or

filenames with one file per Mach number.

Arguments

  • filenames::Vector{String}: name/path of files to read in, each at a different Mach number in ascending order
  • radians::Bool: true if angle of attack in file is given in radians
source

The last CCBlade-like airfoil type combines the previous ones together. The evaluation function for this type give the lift and drag relative to the angle of attack, Reynolds number, and Mach number. The lift and drag fields for this type are 3D arrays.

DuctAPE.C4Blade.AlphaReMachAFType
AlphaReMachAF(alpha, Re, Mach, cl, cd)
AlphaReMachAF(filenames::Matrix{String}; radians=true)

Airfoil data that varies with angle of attack, Reynolds number, and Mach number. Data is fit with a recursive Akima spline.

Arguments

  • alpha::Vector{Float64}: angles of attack
  • Re::Vector{Float64}: Reynolds numbers
  • Mach::Vector{Float64}: Mach numbers
  • cl::Array{Float64}: lift coefficients where cl[i, j, k] corresponds to alpha[i], Re[j], Mach[k]
  • cd::Array{Float64}: drag coefficients where cd[i, j, k] corresponds to alpha[i], Re[j], Mach[k]

or files with one per Re/Mach combination

Arguments

  • filenames::Matrix{String}: name/path of files to read in. filenames[i, j] corresponds to Re[i] Mach[j] with Reynolds number and Mach number in ascending order.
  • radians::Bool: true if angle of attack in file is given in radians
source

As mentioned we also have kept most of the airfoil correction methods and airfoil writing methods from CCBlade. The CCBlade documentation is a good source for how to use them if desired.