Private Functions
VortexStepMethod.calculate_AIC_matrices!
— Functioncalculate_AIC_matrices!(body_aero::BodyAerodynamics, model::Model,
core_radius_fraction::Float64,
va_norm_array::Vector{Float64},
va_unit_array::Matrix{Float64})
Calculate Aerodynamic Influence Coefficient matrices.
See also: BodyAerodynamics, Model
Returns: Tuple of (AIC_x
, AIC_y
, AIC_z
) matrices
VortexStepMethod.calculate_panel_properties
— Functioncalculate_panel_properties(section_list::Vector{Section}, n_panels::Int,
aero_center_loc::Float64, control_point_loc::Float64)
Calculate geometric properties for each panel.
Arguments
- section_list::Vector{Section}: List of Sections
n_panels
::Int: Number of Panelsaero_center_loc
::Float64: Location of the aerodynamic centercontrol_point_loc
::Float64: Location of the control point
Returns:
PanelProperties containing vectors for each property
VortexStepMethod.calculate_inertia_tensor
— Functioncalculate_inertia_tensor(vertices, faces, mass, com)
Calculate the inertia tensor for a triangulated surface mesh, assuming a thin shell with uniform surface density.
Arguments
vertices
: Vector of 3D point coordinates representing mesh verticesfaces
: Vector of triangle indices, each defining a face of the meshmass
: Total mass of the shell in kgcom
: Center of mass coordinates [x,y,z]
Method
Uses the thin shell approximation where:
- Mass is distributed uniformly over the surface area
- Each triangle contributes to the inertia based on its area and position
- For each triangle vertex p, contribution to diagonal terms is: area * (sum(p²) - p_i²)
- For off-diagonal terms: area * (-
p_i
*p_j
) - Final tensor is scaled by mass/(3*total_area) to get correct units
Returns
- 3×3 matrix representing the inertia tensor in kg⋅m²
VortexStepMethod.init!
— Functioninit!(section::Section, LE_point, TE_point, aero_model=nothing, aero_data=nothing)
Function to update a Section in place.
init!(body_aero::BodyAerodynamics;
aero_center_location=0.25,
control_point_location=0.75)
Initialize a BodyAerodynamics struct in-place by setting up panels and coefficients.
Arguments
body_aero::BodyAerodynamics
: The structure to initialize
Keyword Arguments
aero_center_location=0.25
: Chordwise location of aerodynamic center (0-1)control_point_location=0.75
: Chordwise location of control point (0-1)
Returns
nothing