33Performs angle of attack sweep using Xfoil. A number of options are available
44to improve convergence and customize the run. Returns cl,cd,cdp,cm,converged
55# Arguments
6- - `x::Array{Float64 ,1}`: Airfoil coordinates start from trailing edge looping counterclockwise
7- - `y::Array{Float64 ,1}`:
8- - `aoa::Array{Float64 ,1}`: Array of angle of attacks in degrees
9- - `re::Float64 `: Reynolds number
10- - `ma::Float64 `: Mach number
6+ - `x::AbstractArray{<:Real ,1}`: Airfoil coordinates start from trailing edge looping counterclockwise
7+ - `y::AbstractArray{<:Real ,1}`:
8+ - `aoa::AbstractArray{<:Real ,1}`: Array of angle of attacks in degrees
9+ - `re::Real `: Reynolds number
10+ - `ma::Real `: Mach number
1111- `iter::Integer=50`: Maximum number of iterations
1212- `npan::Integer=140`: Number of panels
1313- `percussive_maintenance::Bool=true`: Try harder to achieve convergence
@@ -16,8 +16,9 @@ to improve convergence and customize the run. Returns cl,cd,cdp,cm,converged
1616- `clmaxstop::Bool=false`: Stop if lift coefficient decreases twice consecutively going up
1717- `clminstop::Bool=false`: Stop if lift coefficient increases twice consecutively going down
1818"""
19- function xfoilsweep (x:: Array{Float64,1} ,y:: Array{Float64,1} ,aoa:: Array{Float64,1} ,
20- re:: Float64 ;mach:: Float64 = 0.0 ,iter:: Integer = 50 ,
19+ function xfoilsweep (x:: AbstractArray{<:Real,1} ,y:: AbstractArray{<:Real,1} ,
20+ aoa:: AbstractArray{<:Real,1} ,
21+ re:: Real ;mach:: Real = 0.0 ,iter:: Integer = 50 ,
2122 npan:: Integer = 140 ,percussive_maintenance:: Bool = true ,printdata:: Bool = false ,
2223 zeroinit:: Bool = true ,clmaxstop:: Bool = false ,clminstop:: Bool = false )
2324
@@ -47,8 +48,8 @@ function xfoilsweep(x::Array{Float64,1},y::Array{Float64,1},aoa::Array{Float64,1
4748 return cl,cd,cdp,cm,conv
4849end
4950
50- function xfoilsweep (x:: Array{Float64 ,1} ,y:: Array{Float64 ,1} ,aoa:: Array{Float64 ,1} ,
51- re:: Float64 ,mach:: Float64 ,iter:: Integer ,
51+ function xfoilsweep (x:: AbstractArray{<:Real ,1} ,y:: AbstractArray{<:Real ,1} ,aoa:: AbstractArray{<:Real ,1} ,
52+ re:: Real ,mach:: Real ,iter:: Integer ,
5253 npan:: Integer ,percussive_maintenance:: Bool ,printdata:: Bool ,
5354 clmaxstop:: Bool ,clminstop:: Bool )
5455
110111Attempts to converge previously unconverged XFOIL solutions through modifying the
111112solution initial conditions. Returns cl,cd,cdp,cm,converged
112113"""
113- function dopercussivemaintainance (x:: Array{Float64 ,1} ,y:: Array{Float64 ,1} ,
114- aoa:: Float64 ,re:: Float64 ,mach:: Float64 ,iter:: Integer ,npan:: Integer )
114+ function dopercussivemaintainance (x:: AbstractArray{<:Real ,1} ,y:: AbstractArray{<:Real ,1} ,
115+ aoa:: Real ,re:: Real ,mach:: Real ,iter:: Integer ,npan:: Integer )
115116 remod = re
116117 aoamod = aoa
117118 for j = 1 : 25
0 commit comments