RCAIDE.Library.Methods.Performance.generate_V_n_diagram

generate_V_n_diagram#

generate_V_n_diagram(vehicle, analyses, altitude, delta_ISA)[source]#

Computes a V-n (velocity-load factor) diagram for an aircraft according to FAR requirements.

Parameters:
  • vehicle (Vehicle) –

    The vehicle instance containing:
    • reference_areafloat

      Wing reference area [m²]

    • maximum_lift_coefficientfloat

      Maximum lift coefficient

    • minimum_lift_coefficientfloat

      Minimum lift coefficient

    • chords.mean_aerodynamicfloat

      Mean aerodynamic chord [m]

    • flight_envelopeData
      Container with:
      • FAR_part_numberstr

        ’23’ or ‘25’ for certification category

      • categorystr

        For Part 23: ‘normal’, ‘utility’, ‘acrobatic’, or ‘commuter’

      • design_mach_numberfloat

        Cruise Mach number

      • positive_limit_loadfloat

        Positive load factor limit

      • negative_limit_loadfloat

        Negative load factor limit

  • analyses (Analyses) – Container with atmosphere and aerodynamic analyses

  • altitude (float) – Analysis altitude [m]

  • delta_ISA (float) – Temperature offset from ISA conditions [K]

Returns:

V_n_data

Container of V-n diagram data including:
  • limit_loadsData

    Positive and negative load factor limits

  • airspeedsData

    Critical airspeeds (Vs, Va, Vb, Vc, Vd)

  • gust_load_factorsData

    Load factors from gust conditions

  • load_factorsData

    Complete set of load factors vs velocity

Return type:

Data

Notes

Computes the following critical speeds and conditions:
  • Vs1: Stall speed

  • Va: Maneuvering speed

  • Vb: Design speed for maximum gust intensity

  • Vc: Design cruise speed

  • Vd: Design diving speed

Major Assumptions
  • Quasi-steady aerodynamics

  • Linear lift curve slope

  • Rigid aircraft structure

  • Standard atmosphere modified by altitude and delta_ISA

Theory Load factor limits are determined by:

\[n = \frac{L}{W} = \frac{\rho V^2 S C_L}{2W}\]

Gust loads are computed using:

\[\Delta n = \frac{K_g U_de V a C_{L_\alpha}}{498 W/S}\]

References

[1] FAR Part 23: https://www.ecfr.gov/current/title-14/part-23 [2] FAR Part 25: https://www.ecfr.gov/current/title-14/part-25 [3] Gudmundsson, S. (2022). General Aviation Aircraft Design: Applied Methods and procedures. Elsevier.

evalaute_aircraft(vehicle, altitude, Vc)[source]#
analyses_setup(configs)[source]#
base_analysis(vehicle)[source]#
configs_setup(vehicle)[source]#
base_mission_setup(analyses, altitude, Vc)[source]#

This sets up the nominal cruise of the aircraft

missions_setup(mission)[source]#
stall_maneuver_speeds(V_n_data)[source]#

Computes stall and maneuver speeds for positive and negative halves of the the V-n diagram

Source: S. Gudmundsson “General Aviation Aircraft Design: Applied Methods and Procedures”, Butterworth-Heinemann; 1 edition

Inputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

weight [lb] density [slug/ft**3] density_ratio [Unitless] reference_area [ft**2] maximum_lift_coefficient [Unitless] minimum_lift_coefficient [Unitless] load_factors.positive [Unitless] load_factors.negative [Unitless]

Outputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

Vs1.positive [kts]

negative [kts]

Va.positive [kts]

negative [kts]

load_factors.positive [Unitless]

negative [Unitless]

Properties Used: N/A

Description:

stall_line(V_n_data, upper_bound, lower_bound, Num_of_points, sign_flag)[source]#

Calculates Stall lines of positive and negative halves of the V-n diagram

Source: S. Gudmundsson “General Aviation Aircraft Design: Applied Methods and Procedures”, Butterworth-Heinemann; 1 edition

Inputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

load_factors.positive [Unitless]

negative [Unitless]

weight [lb] density [slug/ft**3] density_ratio [Unitless] lift_coefficient [Unitless] reference_area [ft**2]

lower_bound [Unitless] Num_of_points [Unitless] sign_flag [Unitless]

Outputs: V_n_data.

load_factors.positive [Unitless]

negative [Unitless]

airspeeds.positive [kts]

negative [kts]

Properties Used: N/A

Description:

gust_loads(category_tag, V_n_data, Kg, CLa, Num_of_points, FAR_part_number, sign_flag)[source]#

Calculates airspeeds and load factors for gust loads and modifies the V-n diagram

Source: S. Gudmundsson “General Aviation Aircraft Design: Applied Methods and Procedures”, Butterworth-Heinemann; 1 edition

Inputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

load_factors.positive [Unitless]

negative [Unitless]

positive_limit_load [Unitless]

negative [Unitless]

weight [lb] wing_loading [lb/ft**2] reference_area [ft**2] density [slug/ft**3] density_ratio [Unitless] lift_coefficient [Unitless] Vc [kts] Vd [kts]

Uref_rough [ft/s] Uref_cruise [ft/s] Uref_dive [ft/s] Num_of_points [Unitless] sign_flag [Unitless]

Outputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

load_factors.positive [Unitless]

.negative [Unitless]

gust_load_factors.positive [Unitless]

negative [Unitless]

Properties Used: N/A

Description: The function calculates the gust-related load factors at critical speeds (Va, Vc, Vd). Then, if the load factors exceed the standart diagram limits, the diagram is modified to include the new limit loads. For more details, refer to S. Gudmundsson “General Aviation Aircraft Design: Applied Methods and Procedures”

gust_dive_speed_intersection(category_tag, load_factors, gust_load_factors, airspeeds, element_num, Vc, Vd)[source]#

Calculates intersection between the general V-n diagram and the gust load for Vd

Source: S. Gudmundsson “General Aviation Aircraft Design: Applied Methods and Procedures”, Butterworth-Heinemann; 1 edition

Inputs: load_factors [Unitless] gust_load_factors [Unitless] airspeeds [kts] Vc [kts] Vd [kts] element_num [Unitless]

Outputs: airspeeds [kts] load_factors [Unitless]

Properties Used: N/A

Description: A specific function for CFR FAR Part 25 regulations. For negative loads, the general curve must go linear from a specific load factor at Vc to zero at Vd. Gust loads may put a non-zero load factor at Vd, so an intersection between the old and the new curves is required

post_processing(category_tag, Uref_rough, Uref_cruise, Uref_dive, V_n_data, vehicle)[source]#

Plot graph, save the final figure, and create results output file

Source:

Inputs: V_n_data.

airspeeds.positive [kts] airspeeds.negative [kts] Vc [kts] Vd [kts] Vs1.positive [kts]

negative [kts]

Va.positive [kts]

negative [kts]

load_factors.positive [Unitless]

negative [Unitless]

gust_load_factors.positive [Unitless]

negative [Unitless]

weight [lb] altitude [ft]

vehicle._base.tag [Unitless] Uref_rough [ft/s] Uref_cruise [ft/s] Uref_dive [ft/s]

Outputs:

Properties Used: N/A

Description:

convert_keas(V_n_data)[source]#

Convert speed to KEAS

Source:

Inputs: V_n_data.

airspeeds.positive [ft/s]

negative [ft/s]

Vc [ft/s] Va.positive [ft/s] Va.negative [ft/s] Vs1.negative [ft/s] Vs1.positive [ft/s] density_ratio [Unitless]

Outputs: V_n_data.

airspeeds.positive [kts]

negative [kts]

Vc [kts] Va.positive [kts] Va.negative [kts] Vs1.negative [kts] Vs1.positive [kts]

Properties Used: N/A

Description: