Private Types

Wing Geometry, Panel and Aerodynamics

VortexStepMethod.PanelType
@with_kw mutable struct Panel

Represents 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 point
  • LE_point_1::MVec3=zeros(MVec3): First leading edge point
  • TE_point_2::MVec3=zeros(MVec3): Second trailing edge point
  • LE_point_2::MVec3=zeros(MVec3): Second leading edge point
  • chord::Float64=0: Panel chord length
  • va::MVec3=zeros(MVec3): Panel velocity
  • corner_points::MMatrix{3, 4, Float64}=zeros(MMatrix{3, 4, Float64}: Panel corner points
  • aero_model::AeroModel=INVISCID: Aerodynamic model type AeroModel
  • aero_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 point
  • bound_point_1::Vector{MVec3}: First bound point
  • bound_point_2::Vector{MVec3}: Second bound point
  • x_airf::MVec3=zeros(MVec3): Unit vector tangential to chord line
  • y_airf::MVec3=zeros(MVec3): Unit vector in spanwise direction
  • z_airf::MVec3=zeros(MVec3): Unit vector, cross product of xairf and yairf
  • width::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
source
VortexStepMethod.PanelPropertiesType
PanelProperties

Structure 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 line
  • y_airf::Matrix{Float64}: Vector of unit vectors in spanwise direction
  • z_airf::Matrix{Float64}: Vector of unit vectors pointing up (cross of xairf and yairf)
source
VortexStepMethod.BoundFilamentType
BoundFilament

Represents 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
source
VortexStepMethod.SemiInfiniteFilamentType
SemiInfiniteFilament

Represents a semi-infinite vortex filament.

Fields

  • x1::MVec3=zeros(MVec3): Starting point
  • direction::MVec3=zeros(MVec3): Direction vector
  • vel_mag::Float64=zero(Float64): Velocity magnitude
  • filament_direction::Int64=0 : Direction indicator (-1 or 1)
  • initialized::Bool=false
source

Aerodynamic model constants

VortexStepMethod.LEI_AIRFOIL_BREUKELSConstant
LEI_AIRFOIL_BREUKELS

Deprecated 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).

source

Airfoil aerodynamics (AirfoilAero)

VortexStepMethod.AirfoilAero.KulfanParametersType
KulfanParameters

Kulfan CST parameters for an airfoil.

Fields

  • upper_weights::Vector{Float64}: 8 weights for upper surface
  • lower_weights::Vector{Float64}: 8 weights for lower surface
  • leading_edge_weight::Float64: Leading edge modification weight
  • TE_thickness::Float64: Trailing edge thickness
source