{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Tutorial 25 - V-n Diagram\n", "Welcome to this tutorial on performing V-n diagram analysis of a turbofan aircraft using RCAIDE. This guide will walk you through the code, explain its components, and highlight where modifications can be made to customize the simulation for different vehicle designs.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Header and Imports\n", "\n", "\n", "The **Imports** section is divided into two parts: general-purpose Python libraries and simulation-specific libraries." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:12.131172Z", "iopub.status.busy": "2026-07-25T17:13:12.131022Z", "iopub.status.idle": "2026-07-25T17:13:12.178272Z", "shell.execute_reply": "2026-07-25T17:13:12.177749Z" } }, "outputs": [], "source": [ "import sys\n", "import os\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. RCAIDE Imports\n", "\n", "The **RCAIDE Imports** section includes the core modules needed for the simulation. These libraries provide specialized classes and tools for building, analyzing, and running aircraft models.\n", "\n", "### Key Imports:\n", "\n", "1. **RCAIDE**: The core package is imported directly. This approach allows us to access specific classes and methods from RCAIDE without repeatedly importing individual components at the top of the script.\n", "\n", "2. **`Units` Module**: The Units module is a standardized way to handle unit conversions within RCAIDE. It ensures consistent units across all inputs and outputs, reducing the likelihood of conversion errors." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:12.180675Z", "iopub.status.busy": "2026-07-25T17:13:12.180497Z", "iopub.status.idle": "2026-07-25T17:13:13.767829Z", "shell.execute_reply": "2026-07-25T17:13:13.767216Z" } }, "outputs": [], "source": [ "import RCAIDE\n", "from RCAIDE.Framework.Core import Data,Units \n", "from RCAIDE.Library.Methods.Performance.generate_V_n_diagram import generate_V_n_diagram\n", "from RCAIDE.Library.Methods.Powertrain.Converters.Rotor import design_propeller\n", "from RCAIDE.Library.Methods.Powertrain.Propulsors.Internal_Combustion_Engine import design_internal_combustion_engine \n", "from RCAIDE.Library.Plots import * " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Vehicle Setup\n", "\n", "The **`vehicle_setup`** function defines the baseline configuration of the aircraft. This section builds the vehicle step-by-step by specifying its components, geometric properties, and high-level parameters.\n", "\n", "A detailed description of the vehicle setup is provided in the a tutorial coming soon." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:13.769831Z", "iopub.status.busy": "2026-07-25T17:13:13.769579Z", "iopub.status.idle": "2026-07-25T17:13:13.795440Z", "shell.execute_reply": "2026-07-25T17:13:13.794834Z" } }, "outputs": [], "source": [ "def vehicle_setup(): \n", " \n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ################################################# Vehicle-level Properties ######################################################## \n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " vehicle = RCAIDE.Vehicle()\n", " vehicle.tag = 'Cessna_172' \n", " vehicle.mass_properties.max_takeoff = 2550. * Units.pounds\n", " vehicle.mass_properties.takeoff = 2550. * Units.pounds \n", " vehicle.mass_properties.operating_empty = 1600 * Units.pounds\n", " vehicle.mass_properties.max_zero_fuel = 1680 * Units.pounds \n", " vehicle.mass_properties.max_fuel = 152.407\n", " vehicle.mass_properties.max_payload = 910 * Units.pounds \n", " vehicle.mass_properties.payload = 200\n", " \n", " # envelope properties \n", " vehicle.flight_envelope.ultimate_load = 5.7 \n", " vehicle.flight_envelope.positive_limit_load = 3.8 \n", " vehicle.flight_envelope.design_range = 750 * Units.nmi \n", " vehicle.flight_envelope.design_dynamic_pressure = 2755 # max speed at 10 k feet\n", " vehicle.flight_envelope.design_mach_number = 0.18745866156304694 \n", " vehicle.flight_envelope.category = 'normal'\n", " vehicle.flight_envelope.FAR_part_number = '23' \n", " vehicle.flight_envelope.maximum_lift_coefficient = 3\n", " vehicle.flight_envelope.minimum_lift_coefficient = -1.5\n", " \n", " # basic parameters \n", " vehicle.reference_area = 174. * Units.feet**2 \n", " vehicle.number_of_passengers = 4 \n", " \n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ##################################################### Landing Gear ################################################################ \n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " main_gear = RCAIDE.Library.Components.Landing_Gear.Main_Landing_Gear()\n", " main_gear.strut_length = 12. * Units.inches\n", " vehicle.append_component(main_gear) \n", " nose_gear = RCAIDE.Library.Components.Landing_Gear.Nose_Landing_Gear() \n", " nose_gear.strut_length = 6. * Units.inches \n", " vehicle.append_component(nose_gear)\n", "\n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ######################################################## Wings #################################################################### \n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ------------------------------------------------------------------\n", " # Main Wing\n", " # ------------------------------------------------------------------ \n", "\n", " wing = RCAIDE.Library.Components.Wings.Main_Wing()\n", " wing.tag = 'main_wing' \n", " wing.sweeps.quarter_chord = 0.0 * Units.deg\n", " wing.thickness_to_chord = 0.12\n", " wing.areas.reference = 174. * Units.feet**2\n", " wing.spans.projected = 36. * Units.feet + 1. * Units.inches\n", " wing.chords.root = 66. * Units.inches\n", " wing.chords.tip = 45. * Units.inches\n", " wing.chords.mean_aerodynamic = 58. * Units.inches\n", " wing.taper = wing.chords.tip/wing.chords.root\n", " wing.aspect_ratio = wing.spans.projected**2. / wing.areas.reference\n", " wing.twists.root = 3.0 * Units.degrees\n", " wing.twists.tip = 1.5 * Units.degrees\n", " wing.origin = [[80.* Units.inches,0, 0.820]]\n", " wing.aerodynamic_center = [22.* Units.inches,0,0]\n", " wing.vertical = False\n", " wing.symmetric = True\n", " wing.high_lift = True \n", " wing.dynamic_pressure_ratio = 1.0 \n", " \n", " # control surfaces -------------------------------------------\n", " flap = RCAIDE.Library.Components.Wings.Control_Surfaces.Flap() \n", " flap.tag = 'flap' \n", " flap.span_fraction_start = 0.15 \n", " flap.span_fraction_end = 0.324 \n", " flap.deflection = 1.0 * Units.deg\n", " flap.chord_fraction = 0.19 \n", " wing.append_control_surface(flap) \n", " \n", " slat = RCAIDE.Library.Components.Wings.Control_Surfaces.Slat() \n", " slat.tag = 'slat' \n", " slat.span_fraction_start = 0.324 \n", " slat.span_fraction_end = 0.963 \n", " slat.deflection = 1.0 * Units.deg\n", " slat.chord_fraction = 0.1 \n", " wing.append_control_surface(slat) \n", " \n", " RCAIDE.Library.Methods.Geometry.Planform.wing_planform(wing) \n", "\n", " # add to vehicle\n", " vehicle.append_component(wing)\n", "\n", "\n", " # ------------------------------------------------------------------ \n", " # Horizontal Stabilizer\n", " # ------------------------------------------------------------------ \n", " \n", " wing = RCAIDE.Library.Components.Wings.Horizontal_Tail()\n", " wing.tag = 'horizontal_stabilizer' \n", " wing.sweeps.quarter_chord = 0.0 * Units.deg\n", " wing.thickness_to_chord = 0.12\n", " wing.areas.reference = 5800. * Units.inches**2\n", " wing.spans.projected = 136. * Units.inches\n", " wing.chords.root = 55. * Units.inches\n", " wing.chords.tip = 30. * Units.inches\n", " wing.chords.mean_aerodynamic = 43. * Units.inches \n", " wing.taper = wing.chords.tip/wing.chords.root\n", " wing.aspect_ratio = wing.spans.projected**2. / wing.areas.reference\n", " wing.twists.root = 0.0 * Units.degrees\n", " wing.twists.tip = 0.0 * Units.degrees\n", " wing.origin = [[246.* Units.inches,0,0]]\n", " wing.aerodynamic_center = [20.* Units.inches,0,0]\n", " wing.vertical = False\n", " wing.symmetric = True\n", " wing.high_lift = False \n", " wing.dynamic_pressure_ratio = 0.9\n", " \n", " \n", " elevator = RCAIDE.Library.Components.Wings.Control_Surfaces.Elevator()\n", " elevator.tag = 'elevator'\n", " elevator.span_fraction_start = 0.1\n", " elevator.span_fraction_end = 0.9\n", " elevator.deflection = 0.0 * Units.deg\n", " elevator.chord_fraction = 0.35\n", " wing.append_control_surface(elevator) \n", "\n", " \n", " vehicle.append_component(wing)\n", "\n", "\n", " # ------------------------------------------------------------------\n", " # Vertical Stabilizer\n", " # ------------------------------------------------------------------\n", "\n", " wing = RCAIDE.Library.Components.Wings.Vertical_Tail()\n", " wing.tag = 'vertical_stabilizer' \n", " wing.sweeps.quarter_chord = 25. * Units.deg\n", " wing.thickness_to_chord = 0.12\n", " wing.areas.reference = 3500. * Units.inches**2\n", " wing.spans.projected = 73. * Units.inches\n", " wing.chords.root = 66. * Units.inches\n", " wing.chords.tip = 27. * Units.inches\n", " wing.chords.mean_aerodynamic = 48. * Units.inches \n", " wing.taper = wing.chords.tip/wing.chords.root\n", " wing.aspect_ratio = wing.spans.projected**2. / wing.areas.reference\n", " wing.twists.root = 0.0 * Units.degrees\n", " wing.twists.tip = 0.0 * Units.degrees\n", " wing.origin = [[237.* Units.inches,0,0]]\n", " wing.aerodynamic_center = [20.* Units.inches,0,0] \n", " wing.vertical = True \n", " wing.symmetric = False\n", " wing.t_tail = False \n", " wing.dynamic_pressure_ratio = 1.0\n", "\n", " rudder = RCAIDE.Library.Components.Wings.Control_Surfaces.Rudder()\n", " rudder.tag = 'rudder'\n", " rudder.span_fraction_start = 0.1\n", " rudder.span_fraction_end = 0.9\n", " rudder.deflection = 0.0 * Units.deg\n", " rudder.chord_fraction = 0.4\n", " wing.append_control_surface(rudder) \n", " \n", "\n", " # add to vehicle\n", " vehicle.append_component(wing)\n", "\n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ########################################################## Fuselage ############################################################### \n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " \n", " fuselage = RCAIDE.Library.Components.Fuselages.Fuselage()\n", " \n", " # define cabin\n", " cabin = RCAIDE.Library.Components.Fuselages.Cabins.Cabin() \n", " economy_class = RCAIDE.Library.Components.Fuselages.Cabins.Classes.Economy() \n", " economy_class.number_of_seats_abrest = 2\n", " economy_class.number_of_rows = 2\n", " economy_class.galley_lavatory_percent_x_locations = [] \n", " economy_class.emergency_exit_percent_x_locations = [] \n", " economy_class.type_A_exit_percent_x_locations = [] \n", " cabin.append_cabin_class(economy_class)\n", " fuselage.append_cabin(cabin)\n", " \n", " fuselage.differential_pressure = 8*Units.psi # Maximum differential pressure\n", " fuselage.width = 42. * Units.inches # Width of the fuselage\n", " fuselage.heights.maximum = 62. * Units.inches # Height of the fuselage\n", " fuselage.lengths.total = 326. * Units.inches # Length of the fuselage\n", " fuselage.lengths.tail = 161. * Units.inches \n", " fuselage.lengths.cabin = 105. * Units.inches \n", " fuselage.mass_properties.gross_volume = .4*fuselage.lengths.total*(np.pi/4.)*(fuselage.heights.maximum**2.) \n", " fuselage.areas.wetted = 30000. * Units.inches**2. \n", " fuselage.fineness.nose = 1.6\n", " fuselage.fineness.tail = 2.\n", " fuselage.lengths.nose = 60. * Units.inches\n", " fuselage.heights.at_quarter_length = 62. * Units.inches\n", " fuselage.heights.at_three_quarters_length = 62. * Units.inches\n", " fuselage.heights.at_wing_root_quarter_chord = 23. * Units.inches\n", " fuselage.areas.front_projected = fuselage.width* fuselage.heights.maximum\n", " fuselage.effective_diameter = 50. * Units.inches\n", "\n", "\n", "\n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Segment() \n", " segment.tag = 'segment_0' \n", " segment.percent_x_location = 0.0000\n", " segment.percent_z_location = 0.0000 \n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Super_Ellipse_Segment() \n", " segment.tag = 'segment_1' \n", " segment.percent_x_location = 0.02077 \n", " segment.percent_z_location = 0.0 \n", " segment.height = 0.31619 \n", " segment.width = 0.33071 \n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Rounded_Rectangle_Segment()\n", " segment.tag = 'segment_2' \n", " segment.percent_x_location = 0.03852 \n", " segment.percent_z_location = -0.02000\n", " segment.height = 0.73441 \n", " segment.width = 0.40654 \n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Rounded_Rectangle_Segment()\n", " segment.tag = 'segment_3' \n", " segment.percent_x_location = 0.16595\n", " segment.percent_z_location = -0.01226 \n", " segment.height = 1.00366 \n", " segment.width = 0.90341\n", " segment.radius = 0.29143\n", " fuselage.segments.append(segment) \n", "\n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Rounded_Rectangle_Segment()\n", " segment.tag = 'segment_4' \n", " segment.percent_x_location = 0.24391 \t\n", " segment.percent_z_location = 0.01016 \n", " segment.height = 1.52704 \n", " segment.width = 1.06680\n", " segment.radius = 0.43714\n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Rounded_Rectangle_Segment()\n", " segment.tag = 'segment_5' \n", " segment.percent_x_location = 0.43388 \n", " segment.percent_z_location = 0.0132 \n", " segment.height = 1.50557 \n", " segment.width = 1.06680\n", " segment.radius = 0.4007\n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Rounded_Rectangle_Segment()\n", " segment.tag = 'segment_6' \n", " segment.percent_x_location = 0.53122\n", " segment.percent_z_location = -0.00895\n", " segment.height = 0.97386\n", " segment.width = 0.73776\n", " segment.radius = 0.29143\n", " fuselage.segments.append(segment) \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Ellipse_Segment()\n", " segment.tag = 'segment_7' \n", " segment.percent_x_location = 0.74233 \n", " segment.percent_z_location = 0\n", " segment.height = 0.55067 \n", " segment.width = 0.4517 \n", " fuselage.segments.append(segment)\n", "\n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Segment()\n", " segment.tag = 'segment_9' \n", " segment.percent_x_location = 0.98310 \n", " segment.percent_z_location = 0 \n", " segment.height = 0.17226 \n", " segment.width = 0.18068 \n", " fuselage.segments.append(segment) \n", " \n", " \n", " # Segment \n", " segment = RCAIDE.Library.Components.Fuselages.Segments.Segment()\n", " segment.tag = 'segment_9' \n", " segment.percent_x_location = 1.0 \n", " segment.percent_z_location = 0.00189 \n", " fuselage.segments.append(segment) \n", "\n", " # add to vehicle\n", " vehicle.append_component(fuselage)\n", " \n", " #------------------------------------------------------------------------------------------------------------------------------------\n", " # ########################################################## Energy Network ######################################################### \n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " #initialize the fuel network\n", " net = RCAIDE.Framework.Networks.Fuel() \n", "\n", " # add the network to the vehicle\n", " vehicle.append_energy_network(net) \n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Bus\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " fuel_line = RCAIDE.Library.Components.Powertrain.Distributors.Fuel_Line() \n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Fuel Tank & Fuel\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " fuel_tank = RCAIDE.Library.Components.Powertrain.Sources.Fuel_Tanks.Fuel_Tank() \n", " fuel_tank.origin = vehicle.wings.main_wing.origin \n", " fuel_tank.fuel = RCAIDE.Library.Attributes.Propellants.Aviation_Gasoline() \n", " fuel_tank.fuel.mass_properties.mass = 319 *Units.lbs \n", " fuel_tank.mass_properties.center_of_gravity = wing.mass_properties.center_of_gravity\n", " fuel_tank.volume = fuel_tank.fuel.mass_properties.mass/fuel_tank.fuel.density \n", " fuel_line.fuel_tanks.append(fuel_tank) \n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Propulsor\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " ice_prop = RCAIDE.Library.Components.Powertrain.Propulsors.Internal_Combustion_Engine() \n", " \n", " # Engine \n", " engine = RCAIDE.Library.Components.Powertrain.Converters.Engine()\n", " engine.sea_level_power = 180. * Units.horsepower\n", " engine.flat_rate_altitude = 0.0\n", " engine.rated_speed = 2700. * Units.rpm\n", " engine.power_specific_fuel_consumption = 0.52 * Units['lb/hp/hr']\n", " ice_prop.engine = engine \n", " \n", " # Propeller \n", " prop = RCAIDE.Library.Components.Powertrain.Converters.Propeller()\n", " prop.tag = 'propeller'\n", " prop.number_of_blades = 2.0\n", " prop.tip_radius = 76./2. * Units.inches\n", " prop.hub_radius = 8. * Units.inches\n", " prop.cruise.design_freestream_velocity = 119. * Units.knots\n", " prop.cruise.design_angular_velocity = 2650. * Units.rpm\n", " prop.cruise.design_lift_coefficient = 0.8\n", " prop.cruise.design_altitude = 12000. * Units.feet\n", " prop.cruise.design_power = .64 * 180. * Units.horsepower\n", " prop.variable_pitch = True \n", " ospath = os.path.abspath(os.path.join('Notebook'))\n", " separator = os.path.sep\n", " rel_path = os.path.dirname(ospath) + separator + '..' + separator + '..' + separator + 'VnV' + separator + 'Vehicles' + separator\n", " airfoil_path = rel_path \n", " airfoil = RCAIDE.Library.Components.Airfoils.Airfoil()\n", " airfoil.tag = 'NACA_4412' \n", " airfoil.coordinate_file = airfoil_path + 'Airfoils' + separator + 'NACA_4412.txt' # absolute path \n", " airfoil.polar_files =[ airfoil_path + 'Airfoils' + separator + 'Polars' + separator + 'NACA_4412_polar_Re_50000.txt',\n", " airfoil_path + 'Airfoils' + separator + 'Polars' + separator + 'NACA_4412_polar_Re_100000.txt',\n", " airfoil_path + 'Airfoils' + separator + 'Polars' + separator + 'NACA_4412_polar_Re_200000.txt',\n", " airfoil_path + 'Airfoils' + separator + 'Polars' + separator + 'NACA_4412_polar_Re_500000.txt',\n", " airfoil_path + 'Airfoils' + separator + 'Polars' + separator + 'NACA_4412_polar_Re_1000000.txt'] \n", " prop.append_airfoil(airfoil) \n", " prop.airfoil_polar_stations = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] \n", " ice_prop.propeller = prop\n", "\n", " # design propeller ICE \n", " design_internal_combustion_engine(ice_prop) \n", " \n", " net.propulsors.append(ice_prop)\n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Assign propulsors to fuel line to network \n", " fuel_line.assigned_propulsors = [[ice_prop.tag]]\n", " \n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Append fuel line to fuel line to network \n", " net.fuel_lines.append(fuel_line) \n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Avionics\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " Wuav = 2. * Units.lbs\n", " avionics = RCAIDE.Library.Components.Powertrain.Systems.Avionics()\n", " avionics.mass_properties.uninstalled = Wuav\n", " vehicle.avionics = avionics \n", "\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", " # Vehicle Definition Complete\n", " #------------------------------------------------------------------------------------------------------------------------------------ \n", "\n", " return vehicle\n", " " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:13.796830Z", "iopub.status.busy": "2026-07-25T17:13:13.796693Z", "iopub.status.idle": "2026-07-25T17:13:13.801294Z", "shell.execute_reply": "2026-07-25T17:13:13.800698Z" } }, "outputs": [], "source": [ " \n", "def configs_setup(vehicle):\n", " # ------------------------------------------------------------------\n", " # Initialize Configurations\n", " # ------------------------------------------------------------------ \n", " configs = RCAIDE.Library.Components.Configs.Config.Container() \n", " base_config = RCAIDE.Library.Components.Configs.Config(vehicle) \n", " base_config.tag = 'base'\n", " configs.append(base_config)\n", " \n", " # ------------------------------------------------------------------\n", " # Cruise Configuration\n", " # ------------------------------------------------------------------ \n", " config = RCAIDE.Library.Components.Configs.Config(base_config)\n", " config.tag = 'cruise' \n", " configs.append(config)\n", " \n", " \n", " # ------------------------------------------------------------------\n", " # Takeoff Configuration\n", " # ------------------------------------------------------------------ \n", " config = RCAIDE.Library.Components.Configs.Config(base_config)\n", " config.tag = 'takeoff' \n", " config.wings['main_wing'].control_surfaces.flap.deflection = 20. * Units.deg\n", " config.maximum_lift_coefficient = 2.\n", " \n", " configs.append(config)\n", " \n", " \n", " # ------------------------------------------------------------------\n", " # Landing Configuration\n", " # ------------------------------------------------------------------\n", "\n", " config = RCAIDE.Library.Components.Configs.Config(base_config)\n", " config.tag = 'landing' \n", " config.wings['main_wing'].control_surfaces.flap.deflection = 20. * Units.deg\n", " config.Vref_VS_ratio = 1.23\n", " config.maximum_lift_coefficient = 2.\n", " \n", " configs.append(config)\n", " \n", " \n", " # done!\n", " return configs" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:13.802532Z", "iopub.status.busy": "2026-07-25T17:13:13.802423Z", "iopub.status.idle": "2026-07-25T17:13:13.806090Z", "shell.execute_reply": "2026-07-25T17:13:13.805571Z" } }, "outputs": [], "source": [ "\n", "def base_analysis(vehicle):\n", "\n", " # ------------------------------------------------------------------\n", " # Initialize the Analyses\n", " # ------------------------------------------------------------------ \n", " analyses = RCAIDE.Framework.Analyses.Vehicle()\n", " analyses.vehicle = vehicle \n", "\n", " # ------------------------------------------------------------------\n", " # Geometry\n", " geometry = RCAIDE.Framework.Analyses.Geometry.Geometry()\n", " analyses.append(geometry)\n", "\n", " # ------------------------------------------------------------------\n", " # Weights\n", " weights = RCAIDE.Framework.Analyses.Weights.Conventional_General_Aviation()\n", " weights.method = 'Raymer'\n", " analyses.append(weights) \n", " \n", " # ------------------------------------------------------------------\n", " # Aerodynamics \n", " aerodynamics = RCAIDE.Framework.Analyses.Aerodynamics.Vortex_Lattice_Method() \n", " analyses.append(aerodynamics)\n", "\n", " # ------------------------------------------------------------------\n", " # Energy\n", " energy= RCAIDE.Framework.Analyses.Energy.Energy() \n", " analyses.append(energy)\n", "\n", " # ------------------------------------------------------------------\n", " # Planet Analysis\n", " planet = RCAIDE.Framework.Analyses.Planets.Earth()\n", " analyses.append(planet)\n", "\n", " # ------------------------------------------------------------------\n", " # Atmosphere Analysis\n", " atmosphere = RCAIDE.Framework.Analyses.Atmospheric.US_Standard_1976()\n", " analyses.append(atmosphere) \n", "\n", " # done!\n", " return analyses\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:13.807456Z", "iopub.status.busy": "2026-07-25T17:13:13.807336Z", "iopub.status.idle": "2026-07-25T17:13:13.810058Z", "shell.execute_reply": "2026-07-25T17:13:13.809496Z" } }, "outputs": [], "source": [ "\n", "def analyses_setup(configs):\n", "\n", " analyses = RCAIDE.Framework.Analyses.Analysis.Container()\n", "\n", " # build a base analysis for each config\n", " for tag,config in configs.items():\n", " analysis = base_analysis(config)\n", " analyses[tag] = analysis\n", "\n", " return analyses\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Vehicle Aerodynamic Analysis Setup\n", "\n", "The setup for aerodynamic analysis involves:\n", "\n", "1. **Initialize Analyses**: Create a vehicle analysis object and append Earth as the planetary environment and the US Standard Atmosphere 1976 model.\n", "2. **Define Conditions**: Set altitude (`0 m`) and ISA deviation (`0`).\n", "3. **Vehicle Setup**: Configure the vehicle with `normal` category, FAR part `23`, and lift coefficient limits (`3` and `-1.5`).\n", "4. **Generate V-n Diagram**: Calculate and plot the flight envelope using `generate_V_n_diagram`.\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2026-07-25T17:13:13.811290Z", "iopub.status.busy": "2026-07-25T17:13:13.811185Z", "iopub.status.idle": "2026-07-25T17:15:10.749589Z", "shell.execute_reply": "2026-07-25T17:15:10.748959Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Performing Weights Analysis\n", "--------------------------------------------------------\n", "Propulsion Architecture: Conventional\n", "Aircraft Type : General_Aviation\n", "Method : Raymer\n", "\n", "=== WEIGHT BREAKDOWN REPORT ===\n", "\n", "Structural Components:\n", "Component Weight (kg)\n", "----------------------------------------\n", "Wings 139.40+1.53j\n", "Fuselage 75.09\n", "Empennage 23.63\n", "Landing Gear 74.95\n", "Nacelle 0.00\n", "Booms 0.00\n", "Paint 0.00\n", "----------------------------------------\n", "Total 313.07+1.53j\n", "\n", "Propulsion Components:\n", "Component Weight (kg)\n", "----------------------------------------\n", "Engines 0.00\n", "Thrust Reversers 0.00\n", "Miscellaneous 0.00\n", "Fuel System -0.00+0.00j\n", "Fuel Tanks 0.00\n", "Electrical Cabling 0.00\n", "Thermal Management 0.00\n", "Battery 0.00\n", "Motors 0.00\n", "----------------------------------------\n", "Total 224.41\n", "\n", "Systems:\n", "Component Weight (kg)\n", "----------------------------------------\n", "Control Systems 58.39\n", "Hydraulics 1.16\n", "Avionics 0.00\n", "Electrical 0.03+0.06j\n", "Air Conditioner 0.00\n", "Furnishings 37.83\n", "Apu 0.00\n", "Instruments 0.00\n", "Anti Ice 0.00\n", "----------------------------------------\n", "Total 97.41+0.06j\n", "\n", "Payload Breakdown:\n", "Component Weight (kg)\n", "----------------------------------------\n", "Passengers 353.80\n", "Baggage 54.43\n", "Cargo 54.43\n", "----------------------------------------\n", "Total 200.00\n", "\n", "Operational Items Breakdown:\n", "Component Weight (kg)\n", "----------------------------------------\n", "Misc 0.00\n", "Flight Crew 0.00\n", "Flight Attendants 0.00\n", "Passenger Service 0.00\n", "----------------------------------------\n", "Total 0.00\n", "\n", "Overall Summary:\n", "Metric Weight (kg)\n", "----------------------------------------\n", "Operating Empty Weight 634.88+1.59j\n", "Payload Weight 200.00\n", "Fuel Weight -0.00\n", "Takeoff Weight 1156.66\n", "Zero Fuel Weight 834.88+1.59j\n", "Max Takeoff Weight 1156.66\n", "\n", "===============================\n", "\n", "\n", " Creating aerodynamic surrogate ...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " +----------------------------------------------------+\n", " | MISSION SOLVER INITIATED |\n", " +----------------------------------------------------+\n", " \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\r", " |\u001b[32m \u001b[0m| 0/1 segs [00:00" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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BTRr1ozY2FhcLhd2u/2Y8YuIiEgdt2MH/PwzXHKJeRweDu3bg90OU6aY9SaSkszRCqlRSiwaodtvv53ffvuNAQMGcOutt9K3b1/CwsLYvn07CxcuJCoqyuo7duxYxo8fz7///W86duzIe++9x++//86QIUMAs3Dd8OHDuf766+nevTvp6enMnz+fhx9+GIBu3brx9ttv8+WXX9K0adOjbjd722238cYbb/DSSy+Rn59vLb6OioqiTZs2AFx88cX07duXM844g6KiIp577jkKCwuP2FHqaEpLSxk7diy33XYbqamp/OUvf+HRRx/Fx8eHPXv2MHLkyGPGLyIiInVQbi588IFZZ2LpUrOQ3TnnQESEef6996B5c/DRR93apLvdCDkcDt59912++uorPvzwQ5599ln8/f1p3bo1Dz74IOPHj7f6jhkzhtdff513332XhQsXMnLkSLp162ZNQWrRogWffPIJ//73v/nkk09o0qQJzz//PJdddhkA06ZNY+fOnTz77LPk5eUddbvZ9PR0evXqxauvvlqp/aKLLuLee+8F4N133+XFF1/kX//6Fw6Hg8GDB/O///2PiEP/gWDWuejdu/cR73fChAkMGzaM1157jfz8fP75z39y9dVXk5eXd8L4RUREpI5wuWDBAjOZ+OQTKCkx2202GDTInPp06HOBpjt5hRKLRmz06NGMHj36hP2mTp3K1KlTj3n+j3UuDufn58dDDz103Ou///77J4whODiYu+66i7vuuuuYfUaOHHnMqVFXX301V199tXV8+BSz48UvIiIidcSrr8INN1Qcd+liTnOaMgVatfJeXGJRYiEiIiIidcvOnTB3LnTqBOPGmW0TJ5rVry++2EwoevXSuok6RomFNGht27bF7XZ7OwwRERE5kbw8+PBDc6rTkiVm8brBgysSi6gos8aEXdUS6iolFtKgPfDAA94OQURERI5nwQJ48034+GMoLq5oHzLE3CLWMCpGJpRU1GlKLERERETEe55+2kwuADp2NJOJKVOgdWvvxiWnTImFiIiIiNS8jAyYN89cO/HFFxU7N82YYRa0mz4d+vTRuol6TIlFNfhjZWppuPR3LSIicgoKCuCjj2DWLFi0yJzWBGZycWinx3HjKtZRSL2mxOI0OBwOAMrKynA6nV6ORmpDUVERAL6+vl6OREREpA7LyIB77zUXYx/8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CTEne5czSixERERERBytRQt45RWIi4Mff8xfwrYcUWIhIiIiIlJWODtD7dqOjuKKKLEQEREREZFiU2IhIiIiIiLFpsRCRERERESKTYmFiIiIiIgUmxILEREREREpNiUWIiIiIiJSbEosRERERESk2JRYiIiIiIhIsSmxEBERERGRYlNiISIiIiIixabEQkREREREik2JhYiIiIiIFJsSCxERERERKTYlFiIiIiIiUmxKLEREREREpNiUWIiIiIiISLEpsRARERERkWJTYiEiIiIiIsWmxEJERERERIpNiYWIiIiIiBSbEgsRERERESk2F0cHUNYZhgFAcnKyQ35/dnY2aWlpJCcn4+rq6pAYKiJd15Kja1tydG1Lhq5rydG1LRm6riVH17agvL+B8/4mLooSi4tISUkBICwszMGRiIiIiIg4RkpKCr6+vkW2sRiXkn5UYlarlaNHj+Lj44PFYin135+cnExYWBhxcXFUrVq11H9/RaXrWnJ0bUuOrm3J0HUtObq2JUPXteTo2hZkGAYpKSmEhITg5FT0LAr1WFyEk5MToaGhjg6DqlWr6gYvAbquJUfXtuTo2pYMXdeSo2tbMnRdS46urb2L9VTk0eRtEREREREpNiUWIiIiIiJSbEosyjh3d3eefvpp3N3dHR1KhaLrWnJ0bUuOrm3J0HUtObq2JUPXteTo2haPJm+LiIiIiEixqcdCRERERESKTYmFiIiIiIgUmxILEREREREpNu1jUUadPn2azz77jC1btuDi4kLnzp0ZPXq0JhNdAsMwWLVqFUuXLuXAgQMYhkFkZCQjRoygTp06Bdp/9dVXzJ07t9Bj1apVi7feequkQy43Ro4cSVZWVqF1EydOpHfv3gXKU1NTiY6OZt26dVitVtq2bcvYsWO1Pvh57rzzTk6dOlVkm6+//tq2MdEvv/zChx9+WGg7T09PoqOjr3qM5cGpU6f46aef+PXXX0lNTb3gPZknJyeHL7/8khUrVpCZmUnTpk0ZP348NWvWvCrtK5JNmzaxYMECtm3bhoeHR5H32N69e1m4cCH79u0jJSWF8PBwhgwZQvv27Qu03bx5M1OnTr3gsWbMmIGPj89VOYeyKCUlhZ9//pnFixeTlJTEzTffzM0331xo22effZatW7cWWhcVFcU999xToNwwDObPn8+SJUs4d+4cERERjBs3rtDPwopm165dLFiwgPXr12O1Wpk1axZeXl4F2r355pv8+eefRR5rypQpNG3aFIC4uDgeeuihC7Z99dVXCQ8PL1bs5ZohZc62bduMoKAgA7B7tGjRwjh58qSjwyvTkpOTjfDw8ALXDjDc3d2Njz76qMDPPPHEE4W2B4xGjRo54CzKLnd39wteq48//rhA+7i4OKNBgwYF2tapU8c4dOhQ6Z9AGVWrVq0LXlfACA8Pt2v//vvvX7Ctt7e3g87CscaOHWs4Oztf9J7Mc/bsWaNDhw4Frl/16tWNdevWFbt9RbFjxw4jNDT0ku+xwYMHX/DevPPOO43c3Fy79osWLSry3j9x4kRJn6LDTJo0yXBzc7M736effvqC7Xv37n3B6zRu3LgC7TMzM40BAwYU+h6xaNGikjsxBzt27FihnztnzpwptP2IESOKvAednJyM2NhYW/tt27YV2X7Tpk2lc6JllHosypjc3FxuvvlmEhMT6dKlC7fffjvp6elMnz6drVu3MnHiRL7++mtHh1lmZWZmEhsbS5cuXYiKiqJevXqkpaXx9ddfs3z5ciZOnMg111xj++bhfC+99BL16tWzK9O36gVFRkYyZcqUAuXt2rUrUDZ27Fj2799PixYtmDhxIi4uLnz00UesW7eOkSNHsmrVqtIIucz76KOPSEtLK1C+dOlS3nvvPcaPH1/oz/3nP/8p8C2wi0vlfFvfsWMHfn5+9O/fn3PnzjF//vwi2z/44IOsXbuW8PBwHnzwQfz8/Pj888/55ZdfuOmmm9i9e7ddD/Hltq8oTp8+TXx8PK1atWLQoEG8/fbb5OTkXLD9nj17aNSoEQMHDqRBgwa4u7vz+++/8+WXX/Lhhx/Srl07JkyYUODnxo8fz8CBAwuUV+T34Lx7ZtCgQXh7ezNr1qyL/oyTkxNz5swpUF7YN+RTp07lp59+ombNmjzyyCMEBwfzww8/MHfuXG699VYOHDiAv7//1TiVMiUtLY39+/fTuHFjBg0axNy5czl06NAF2z/00EPceOONBcoTEhK4//776dWrF7Vr1y5QP2jQIMaOHVugvG7dusU7gfLO0ZmN2Js/f74BGG3atDGys7Nt5SdPnjQCAgIMwDh48KADIyzbMjMzC/0m3Gq1GgMHDjQA44UXXrCry+uxqMjfOl4t7u7uRo8ePS6p7fr16229E8nJybbytLQ0o1GjRgZgrFixooQirRj69+9vWCwWIyYmxq48r8fiu+++c0xgZdCOHTuMnJwcwzAM48UXXyyyx+LYsWOGs7Oz4ePjY8THx9vKrVar0bNnTwMwoqOjr7h9RXL69GkjLi7O9jwwMLDIHos9e/YUWv7CCy8YgDFgwAC78rweizfeeOOqxFue7N6928jMzDQMwzCio6MvqcfC2dn5ko6dmZlp+Pr6Gs7OzsbWrVvt6kaOHGkAxosvvnjFsZdlaWlpxr59+2zP27ZtW2SPxYU8//zzBmB88cUXduV5PRaPPPLI1Qi3wtHk7TJm8eLFADzwwAN23zxWr16d2267DYBFixY5JLbywM3NrdBvbiwWC8OHDwcgIyOjlKOqnPLu5X//+992Y6Q9PT1tY4F/+uknh8RWHsTFxfHzzz/Tu3fvSjEeurgiIyNxdna+pLa//PILubm53HLLLdSqVctWbrFYePjhhwH7e/Ny21ck1apVIzQ09JLbN2zYsNDyvG+E9f6br1GjRri5uZXIsVevXs3Zs2fp27cvzZs3t6t79NFHgYp7z3p6etKgQYNiHcMwDP73v//h5+fHsGHDrlJklUPl7DMvw3bs2AFA586dC9Rdc801dm3k8uzcuROAHj16FFr/xRdf8M477+Dk5GSb7F1Y92dld/z4cSZNmkRcXBwBAQF0796dIUOGFBiCo3u5eD799FOsVqvtC4XC/PTTT/zwww/k5uYSERHBjTfeSOPGjUsxyvLpcu9N3cvFd7H331WrVrFr1y7S0tJsk70LG15Z2RmGwYsvvsiOHTvw9vambdu23HLLLQWGjBV1z7Zq1QovLy/ds0X4/fffOXjwIBMnTsTDw6PQNtu3b+fee+8lKSmJ0NBQ+vfvf8H7uzJRYlHGnDhxAoDg4OACdSEhIQCcPHmyVGOqCLZt28b06dPp27cvvXr1KrTNG2+8Yff8ySef5K233uKuu+4qjRDLjV27drFr1y7b87fffpsWLVqwcOFCwsLCbOW6l6+c1Wrl008/xc/PjxtuuOGC7T7++GO7508//TRPPfUUzzzzTAlHWL4VdW9Wr14dNzc3u3vzctuLveTkZB577DFCQkK4//77C23zzTff2D2fOnUqEyZM4MMPP7Sthibme8Pjjz9uV/bEE08wd+5cuz9qi7pnLRYLQUFBHDx4EKvVqutbiLz31ttvv/2CbX7++Wd+/vln2/OXXnqJwYMHM2fOnAsmI5WBEosyJm8pz8K6R/PKMjMzSzWm8u7QoUMMGDCA0NBQZs+eXWibDh06MGDAAOrVq8eJEyf44Ycf+OOPP7j77rtp1KgRUVFRpRx12VSlShVuvfVW2rZti7e3N7t27WLGjBls3bqV4cOH89dff2GxWADdy8Xx888/c/jw4SK/LWvatClDhw6lYcOGnDlzhl9//ZUff/yRKVOm0KBBA0aPHl3KUZcfRd2beeXn35uX217ypaWlMXToUI4ePcqvv/6Kn59fgTZ16tTh5ptvJjIyktTUVFauXMk333zDJ598Qp06dXjyySdLP/AyyNnZmUGDBtG1a1eCg4M5fPgw0dHR7Nmzh8GDB7N3714CAwOBS7tn89pV5j+CC3Pq1Cm+++47mjdvfsFes8DAQEaMGEHz5s3Jyclhw4YNzJ49mx9++IEHH3yQDz74oJSjLkMcPclD7DVv3twAjFOnThWo+/PPPw3AGDlypAMiK5927txp1KpVy6hfv77dBMTzJSYmFlo+efJkAzBuvPHGkgyxXCnsWiUkJBhhYWEGYKxZs8ZW3r9/fwMwtmzZUuBnYmJiDMDo3r17icZbXt1www0GYKxdu7bQ+uPHjxtWq7VA+bvvvmsARqdOnUo6xDLtYpO3J06caADG999/X6AuNzfXcHZ2NmrXrn3F7Suyi03ePl9SUpLRrVs3w9vb21i2bFmhbU6fPm2bwHy+hQsXGoARHBxcrHjLi0uZvF3Y+292drbRp08fAzBeffVVW3nexON333230GOFhoZe8kTw8u5yJ2+//vrrBmC8/vrrhdanpKQY586dK1C+du1aw93d3XB3dzdSU1OLE3K5pv6vMiZvktyBAwcK1OWVnT/cRC5s3bp1dOvWDW9vb/74448LTkDM+4bnn+677z7AXBJQTIVdq6CgIG666SbA/lrpXr4yx44dY8GCBTRr1qzQDcUAAgICbD1D57vjjjvw8PDQPXsRRd2bMTEx5Obm2t2bl9tezLlYUVFRbNq0iUWLFl1w7Hm1atUK/VZ94MCB1KtXj4SEBM6ePVvS4ZYLhb3/uri4MHHiRODS33/T09NJSEi4rEn5lcknn3yCq6vrBXt9q1Spgre3d4Hy9u3b07FjRzIzM4tc3raiU2JRxuR1u50/bi9P3goOmtB2cb/99hu9evUiICCAZcuW2a3kcqnydkKuiGvTX22FXSvdy1dm5syZZGdnFzm290JSUlLIzMzUPXsRl3tv6l6+PDExMXTt2pX9+/ezePFiunXrdtnHsFqtJCUlAXoPvpjLff/9+eefyc3N1T1biJUrV7Jz504GDRpEQEDAZf+8/m5AQ6HKmi1bthiAUa1aNWPXrl228iVLlhjOzs5G1apVjZSUFAdGWPbNmzfPcHNzM5o2bXrBYU55kpKSjPfee69At2VcXJzRqVMnAzDuv//+kgy33Pjhhx+Mv/76y67MarUan3/+ueHi4mI4OTnZ7beQkJBguLm5Ge7u7sbKlStt5Rs3bjS8vb0NFxeXAvsziGFEREQYrq6uxvHjxy/Y5tVXXzVOnz5tV3bixAnj+uuvNwDjhhtuKOkwy7SLDYXKzMw0atSoYVgsFmPu3Lm28piYGCM4ONgA7O7Zy21fkV1sKFTe8FNfX1+7oZEX8u677xpHjx61K0tJSTEmTJhg29OpMrjYUKhNmzYZ8+bNK7Bz+bp164ygoKBC91uIjIw0AOOtt96ylZ08edJWPmfOnKt+HmXR5QyFGj9+vAEYCxYsuGCbTz/91Dhw4IBdWUZGhm1PrKCgoEKHqlYWFsMwDEckNHJhY8aMYfbs2bi7u9O9e3cyMjJYuXIlVquVV199lUceecTRIZZZhw4dIiIigtzcXHr06EGNGjUKtImKirLto5CYmEhwcDDe3t40bNiQWrVqcfz4cTZt2kR2djY1atRg06ZN6jLGXPv8tddeo3bt2tSvXx9XV1d2797N4cOHAbj33nt555137H5m8uTJTJs2DRcXF7p27YqzszPLly8nOzubBx98sMBKXJXdsmXLiIqKYtiwYcybN++C7VxcXHB1dSUiIoLatWtz+vRpNm/eTHp6Ol5eXqxevZoWLVqUYuSO9/nnn/Pdd98B5u7P27dvp23btrZ9bW677Ta7nZ0//PBD7rrrLiwWCx07dsTPz48VK1aQmprK0KFDbce60vYVyciRI22TgRcuXEhOTg5Dhw611c+dO9f2/3Xq1OHw4cM0bdq00KWPg4OD7d4nGjRoQGxsLBEREYSHh3Pu3Dm2bt3K2bNncXZ25scff+S6664ruZNzoMWLF/PJJ58AcPjwYdatW0eTJk2IjIwEYPDgwbadnefPn8+wYcOoXr06DRs2xN/fn9jYWLZv3w6YPRSrV6+2W/Z74cKFDB48GMMwaN26NSEhIaxcuZKkpCQ6duzIqlWrKuyKUPfddx8JCQmAuXTsmTNnGDx4MK6urgB89NFHBXYdT05OJjg4GF9fX+Li4i64L07Pnj1ZsWIFDRo0oG7dumRmZrJ9+3bbynAzZsxg/PjxJXdyZZ2DExspRFpamjFmzBjDYrEYgAEYbm5uxlNPPeXo0Mq8vB0xi3qMGzfO1j49Pd24//77DT8/vwLtevXqZddrVNktX77c6NGjR4Hr5OfnZ0yZMsW26/H5cnJyjAcffNBwcXGxtXd2djYmTpxot7O8mPJ2xC3q2zLDMHeLDwwMLPBatG/fvkCvUmUxadKkIv/dF7az87Rp0wwPDw+7dsOHD7fbKb447SsKd3f3Iq/t+Xx9fYtsW79+fbv2b731llG3bt0C7Ro3bmz89NNPpXmape6dd94p8lqdv7NzTEyMMWLECMPNzc2ujaurqzFu3LhCF3wxDPPb9apVq9r9TO/evS/am1/e1a9fv8hrW9hiLu+9954BGJMmTSry2NHR0bZen/MftWvXNmbPnl1Sp1RuqMeiDIuPj2fbtm04OzvTrl27Atm1FJScnMySJUuKbBMeHl5gbGlmZqbt23dPT0+aNWtGUFBQSYZabiUmJrJnzx6Sk5MJCgqiZcuWF9099sSJE2zcuBHDMGjVqpWu7QX8+OOPZGRkFLrh4D/l5OSwZ88eYmJicHV1pXHjxpV6Q8ft27cXOWm9VatWhe7Gm5yczLp168jMzCQyMtLWw3Ehl9u+Ivjuu+/Izc29YH3ertoAP/zwg613ozBVqlShX79+dmVWq5X9+/dz8OBBDMOgfv36F9zBuyI5cOAAmzZtumB9o0aNCuyanZyczK5duzh27Bh+fn60atWqwOZ4/5Sens5ff/3FuXPniIiIoFGjRlcl/rJs8eLFnDt37oL1AwcOxNPT065szZo1xMfH061btwsu6nK+gwcPsn//frKzswkPD6dJkyYVtgfociixEBERERGRYlNqJSIiIiIixabEQkREREREik2JhYiIiIiIFJsSCxERERERKTYlFiIiIiIiUmxKLEREREREpNiUWIiIiIiISLEpsRARERERkWJTYiEiIiIiIsXm4ugARESkoIcffpjDhw8zePBgxo4dW2iblStX8sYbb/DAAw/QrVu3Uo6w7Pjqq6+YO3cur776KuHh4Vd0jM2bNzN16lT69u3Lv//97wL10dHRfP/994SFhfHyyy+zY8cOpk6dWuQxb731VoYPH15o3aW8vnlWrlzJTz/9RGxsLF5eXoSHhxMVFUXnzp0v/QRFREqBEgsRkTJm3759vPHGGwBs2bLlgn94xsXF8e233zJ06NBKnVhs376db7/9lieffPKKj5GYmMi3335LjRo1CtRNnz6d+++/n3r16vHqq6/i6upqa1+UVq1aFVp+qa9vVlYWY8eOZc6cOYXWN2jQgJ07d+Lq6lpkHCIipUWJhYhIGTNjxgwA2rdvz7p161ixYkWhiUPXrl355ptv6NChQ2mHWGlMmzaNyZMnExkZyS+//EJISIhdfZ8+fQrt4QBo1qxZoeWX+vq+8sorzJkzBw8PD0aPHk379u1xc3Pj4MGDLFu2jD///JPc3FwlFiJSZiixEBEpQ6xWK9HR0dSqVYsPPviAtm3bMmPGjEL/8AwNDeXGG290QJSVw5NPPsnzzz9P69atWbJkSaG9GfXq1bus1+ByXt+5c+cC5lCvIUOGFKg/ePAgbm5ul3FGIiIlS4mFiEgZ8ssvvxAfH8+jjz5KmzZtaNasGd988w3vvPMO3t7edm0Lm2OxePFiPvnkEyZPnkxoaCgzZsxg586dtG7dmoceegiAHTt28PXXX3P48GHc3d1p1KgRo0aNombNmrZjn3+ckJAQPvnkE/bs2UNAQAC33HILHTt2LDT+/fv3M2fOHPbu3QtAixYtGDduXKF/lF9J+++++45FixaRlZVFu3btuP322y/j6l4awzB46KGHeOutt+jcuTOLFi3C19f3qhz7cl7fzMxMAHr16lXoserVq3dVYhIRuWoMEREpM0aMGGEAxubNmw3DMIwXX3zRAIyZM2cWaPvll18agBEdHW0re+eddwzAePnll42aNWsagAEYN910k2EYhvH666/bys5/eHp6GmvXri1wnJdeesmoUaOGXVuLxWK8/PLLBeJ55ZVXDGdn5wLH9vf3N1avXl2s9jk5OcYNN9xQoG3Lli2NBx54wACMTZs2XdE1NwzDWLRokQEYd9xxhzFhwgQDMHr16mWcO3euyPZ33nnnZf2ey3l9R48ebQDG888/b+Tk5Fz+SYmIlDKLYRhGSScvIiJycUlJSQQHB9OgQQO2bdsGmBO069SpQ48ePVi6dKld+6+++opbb72V6OhoRo8eDZgTje+77z48PT1p0KAB48aNo3bt2oSFhdGpUyd8fX1JTU3lzjvvpEOHDuTm5rJr1y5mz57NjBkz6NevX6HHGT9+PH5+fixfvpxZs2ZhsVhYvXq1bX7H/PnzGTZsGL6+vowfP54WLVpgGAYrVqxg9uzZBAcHs3//ftzd3a+o/VtvvcWDDz6It7c399xzD5GRkcTGxjJ9+nTOnTtHeno6mzZtuuCE6YtZvHgx/fv3x8PDg4yMDPr27cv333+Ph4dHke3r1atH69atC23zz1WqLvf1jYuLo0OHDiQmJlKzZk26du1KmzZt6NSpE927d9fcChEpexyb14iISJ733nvPAIxp06bZlffo0cOwWCzGwYMH7cqL6rFo2bKlkZWVZdfearUaVapUMYYNG1bgd6elpRmnTp0qcJwWLVoUOM5rr71mAMbtt99uK+vQoYPh6upq7Ny5s8CxX3rpJQMw5s2bd8XtGzdubFgsFmPVqlV2bWNiYowqVapctR6LvN6ZunXrGrGxsRdtX9Tjn/Fc7utrGIZx6tQp49lnnzXatGljuLi42I5ds2ZN47PPPrvi8xURKQmaYyEiUkbMnDkTi8XCyJEj7cpHjRrFH3/8wWeffcYzzzxzSceaMGFCgW+0LRYL99xzD2+//Tb//e9/ufbaa2nRogV+fn54enri6elZ4Dh33HFHgePcfffdPPbYY2zcuBEwl0Vdv349VatWZcqUKYA5T8H4u0P81KlTgDm3Y9iwYZfdPj09nd27d9O2bdsCezfUqVOHwYMH88UXX1zSdbmY4cOHExAQwNSpU+nVqxfLli0jNDT0gu2LWhWqbt26ds+v5PX19/fnqaee4qmnniIzM5MtW7bw448/8uabbzJu3DiCg4Pp06fPlZ2siMhVpsRCRKQM2LlzJ2vXrsXLy8s2yTrPuXPnAPjss894+umnsVgsFz1e7dq1Cy2fNm0avXr14ptvvuHee+9lz549NGzYkH/961/cd999ODs727U/f0J3Hg8PD6pWrUpqaqotPqvVSlJS0gX3XACuuH1aWtoFYymq/Eo999xz5Obm8uKLL9qSi38uM5vnUleFuhqvr7u7Ox06dKBDhw60bt2aYcOGMX36dCUWIlJmKLEQESkD8vY2SEtLu+DGazExMSxduvSCqwSdz8nJ6YJ1ffv2pW/fvgBkZGTw7bffMnr0aM6ePcvTTz9t13bbtm3cfPPNdmVxcXEkJSXZ9mnw9fXF09OTwMBAXnnllQv+3saNG19xe3d3d3bu3InVai1wblu3br3gMa7UCy+8QG5uLi+//DJRUVH88ccfBAUFXfHxrvbrGxERAZhLzoqIlBVKLEREHCw3N5fZs2cD8MEHH1C9evUCbZYtW8a7777LzJkzL+kPz8KcPn2aL774gjFjxtiWT/Xw8KBbt264uLiwaNGiAonF22+/zdChQ2nbti1gfrs+ceJEAHr37g2As7MzAwYMYN68eZw+fZoJEybY/fGfkpLC559/TkBAwBW1d3FxoXv37vzyyy88/fTTTJkyxdZ+xowZ/P7771d0PS7mpZdeIjc3l9dee41evXqxdOlSAgMDL/s4V/r6vvnmm3Ts2JFOnTrZ9WKcO3fONoTsQj1TIiIO4dgpHiIismDBAgMwunfvfsE2Z86cMby8vAwvLy8jOTnZMIyiJ28vWLCgwDHi4uIMwPDw8DBatGhhXH/99UbPnj0NLy8vAzD+9a9/FThOo0aNDGdnZ6NDhw5G3759bZObAwICjOPHj9va79u3z/D397fVRUVFGddff73RsmVLw9PT0wCMffv2XXH75cuXG05OTgZghIeHG/379zciIyNtMVLIZOkJEyYYw4cPN9LT0y/6GhS1fOyDDz5oAEbTpk1t55zXvl69esbw4cMLfbzxxhuGYVz569u0aVMDMKpXr260a9fOGDRokNGtWzfD29vbtuzv4sWLL3puIiKlRYmFiIiDDR8+3ACMr7/+ush2d9xxhwEYn3zyiWEYl59YpKWlGffdd59RrVo1u9WLXF1djVGjRhlJSUkFjjNnzhxjyJAhdu0bNGhgbNy4scDx9+zZY/Tu3bvA6ki+vr7G3XffbaSkpBSr/Zdffmn4+fnZ2jk7OxuPP/648cQTTxSaWAQGBhpAgeMU5mL7Utx///0GYDRv3tw4ceLEJa0KNWLECMMwrvz1/d///md07drVllCd/4iIiDDmz59/0fMSESlN2sdCRMTBFixYQFZWFkOGDMHF5cIjVI8ePcqqVauoU6cO7du3Jz4+njVr1tChQwfbkJgDBw6wadMmunbtesE5AVlZWezevZvDhw9TrVo1GjduXGB4Tt4+FgsWLOD6669nz5497Nu3jxo1atC+ffsCk7zPl5CQwPbt28nKyqJ27dpERERccD+Iy22flpbGmjVryMzMpGXLloSEhLBjxw527dpFnz59bEO8MjIy8PX1pX79+uzYseOiE96PHTvGihUrqF+//gX3pVi4cCEZGRk0bNiQwMBAVqxYUeQxw8LC6Nix4xW/vnnOnDnDgQMHOHr0KO7u7tSvX58GDRoU+btFRBxBiYWIiBTwz8SivFm+fDk9evRgxowZjB8/3tHhiIhUChdeNkRERKSc+vPPPwkLC2PUqFGODkVEpNLQqlAiIlLh9OnTh/79+xfY3E9EREqOhkKJiEgBlzJXQ0RE5HxKLEREREREpNg0x0JERERERIpNiYWIiIiIiBSbEgsRERERESk2JRYiIiIiIlJsSixERERERKTYlFiIiIiIiEixKbEQEREREZFiU2IhIiIiIiLFpsRCRERERESK7f8BH7uErYb7AZoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vehicle = vehicle_setup()\n", "\n", "configs = configs_setup(vehicle)\n", "\n", "analyses = analyses_setup(configs) \n", "\n", "V_n_data = generate_V_n_diagram(analyses.cruise) \n", "plot_V_n_diagram(V_n_data, save_filename='GA_Vn') \n" ] } ], "metadata": { "kernelspec": { "display_name": "RCAIDE_VENV (3.13.12)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.15" } }, "nbformat": 4, "nbformat_minor": 2 }