Private Types
Wing Geometry, Panel and Aerodynamics
VortexStepMethod.Panel — Type
@with_kw mutable struct PanelRepresents a panel in a vortex step method simulation. All points and vectors are in the kite body (KB) frame.
Fields
TE_point_1::MVec3=zeros(MVec3): First trailing edge pointLE_point_1::MVec3=zeros(MVec3): First leading edge pointTE_point_2::MVec3=zeros(MVec3): Second trailing edge pointLE_point_2::MVec3=zeros(MVec3): Second leading edge pointchord::Float64=0: Panel chord lengthva::MVec3=zeros(MVec3): Panel velocitycorner_points::MMatrix{3, 4, Float64}=zeros(MMatrix{3, 4, Float64}: Panel corner pointsaero_model::AeroModel=INVISCID: Aerodynamic model type AeroModelaero_center::Vector{Float64}: Panel aerodynamic center- cl_coeffs::Vector{Float64}=zeros(Float64, 3)
- cd_coeffs::Vector{Float64}=zeros(Float64, 3)
- cm_coeffs::Vector{Float64}=zeros(Float64, 3)
- cl_interp::CL = nothing: lift interpolation (its type is a struct parameter)
- cd_interp::CD = nothing: drag interpolation
- cm_interp::CM = nothing: moment interpolation
- section_aero::SA = nothing: optional surface aero table, see SectionAero
control_point::Vector{MVec3}: Panel control pointbound_point_1::Vector{MVec3}: First bound pointbound_point_2::Vector{MVec3}: Second bound pointx_airf::MVec3=zeros(MVec3): Unit vector tangential to chord liney_airf::MVec3=zeros(MVec3): Unit vector in spanwise directionz_airf::MVec3=zeros(MVec3): Unit vector, cross product of xairf and yairfwidth::Float64=0: Panel width- filaments::Tuple{BoundFilament,BoundFilament,BoundFilament,SemiInfiniteFilament,SemiInfiniteFilament} = ( BoundFilament(), BoundFilament(), BoundFilament(), SemiInfiniteFilament(), SemiInfiniteFilament() ): Panel filaments, see: BoundFilament
delta::T=0: flap trailing-edge deflection [rad]crease_frac::T=0: chordwise flap-hinge fraction (0–1); 0 disables the plate kink
VortexStepMethod.PanelProperties — Type
PanelPropertiesStructure to hold calculated panel properties.
Fields
aero_centers::Matrix{Float64}control_points::Matrix{Float64}bound_points_1::Matrix{Float64}bound_points_2::Matrix{Float64}x_airf::Matrix{Float64}: Vector of unit vectors tangential to chord liney_airf::Matrix{Float64}: Vector of unit vectors in spanwise directionz_airf::Matrix{Float64}: Vector of unit vectors pointing up (cross of xairf and yairf)
VortexStepMethod.Filament — Type
Abstract type for vortex filaments
VortexStepMethod.BoundFilament — Type
BoundFilamentRepresents a bound vortex filament defined by two points.
Fields
- x1::MVec3=zeros(MVec3): First point
- x2::MVec3=zeros(MVec3): Second point
- length=zero(Float64): Filament length
- r0::MVec3=zeros(MVec3): Vector from x1 to x2
- initialized::Bool = false
VortexStepMethod.SemiInfiniteFilament — Type
SemiInfiniteFilamentRepresents a semi-infinite vortex filament.
Fields
- x1::MVec3=zeros(MVec3): Starting point
- direction::MVec3=zeros(MVec3): Direction vector
vel_mag::Float64=zero(Float64): Velocity magnitudefilament_direction::Int64=0 : Direction indicator (-1 or 1)- initialized::Bool=false
Aerodynamic model constants
VortexStepMethod.LEI_AIRFOIL_BREUKELS — Constant
LEI_AIRFOIL_BREUKELSDeprecated alias of POLY. The Breukels (tube_diameter, camber) → coeff derivation now lives in AirfoilAero.lei_poly_coeffs; sections carry the resulting (cl_coeffs, cd_coeffs, cm_coeffs).
Airfoil aerodynamics (AirfoilAero)
VortexStepMethod.AirfoilAero.KulfanParameters — Type
KulfanParametersKulfan CST parameters for an airfoil.
Fields
upper_weights::Vector{Float64}: 8 weights for upper surfacelower_weights::Vector{Float64}: 8 weights for lower surfaceleading_edge_weight::Float64: Leading edge modification weightTE_thickness::Float64: Trailing edge thickness
VortexStepMethod.AirfoilAero.NeuralFoilModel — Type
NeuralFoilModelHolds the neural network weights and configuration.
VortexStepMethod.AirfoilAero.NeuralFoilResult — Type
NeuralFoilResultResults from NeuralFoil aerodynamic analysis.