Calculates surface velocities, boundary layer, wake for a quasi-axisymmetric body in compressible flow.
A compressible source line represents the potential flow. An integral BL formulation with lateral divergence represents the surface BL and wake. An added-source distribution represents the viscous displacement influence on the potential flow. The body shape is defined by its area and perimeter distributions A(x), b0(x), which are defined by the various geometric parameters in parg.
🔃 Inputs and Outputs
Inputs:
pari::AbstractVector{Int64}: Vector of aircraft model integer/flag parameters.
parg::AbstractArray{Float64}: Vector of aircraft model geometry parameters.
para::AbstractArray{Float64}: Vector of aircraft model aerodynamic parameters.
parm::AbstractArray{Float64}: Vector of aircraft model mission parameters.
ip::Integer: Index of flight point in par arrays.
Outputs:
No explicit outputs. Computed drag values are saved to para of aircraft model.
Trefftz plane analysis computes the induced drag from lifting surfaces. The lift distributions are propagated downstream, accounting for streamline contraction from fuselage thickness variation as shown in the Figure below.
Two shaded streamtubes are shown. Wake center radius $y'_o$ is nonzero due to the fuselage viscous wake displacement area.
The vorticity in the wake is numerially integrated at collocation points to determine the overall induced drag.
Trefftz Plane vortices $i,i\!+\!1 \ldots$ and collocation points $i\!+\!1/2$ used for velocity, impulse, and kinetic energy calculations. Left/right symmetry is exploited.
📖 Theory - induced drag $C_{d,i}$
The induced drag is calculated using a discrete vortex Trefftz-Plane analysis. The circulation of the wing wake immediately behind the trailing edge is
Calculates surface velocities, boundary layer, wake for a quasi-axisymmetric body in compressible flow.
A compressible source line represents the potential flow. An integral BL formulation with lateral divergence represents the surface BL and wake. An added-source distribution represents the viscous displacement influence on the potential flow. The body shape is defined by its area and perimeter distributions A(x), b0(x), which are defined by the various geometric parameters in parg.
🔃 Inputs and Outputs
Inputs:
pari::AbstractVector{Int64}: Vector of aircraft model integer/flag parameters.
parg::AbstractArray{Float64}: Vector of aircraft model geometry parameters.
para::AbstractArray{Float64}: Vector of aircraft model aerodynamic parameters.
parm::AbstractArray{Float64}: Vector of aircraft model mission parameters.
ip::Integer: Index of flight point in par arrays.
Outputs:
No explicit outputs. Computed drag values are saved to para of aircraft model.
Trefftz plane analysis computes the induced drag from lifting surfaces. The lift distributions are propagated downstream, accounting for streamline contraction from fuselage thickness variation as shown in the Figure below.
Two shaded streamtubes are shown. Wake center radius $y'_o$ is nonzero due to the fuselage viscous wake displacement area.
The vorticity in the wake is numerially integrated at collocation points to determine the overall induced drag.
Trefftz Plane vortices $i,i\!+\!1 \ldots$ and collocation points $i\!+\!1/2$ used for velocity, impulse, and kinetic energy calculations. Left/right symmetry is exploited.
📖 Theory - induced drag $C_{d,i}$
The induced drag is calculated using a discrete vortex Trefftz-Plane analysis. The circulation of the wing wake immediately behind the trailing edge is
To minimize any modeling and numerical errors incurred in the wake contraction model and the point-vortex summations, the final induced drag value is scaled by the square of the surface-integral and Trefftz-Plane drag values.
Outputs: -CLsurf::Vector{Float64}: Lift coefficients for each surface. -CL::Float64: Sum of lift coefficients of all surfaces. -CD::Float64: Sum of induced drag coefficients of all surfaces. -spanef::Float64: Span efficiency of combined surfaces ($= (CL^2 / (π*AR))/CD$).
Lifting surface drag is determined via surfcd (when constant airfoil section cdf and cdp are already determined), and surfcd2 (when an explicit modelling and integration is desired). Airfoil performance is accessed via a lookup of precomputed airfoil data, airfun.
Outputs: -CLsurf::Vector{Float64}: Lift coefficients for each surface. -CL::Float64: Sum of lift coefficients of all surfaces. -CD::Float64: Sum of induced drag coefficients of all surfaces. -spanef::Float64: Span efficiency of combined surfaces ($= (CL^2 / (π*AR))/CD$).
Lifting surface drag is determined via surfcd (when constant airfoil section cdf and cdp are already determined), and surfcd2 (when an explicit modelling and integration is desired). Airfoil performance is accessed via a lookup of precomputed airfoil data, airfun.
Calculates wing or tail surface profile CD by calculating the performance of wing segments explicitly via airfoil data (found in [./src/air/C.air] and accessed by [airfun], [airtable]). Called by cdsum! if icdfun flag set to 1.
🔃 Inputs and Outputs
Inputs:
S::Float64: Reference area.
b::Float64: Span.
bs::Float64: Outer panel break span.
bo::Float64: Wing-root (fuselage) span.
λt::Float64: Outer-panel chord taper ratio ct/co.
λs::Float64: Inner-panel chord taper ratio cs/co.
γt::Float64: Outer-panel load taper ratio pt/po.
γs::Float64: Inner-panel load taper ratio ps/po.
toco::Float64: Root airfoil t/c.
tocs::Float64: Break airfoil t/c.
toct::Float64: Tip airfoil t/c.
sweep::Float64: Wing sweep, degrees.
co::Float64: Wing root chord.
Reco::Float64: Reynolds number for co.
aRexp::Float64: Re-scaling exponent.
kSuns::Float64: Shock-unsweep area constant.
fexcd::Float64: Excrescence cd scaling factor.
fduo::Float64, fdus::Float64, fdut::Float64: Velocity-change fractions at wing root, break ("snag"), and tip due to fuselage flow.
Outputs:
clpo::Float64,clps::Float64,clpt::Float64: Perpendicular sectional lift coefficient at wing root, break ("snag"), and tip.
CDfwing::Float64: Friction profile cd in perp. plane.
CDpwing::Float64: Pressure profile cd in perp. plane.
CDwing::Float64: Overall profile CD.
CDover::Float64: Fuselage added CD due to lift carryover.
See Sections 2.14.3 and 3.8.3 of TASOPT Technical Desc. See also cdsum!, surfcd, [surfcm], and [airfun].
Calculates wing or tail surface profile CD by calculating the performance of wing segments explicitly via airfoil data (found in [./src/air/C.air] and accessed by [airfun], [airtable]). Called by cdsum! if icdfun flag set to 1.
🔃 Inputs and Outputs
Inputs:
S::Float64: Reference area.
b::Float64: Span.
bs::Float64: Outer panel break span.
bo::Float64: Wing-root (fuselage) span.
λt::Float64: Outer-panel chord taper ratio ct/co.
λs::Float64: Inner-panel chord taper ratio cs/co.
γt::Float64: Outer-panel load taper ratio pt/po.
γs::Float64: Inner-panel load taper ratio ps/po.
toco::Float64: Root airfoil t/c.
tocs::Float64: Break airfoil t/c.
toct::Float64: Tip airfoil t/c.
sweep::Float64: Wing sweep, degrees.
co::Float64: Wing root chord.
Reco::Float64: Reynolds number for co.
aRexp::Float64: Re-scaling exponent.
kSuns::Float64: Shock-unsweep area constant.
fexcd::Float64: Excrescence cd scaling factor.
fduo::Float64, fdus::Float64, fdut::Float64: Velocity-change fractions at wing root, break ("snag"), and tip due to fuselage flow.
Outputs:
clpo::Float64,clps::Float64,clpt::Float64: Perpendicular sectional lift coefficient at wing root, break ("snag"), and tip.
CDfwing::Float64: Friction profile cd in perp. plane.
CDpwing::Float64: Pressure profile cd in perp. plane.
CDwing::Float64: Overall profile CD.
CDover::Float64: Fuselage added CD due to lift carryover.
See Sections 2.14.3 and 3.8.3 of TASOPT Technical Desc. See also cdsum!, surfcd, [surfcm], and [airfun].
Reads airfoil file and outputs the matrix and splines as an airfoil.
The airfoil data is stored as a function of three variables, typically Mach number $\mathrm{Ma}$, lift coefficient $c_l$, and thickness to chord ratio $\tau$.
cdf(Ma, cl, τ), cdp(Ma, cl, τ), cm(Ma, cl, τ)
🔃 Inputs and Outputs
Inputs:
fname::String: Path to file.
Outputs:
airf::TASOPT.aerodynamics.airfoil: struct with airfoil performance characteristics.
Calculates aircraft CD components for operating point, ipoint. If icdfun=1, computes wing cdf,cdp from airfoil database # iairf, otherwise uses default values in para array. Called by mission!, wsize, takeoff!, and odperf!.