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.AlphaAF
— TypeAlphaAF(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 attackcl::Vector{Float64}
: corresponding lift coefficientscd::Vector{Float64}
: corresponding drag coefficients
or
a file
Arguments
filename::String
: name/path of file to read inradians::Bool
: true if angle of attack in file is given in radians
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.AlphaReAF
— TypeAlphaReAF(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 attackRe::Vector{Float64}
: Reynolds numberscl::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 orderradians::Bool
: true if angle of attack in file is given in radians
DuctAPE.C4Blade.AlphaMachAF
— TypeAlphaMachAF(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 attackMach::Vector{Float64}
: Mach numberscl::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 orderradians::Bool
: true if angle of attack in file is given in radians
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.AlphaReMachAF
— TypeAlphaReMachAF(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 attackRe::Vector{Float64}
: Reynolds numbersMach::Vector{Float64}
: Mach numberscl::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
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.