RCAIDE-GUI 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. rcaide_gui-1.0.0/PKG-INFO +96 -0
  2. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/PKG-INFO +96 -0
  3. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/SOURCES.txt +341 -0
  4. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/dependency_links.txt +1 -0
  5. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/entry_points.txt +2 -0
  6. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/requires.txt +27 -0
  7. rcaide_gui-1.0.0/RCAIDE_GUI.egg-info/top_level.txt +5 -0
  8. rcaide_gui-1.0.0/README.md +61 -0
  9. rcaide_gui-1.0.0/README_PyPI.md +49 -0
  10. rcaide_gui-1.0.0/VERSION +1 -0
  11. rcaide_gui-1.0.0/common_widgets/__init__.py +6 -0
  12. rcaide_gui-1.0.0/common_widgets/animated_toggle.py +141 -0
  13. rcaide_gui-1.0.0/common_widgets/color.py +17 -0
  14. rcaide_gui-1.0.0/common_widgets/data_entry_widget.py +337 -0
  15. rcaide_gui-1.0.0/common_widgets/image_widget.py +21 -0
  16. rcaide_gui-1.0.0/common_widgets/unit_picker_widget.py +48 -0
  17. rcaide_gui-1.0.0/main.py +168 -0
  18. rcaide_gui-1.0.0/pyproject.toml +80 -0
  19. rcaide_gui-1.0.0/rcaide_io.py +818 -0
  20. rcaide_gui-1.0.0/setup.cfg +4 -0
  21. rcaide_gui-1.0.0/setup.py +9 -0
  22. rcaide_gui-1.0.0/tabs/__init__.py +10 -0
  23. rcaide_gui-1.0.0/tabs/aircraft_configs/__init__.py +3 -0
  24. rcaide_gui-1.0.0/tabs/aircraft_configs/aircraft_configs.py +301 -0
  25. rcaide_gui-1.0.0/tabs/analysis/__init__.py +4 -0
  26. rcaide_gui-1.0.0/tabs/analysis/analysis.py +92 -0
  27. rcaide_gui-1.0.0/tabs/analysis/widgets/__init__.py +13 -0
  28. rcaide_gui-1.0.0/tabs/analysis/widgets/aeroacoustics_widget.py +158 -0
  29. rcaide_gui-1.0.0/tabs/analysis/widgets/aerodynamics_widget.py +108 -0
  30. rcaide_gui-1.0.0/tabs/analysis/widgets/analysis_data_widget.py +29 -0
  31. rcaide_gui-1.0.0/tabs/analysis/widgets/atmosphere_widget.py +49 -0
  32. rcaide_gui-1.0.0/tabs/analysis/widgets/costs_widget.py +35 -0
  33. rcaide_gui-1.0.0/tabs/analysis/widgets/energy_widget.py +32 -0
  34. rcaide_gui-1.0.0/tabs/analysis/widgets/geometry_widget.py +55 -0
  35. rcaide_gui-1.0.0/tabs/analysis/widgets/planets_widget.py +34 -0
  36. rcaide_gui-1.0.0/tabs/analysis/widgets/propulsion_widget.py +53 -0
  37. rcaide_gui-1.0.0/tabs/analysis/widgets/stability_widget.py +34 -0
  38. rcaide_gui-1.0.0/tabs/analysis/widgets/weights_widget.py +94 -0
  39. rcaide_gui-1.0.0/tabs/geometry/__init__.py +6 -0
  40. rcaide_gui-1.0.0/tabs/geometry/aircraft_configs.py +232 -0
  41. rcaide_gui-1.0.0/tabs/geometry/frames/__init__.py +15 -0
  42. rcaide_gui-1.0.0/tabs/geometry/frames/booms/__init__.py +5 -0
  43. rcaide_gui-1.0.0/tabs/geometry/frames/booms/boom_frame.py +238 -0
  44. rcaide_gui-1.0.0/tabs/geometry/frames/cargo_bays/__init__.py +5 -0
  45. rcaide_gui-1.0.0/tabs/geometry/frames/cargo_bays/cargo_bay_frame.py +159 -0
  46. rcaide_gui-1.0.0/tabs/geometry/frames/default_frame.py +23 -0
  47. rcaide_gui-1.0.0/tabs/geometry/frames/energy_network/__init__.py +2 -0
  48. rcaide_gui-1.0.0/tabs/geometry/frames/energy_network/turbofan_network/__init__.py +3 -0
  49. rcaide_gui-1.0.0/tabs/geometry/frames/energy_network/turbofan_network/frames/__init__.py +1 -0
  50. rcaide_gui-1.0.0/tabs/geometry/frames/energy_network/turbofan_network/widgets/__init__.py +1 -0
  51. rcaide_gui-1.0.0/tabs/geometry/frames/fuselages/__init__.py +5 -0
  52. rcaide_gui-1.0.0/tabs/geometry/frames/fuselages/fuselage_frame.py +294 -0
  53. rcaide_gui-1.0.0/tabs/geometry/frames/geometry_frame.py +91 -0
  54. rcaide_gui-1.0.0/tabs/geometry/frames/landing_gears/__init__.py +5 -0
  55. rcaide_gui-1.0.0/tabs/geometry/frames/landing_gears/landing_gear_frame.py +189 -0
  56. rcaide_gui-1.0.0/tabs/geometry/frames/nacelles/__init__.py +1 -0
  57. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/__init__.py +6 -0
  58. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/converters/__init__.py +5 -0
  59. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/converters/converter_frame.py +137 -0
  60. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/distributors/__init__.py +5 -0
  61. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/distributors/distributor_frame.py +143 -0
  62. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/nacelles/__init__.py +5 -0
  63. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/nacelles/nacelle_frame.py +283 -0
  64. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/powertrain_frame.py +259 -0
  65. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/propulsors/__init__.py +5 -0
  66. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/propulsors/propulsor_frame.py +146 -0
  67. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/sources/__init__.py +6 -0
  68. rcaide_gui-1.0.0/tabs/geometry/frames/powertrain/sources/energy_source_frame.py +147 -0
  69. rcaide_gui-1.0.0/tabs/geometry/frames/vehicle_frame.py +171 -0
  70. rcaide_gui-1.0.0/tabs/geometry/frames/wings/__init__.py +5 -0
  71. rcaide_gui-1.0.0/tabs/geometry/frames/wings/wings_frame.py +457 -0
  72. rcaide_gui-1.0.0/tabs/geometry/geometry.py +513 -0
  73. rcaide_gui-1.0.0/tabs/geometry/widgets/__init__.py +12 -0
  74. rcaide_gui-1.0.0/tabs/geometry/widgets/booms/__init__.py +6 -0
  75. rcaide_gui-1.0.0/tabs/geometry/widgets/booms/boom_section_widget.py +109 -0
  76. rcaide_gui-1.0.0/tabs/geometry/widgets/cargo_bays/__init__.py +1 -0
  77. rcaide_gui-1.0.0/tabs/geometry/widgets/fuselages/__init__.py +8 -0
  78. rcaide_gui-1.0.0/tabs/geometry/widgets/fuselages/cabin_class_widget.py +188 -0
  79. rcaide_gui-1.0.0/tabs/geometry/widgets/fuselages/cabin_widget.py +217 -0
  80. rcaide_gui-1.0.0/tabs/geometry/widgets/fuselages/fuselage_section_widget.py +190 -0
  81. rcaide_gui-1.0.0/tabs/geometry/widgets/geometry_data_widget.py +25 -0
  82. rcaide_gui-1.0.0/tabs/geometry/widgets/landing_gears/__init__.py +6 -0
  83. rcaide_gui-1.0.0/tabs/geometry/widgets/nacelles/__init__.py +1 -0
  84. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/__init__.py +9 -0
  85. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/converters/__init__.py +5 -0
  86. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/converters/turboelectric_generator_widget.py +74 -0
  87. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/distributors/__init__.py +5 -0
  88. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/distributors/fuel_line_widget.py +81 -0
  89. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/modulators/__init__.py +5 -0
  90. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/modulators/esc_widget.py +58 -0
  91. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/nacelles/__init__.py +5 -0
  92. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/nacelles/nacelle_section_widget.py +115 -0
  93. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/powertrain_connector_widget.py +136 -0
  94. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/powertrain_widget.py +206 -0
  95. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/propulsors/__init__.py +5 -0
  96. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/propulsors/turbofan_widget.py +462 -0
  97. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/sources/__init__.py +6 -0
  98. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/sources/fuel_tank_widget.py +103 -0
  99. rcaide_gui-1.0.0/tabs/geometry/widgets/powertrain/sources/source_selector_widget.py +35 -0
  100. rcaide_gui-1.0.0/tabs/geometry/widgets/wings/__init__.py +7 -0
  101. rcaide_gui-1.0.0/tabs/geometry/widgets/wings/wing_cs_widget.py +198 -0
  102. rcaide_gui-1.0.0/tabs/geometry/widgets/wings/wing_section_widget.py +298 -0
  103. rcaide_gui-1.0.0/tabs/home/__init__.py +3 -0
  104. rcaide_gui-1.0.0/tabs/home/home.py +585 -0
  105. rcaide_gui-1.0.0/tabs/mission/__init__.py +4 -0
  106. rcaide_gui-1.0.0/tabs/mission/mission.py +1124 -0
  107. rcaide_gui-1.0.0/tabs/mission/widgets/__init__.py +3 -0
  108. rcaide_gui-1.0.0/tabs/mission/widgets/flight_controls_widget.py +186 -0
  109. rcaide_gui-1.0.0/tabs/mission/widgets/mission_analysis_widget.py +166 -0
  110. rcaide_gui-1.0.0/tabs/mission/widgets/mission_segment_helper.py +358 -0
  111. rcaide_gui-1.0.0/tabs/mission/widgets/mission_segment_widget.py +358 -0
  112. rcaide_gui-1.0.0/tabs/solve/__init__.py +4 -0
  113. rcaide_gui-1.0.0/tabs/solve/plots/__init__.py +12 -0
  114. rcaide_gui-1.0.0/tabs/solve/plots/aeroacoustics/__init__.py +6 -0
  115. rcaide_gui-1.0.0/tabs/solve/plots/aeroacoustics/plot_2D_noise_contour.py +184 -0
  116. rcaide_gui-1.0.0/tabs/solve/plots/aeroacoustics/plot_3D_noise_contour.py +219 -0
  117. rcaide_gui-1.0.0/tabs/solve/plots/aeroacoustics/plot_noise_certification_contour.py +115 -0
  118. rcaide_gui-1.0.0/tabs/solve/plots/aeroacoustics/plot_noise_level.py +118 -0
  119. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/__init__.py +10 -0
  120. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_aerodynamic_coefficients.py +156 -0
  121. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_aerodynamic_forces.py +155 -0
  122. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_aircraft_aerodynamics.py +136 -0
  123. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_drag_components.py +157 -0
  124. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_lift_distribution.py +107 -0
  125. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_rotor_conditions.py +255 -0
  126. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_rotor_disc_performance.py +144 -0
  127. rcaide_gui-1.0.0/tabs/solve/plots/aerodynamics/plot_rotor_performance.py +124 -0
  128. rcaide_gui-1.0.0/tabs/solve/plots/common/__init__.py +4 -0
  129. rcaide_gui-1.0.0/tabs/solve/plots/common/plot_style.py +71 -0
  130. rcaide_gui-1.0.0/tabs/solve/plots/common/set_axes.py +55 -0
  131. rcaide_gui-1.0.0/tabs/solve/plots/create_plot_widgets.py +34 -0
  132. rcaide_gui-1.0.0/tabs/solve/plots/emissions/__init__.py +3 -0
  133. rcaide_gui-1.0.0/tabs/solve/plots/emissions/plot_emissions.py +167 -0
  134. rcaide_gui-1.0.0/tabs/solve/plots/energy/__init__.py +12 -0
  135. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_altitude_sfc_weight.py +134 -0
  136. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_cell_conditions.py +154 -0
  137. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_degradation.py +157 -0
  138. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_module_C_rates.py +139 -0
  139. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_module_conditions.py +157 -0
  140. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_pack_conditions.py +164 -0
  141. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_ragone_diagram.py +97 -0
  142. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_battery_temperature.py +136 -0
  143. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_electric_propulsor_efficiencies.py +136 -0
  144. rcaide_gui-1.0.0/tabs/solve/plots/energy/plot_propulsor_throttles.py +119 -0
  145. rcaide_gui-1.0.0/tabs/solve/plots/mission/__init__.py +5 -0
  146. rcaide_gui-1.0.0/tabs/solve/plots/mission/plot_aircraft_velocities.py +145 -0
  147. rcaide_gui-1.0.0/tabs/solve/plots/mission/plot_flight_conditions.py +236 -0
  148. rcaide_gui-1.0.0/tabs/solve/plots/mission/plot_flight_trajectory.py +172 -0
  149. rcaide_gui-1.0.0/tabs/solve/plots/stability/__init__.py +5 -0
  150. rcaide_gui-1.0.0/tabs/solve/plots/stability/plot_flight_forces_and_moments.py +163 -0
  151. rcaide_gui-1.0.0/tabs/solve/plots/stability/plot_lateral_stability.py +151 -0
  152. rcaide_gui-1.0.0/tabs/solve/plots/stability/plot_longitudinal_stability.py +173 -0
  153. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/__init__.py +7 -0
  154. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/plot_air_cooled_conditions.py +152 -0
  155. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/plot_cross_flow_heat_exchanger_conditions.py +185 -0
  156. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/plot_reservoir_conditions.py +141 -0
  157. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/plot_thermal_management_performance.py +105 -0
  158. rcaide_gui-1.0.0/tabs/solve/plots/thermal_management/plot_wavy_channel_conditions.py +161 -0
  159. rcaide_gui-1.0.0/tabs/solve/plots/weights/__init__.py +4 -0
  160. rcaide_gui-1.0.0/tabs/solve/plots/weights/plot_load_diagram.py +163 -0
  161. rcaide_gui-1.0.0/tabs/solve/plots/weights/plot_weight_breakdown.py +164 -0
  162. rcaide_gui-1.0.0/tabs/solve/solve.py +1498 -0
  163. rcaide_gui-1.0.0/tabs/style_sheet.py +114 -0
  164. rcaide_gui-1.0.0/tabs/tab_widget.py +14 -0
  165. rcaide_gui-1.0.0/tabs/visualize_geometry/__init__.py +4 -0
  166. rcaide_gui-1.0.0/tabs/visualize_geometry/core_3d_viewer.py +253 -0
  167. rcaide_gui-1.0.0/tabs/visualize_geometry/features/__init__.py +10 -0
  168. rcaide_gui-1.0.0/tabs/visualize_geometry/features/axes_gizmo.py +173 -0
  169. rcaide_gui-1.0.0/tabs/visualize_geometry/features/background.py +161 -0
  170. rcaide_gui-1.0.0/tabs/visualize_geometry/features/blueprint.py +685 -0
  171. rcaide_gui-1.0.0/tabs/visualize_geometry/features/camera.py +364 -0
  172. rcaide_gui-1.0.0/tabs/visualize_geometry/features/drag_aircraft.py +219 -0
  173. rcaide_gui-1.0.0/tabs/visualize_geometry/features/grid.py +194 -0
  174. rcaide_gui-1.0.0/tabs/visualize_geometry/features/measurement.py +367 -0
  175. rcaide_gui-1.0.0/tabs/visualize_geometry/features/screenshot.py +91 -0
  176. rcaide_gui-1.0.0/tabs/visualize_geometry/geometry_helper_functions.py +3 -0
  177. rcaide_gui-1.0.0/tabs/visualize_geometry/visualize_geometry.py +731 -0
  178. rcaide_gui-1.0.0/utilities.py +257 -0
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: RCAIDE-GUI
3
+ Version: 1.0.0
4
+ Summary: RCAIDE Graphical User Interface: interactive desktop application for aircraft design and analysis
5
+ License: GNU Affero General Public License v3.0
6
+ Classifier: Development Status :: 4 - Beta
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Intended Audience :: Education
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: RCAIDE-LEADS
21
+ Requires-Dist: PyQt6>=6.9.0
22
+ Requires-Dist: pyqtgraph>=0.14.0
23
+ Requires-Dist: pyvista>=0.46.0
24
+ Requires-Dist: pyvistaqt>=0.11.0
25
+ Requires-Dist: qt-material>=2.17
26
+ Requires-Dist: numpy
27
+ Requires-Dist: scipy
28
+ Requires-Dist: matplotlib
29
+ Requires-Dist: plotly
30
+ Requires-Dist: pandas
31
+ Requires-Dist: pillow
32
+ Requires-Dist: trimesh
33
+ Requires-Dist: vtk
34
+ Requires-Dist: contourpy
35
+ Requires-Dist: cycler
36
+ Requires-Dist: fonttools
37
+ Requires-Dist: geographiclib
38
+ Requires-Dist: geopy
39
+ Requires-Dist: joblib
40
+ Requires-Dist: kaleido
41
+ Requires-Dist: python-dateutil
42
+ Requires-Dist: pytz
43
+ Requires-Dist: scikit-learn
44
+ Requires-Dist: six
45
+ Requires-Dist: tenacity
46
+ Requires-Dist: threadpoolctl
47
+
48
+ # RCAIDE GUI: Research Community Aircraft Interdisciplinary Design Environment — Graphical User Interface
49
+
50
+ The RCAIDE GUI is an interactive desktop application for [RCAIDE](https://pypi.org/project/RCAIDE-LEADS/), a powerful open-source Python platform for aircraft design and analysis. It provides an intuitive visual workflow for aerospace engineers, researchers, and students to design, configure, and simulate aircraft without writing Python scripts directly.
51
+
52
+ ## Features
53
+
54
+ - **Vehicle Setup** — Build up aircraft geometry using a component tree (wings, fuselages, nacelles, landing gear, booms, propulsors) with a live 3D preview
55
+ - **Geometry Visualization** — Full 3D VTK rendering environment; inspect component placement and export top/front/side view images
56
+ - **Configurations Setup** — Define base, takeoff, cruise, and landing configurations with control surface deflections and active propulsor settings
57
+ - **Analyses Setup** — Configure multidisciplinary solvers (aerodynamics, atmosphere, weights, acoustics) and toggle fidelity levels
58
+ - **Mission Setup** — Chain flight segments (takeoff, climb, cruise, descent) with custom altitudes, speeds, and linked analyses
59
+ - **Mission Simulation** — Execute the backend RCAIDE solvers and view numerical and graphical results (performance, payload-range, stability)
60
+
61
+ ## Installation
62
+
63
+ ```bash
64
+ pip install RCAIDE-GUI
65
+ ```
66
+
67
+ Installing `RCAIDE-GUI` automatically installs [RCAIDE-LEADS](https://pypi.org/project/RCAIDE-LEADS/) and all required dependencies.
68
+
69
+ ## Launch
70
+
71
+ ```bash
72
+ rcaide-gui
73
+ ```
74
+
75
+ Or via Python:
76
+
77
+ ```bash
78
+ python -m main
79
+ ```
80
+
81
+ ## Requirements
82
+
83
+ - Python ≥ 3.9
84
+ - PyQt6
85
+ - pyvista / pyvistaqt
86
+ - RCAIDE-LEADS (installed automatically)
87
+
88
+ Refer to the [installation guide](https://www.docs.rcaide.leadsresearchgroup.com/install.html) for platform-specific notes.
89
+
90
+ ## Contributing
91
+
92
+ We welcome contributions! Please see our [contribution guidelines](https://www.docs.rcaide.leadsresearchgroup.com/contributing.html).
93
+
94
+ ## Contact
95
+
96
+ For feedback, issues, or feature requests, use our [GitHub Issues](https://github.com/leadsgroup/RCAIDE_GUI/issues) or join our [Discussions](https://github.com/leadsgroup/RCAIDE_GUI/discussions).
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: RCAIDE-GUI
3
+ Version: 1.0.0
4
+ Summary: RCAIDE Graphical User Interface: interactive desktop application for aircraft design and analysis
5
+ License: GNU Affero General Public License v3.0
6
+ Classifier: Development Status :: 4 - Beta
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Intended Audience :: Education
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: RCAIDE-LEADS
21
+ Requires-Dist: PyQt6>=6.9.0
22
+ Requires-Dist: pyqtgraph>=0.14.0
23
+ Requires-Dist: pyvista>=0.46.0
24
+ Requires-Dist: pyvistaqt>=0.11.0
25
+ Requires-Dist: qt-material>=2.17
26
+ Requires-Dist: numpy
27
+ Requires-Dist: scipy
28
+ Requires-Dist: matplotlib
29
+ Requires-Dist: plotly
30
+ Requires-Dist: pandas
31
+ Requires-Dist: pillow
32
+ Requires-Dist: trimesh
33
+ Requires-Dist: vtk
34
+ Requires-Dist: contourpy
35
+ Requires-Dist: cycler
36
+ Requires-Dist: fonttools
37
+ Requires-Dist: geographiclib
38
+ Requires-Dist: geopy
39
+ Requires-Dist: joblib
40
+ Requires-Dist: kaleido
41
+ Requires-Dist: python-dateutil
42
+ Requires-Dist: pytz
43
+ Requires-Dist: scikit-learn
44
+ Requires-Dist: six
45
+ Requires-Dist: tenacity
46
+ Requires-Dist: threadpoolctl
47
+
48
+ # RCAIDE GUI: Research Community Aircraft Interdisciplinary Design Environment — Graphical User Interface
49
+
50
+ The RCAIDE GUI is an interactive desktop application for [RCAIDE](https://pypi.org/project/RCAIDE-LEADS/), a powerful open-source Python platform for aircraft design and analysis. It provides an intuitive visual workflow for aerospace engineers, researchers, and students to design, configure, and simulate aircraft without writing Python scripts directly.
51
+
52
+ ## Features
53
+
54
+ - **Vehicle Setup** — Build up aircraft geometry using a component tree (wings, fuselages, nacelles, landing gear, booms, propulsors) with a live 3D preview
55
+ - **Geometry Visualization** — Full 3D VTK rendering environment; inspect component placement and export top/front/side view images
56
+ - **Configurations Setup** — Define base, takeoff, cruise, and landing configurations with control surface deflections and active propulsor settings
57
+ - **Analyses Setup** — Configure multidisciplinary solvers (aerodynamics, atmosphere, weights, acoustics) and toggle fidelity levels
58
+ - **Mission Setup** — Chain flight segments (takeoff, climb, cruise, descent) with custom altitudes, speeds, and linked analyses
59
+ - **Mission Simulation** — Execute the backend RCAIDE solvers and view numerical and graphical results (performance, payload-range, stability)
60
+
61
+ ## Installation
62
+
63
+ ```bash
64
+ pip install RCAIDE-GUI
65
+ ```
66
+
67
+ Installing `RCAIDE-GUI` automatically installs [RCAIDE-LEADS](https://pypi.org/project/RCAIDE-LEADS/) and all required dependencies.
68
+
69
+ ## Launch
70
+
71
+ ```bash
72
+ rcaide-gui
73
+ ```
74
+
75
+ Or via Python:
76
+
77
+ ```bash
78
+ python -m main
79
+ ```
80
+
81
+ ## Requirements
82
+
83
+ - Python ≥ 3.9
84
+ - PyQt6
85
+ - pyvista / pyvistaqt
86
+ - RCAIDE-LEADS (installed automatically)
87
+
88
+ Refer to the [installation guide](https://www.docs.rcaide.leadsresearchgroup.com/install.html) for platform-specific notes.
89
+
90
+ ## Contributing
91
+
92
+ We welcome contributions! Please see our [contribution guidelines](https://www.docs.rcaide.leadsresearchgroup.com/contributing.html).
93
+
94
+ ## Contact
95
+
96
+ For feedback, issues, or feature requests, use our [GitHub Issues](https://github.com/leadsgroup/RCAIDE_GUI/issues) or join our [Discussions](https://github.com/leadsgroup/RCAIDE_GUI/discussions).
@@ -0,0 +1,341 @@
1
+ README.md
2
+ README_PyPI.md
3
+ VERSION
4
+ main.py
5
+ pyproject.toml
6
+ rcaide_io.py
7
+ setup.py
8
+ utilities.py
9
+ ./main.py
10
+ ./rcaide_io.py
11
+ ./utilities.py
12
+ ./common_widgets/__init__.py
13
+ ./common_widgets/animated_toggle.py
14
+ ./common_widgets/color.py
15
+ ./common_widgets/data_entry_widget.py
16
+ ./common_widgets/image_widget.py
17
+ ./common_widgets/unit_picker_widget.py
18
+ ./tabs/__init__.py
19
+ ./tabs/style_sheet.py
20
+ ./tabs/tab_widget.py
21
+ ./tabs/aircraft_configs/__init__.py
22
+ ./tabs/aircraft_configs/aircraft_configs.py
23
+ ./tabs/analysis/__init__.py
24
+ ./tabs/analysis/analysis.py
25
+ ./tabs/analysis/widgets/__init__.py
26
+ ./tabs/analysis/widgets/aeroacoustics_widget.py
27
+ ./tabs/analysis/widgets/aerodynamics_widget.py
28
+ ./tabs/analysis/widgets/analysis_data_widget.py
29
+ ./tabs/analysis/widgets/atmosphere_widget.py
30
+ ./tabs/analysis/widgets/costs_widget.py
31
+ ./tabs/analysis/widgets/energy_widget.py
32
+ ./tabs/analysis/widgets/geometry_widget.py
33
+ ./tabs/analysis/widgets/planets_widget.py
34
+ ./tabs/analysis/widgets/propulsion_widget.py
35
+ ./tabs/analysis/widgets/stability_widget.py
36
+ ./tabs/analysis/widgets/weights_widget.py
37
+ ./tabs/geometry/__init__.py
38
+ ./tabs/geometry/aircraft_configs.py
39
+ ./tabs/geometry/geometry.py
40
+ ./tabs/geometry/frames/__init__.py
41
+ ./tabs/geometry/frames/default_frame.py
42
+ ./tabs/geometry/frames/geometry_frame.py
43
+ ./tabs/geometry/frames/vehicle_frame.py
44
+ ./tabs/geometry/frames/booms/__init__.py
45
+ ./tabs/geometry/frames/booms/boom_frame.py
46
+ ./tabs/geometry/frames/cargo_bays/__init__.py
47
+ ./tabs/geometry/frames/cargo_bays/cargo_bay_frame.py
48
+ ./tabs/geometry/frames/energy_network/__init__.py
49
+ ./tabs/geometry/frames/energy_network/turbofan_network/__init__.py
50
+ ./tabs/geometry/frames/energy_network/turbofan_network/frames/__init__.py
51
+ ./tabs/geometry/frames/energy_network/turbofan_network/widgets/__init__.py
52
+ ./tabs/geometry/frames/fuselages/__init__.py
53
+ ./tabs/geometry/frames/fuselages/fuselage_frame.py
54
+ ./tabs/geometry/frames/landing_gears/__init__.py
55
+ ./tabs/geometry/frames/landing_gears/landing_gear_frame.py
56
+ ./tabs/geometry/frames/nacelles/__init__.py
57
+ ./tabs/geometry/frames/powertrain/__init__.py
58
+ ./tabs/geometry/frames/powertrain/powertrain_frame.py
59
+ ./tabs/geometry/frames/powertrain/converters/__init__.py
60
+ ./tabs/geometry/frames/powertrain/converters/converter_frame.py
61
+ ./tabs/geometry/frames/powertrain/distributors/__init__.py
62
+ ./tabs/geometry/frames/powertrain/distributors/distributor_frame.py
63
+ ./tabs/geometry/frames/powertrain/nacelles/__init__.py
64
+ ./tabs/geometry/frames/powertrain/nacelles/nacelle_frame.py
65
+ ./tabs/geometry/frames/powertrain/propulsors/__init__.py
66
+ ./tabs/geometry/frames/powertrain/propulsors/propulsor_frame.py
67
+ ./tabs/geometry/frames/powertrain/sources/__init__.py
68
+ ./tabs/geometry/frames/powertrain/sources/energy_source_frame.py
69
+ ./tabs/geometry/frames/wings/__init__.py
70
+ ./tabs/geometry/frames/wings/wings_frame.py
71
+ ./tabs/geometry/widgets/__init__.py
72
+ ./tabs/geometry/widgets/geometry_data_widget.py
73
+ ./tabs/geometry/widgets/booms/__init__.py
74
+ ./tabs/geometry/widgets/booms/boom_section_widget.py
75
+ ./tabs/geometry/widgets/cargo_bays/__init__.py
76
+ ./tabs/geometry/widgets/fuselages/__init__.py
77
+ ./tabs/geometry/widgets/fuselages/cabin_class_widget.py
78
+ ./tabs/geometry/widgets/fuselages/cabin_widget.py
79
+ ./tabs/geometry/widgets/fuselages/fuselage_section_widget.py
80
+ ./tabs/geometry/widgets/landing_gears/__init__.py
81
+ ./tabs/geometry/widgets/nacelles/__init__.py
82
+ ./tabs/geometry/widgets/powertrain/__init__.py
83
+ ./tabs/geometry/widgets/powertrain/powertrain_connector_widget.py
84
+ ./tabs/geometry/widgets/powertrain/powertrain_widget.py
85
+ ./tabs/geometry/widgets/powertrain/converters/__init__.py
86
+ ./tabs/geometry/widgets/powertrain/converters/turboelectric_generator_widget.py
87
+ ./tabs/geometry/widgets/powertrain/distributors/__init__.py
88
+ ./tabs/geometry/widgets/powertrain/distributors/fuel_line_widget.py
89
+ ./tabs/geometry/widgets/powertrain/modulators/__init__.py
90
+ ./tabs/geometry/widgets/powertrain/modulators/esc_widget.py
91
+ ./tabs/geometry/widgets/powertrain/nacelles/__init__.py
92
+ ./tabs/geometry/widgets/powertrain/nacelles/nacelle_section_widget.py
93
+ ./tabs/geometry/widgets/powertrain/propulsors/__init__.py
94
+ ./tabs/geometry/widgets/powertrain/propulsors/turbofan_widget.py
95
+ ./tabs/geometry/widgets/powertrain/sources/__init__.py
96
+ ./tabs/geometry/widgets/powertrain/sources/fuel_tank_widget.py
97
+ ./tabs/geometry/widgets/powertrain/sources/source_selector_widget.py
98
+ ./tabs/geometry/widgets/wings/__init__.py
99
+ ./tabs/geometry/widgets/wings/wing_cs_widget.py
100
+ ./tabs/geometry/widgets/wings/wing_section_widget.py
101
+ ./tabs/home/__init__.py
102
+ ./tabs/home/home.py
103
+ ./tabs/mission/__init__.py
104
+ ./tabs/mission/mission.py
105
+ ./tabs/mission/widgets/__init__.py
106
+ ./tabs/mission/widgets/flight_controls_widget.py
107
+ ./tabs/mission/widgets/mission_analysis_widget.py
108
+ ./tabs/mission/widgets/mission_segment_helper.py
109
+ ./tabs/mission/widgets/mission_segment_widget.py
110
+ ./tabs/solve/__init__.py
111
+ ./tabs/solve/solve.py
112
+ ./tabs/solve/plots/__init__.py
113
+ ./tabs/solve/plots/create_plot_widgets.py
114
+ ./tabs/solve/plots/aeroacoustics/__init__.py
115
+ ./tabs/solve/plots/aeroacoustics/plot_2D_noise_contour.py
116
+ ./tabs/solve/plots/aeroacoustics/plot_3D_noise_contour.py
117
+ ./tabs/solve/plots/aeroacoustics/plot_noise_certification_contour.py
118
+ ./tabs/solve/plots/aeroacoustics/plot_noise_level.py
119
+ ./tabs/solve/plots/aerodynamics/__init__.py
120
+ ./tabs/solve/plots/aerodynamics/plot_aerodynamic_coefficients.py
121
+ ./tabs/solve/plots/aerodynamics/plot_aerodynamic_forces.py
122
+ ./tabs/solve/plots/aerodynamics/plot_aircraft_aerodynamics.py
123
+ ./tabs/solve/plots/aerodynamics/plot_drag_components.py
124
+ ./tabs/solve/plots/aerodynamics/plot_lift_distribution.py
125
+ ./tabs/solve/plots/aerodynamics/plot_rotor_conditions.py
126
+ ./tabs/solve/plots/aerodynamics/plot_rotor_disc_performance.py
127
+ ./tabs/solve/plots/aerodynamics/plot_rotor_performance.py
128
+ ./tabs/solve/plots/common/__init__.py
129
+ ./tabs/solve/plots/common/plot_style.py
130
+ ./tabs/solve/plots/common/set_axes.py
131
+ ./tabs/solve/plots/emissions/__init__.py
132
+ ./tabs/solve/plots/emissions/plot_emissions.py
133
+ ./tabs/solve/plots/energy/__init__.py
134
+ ./tabs/solve/plots/energy/plot_altitude_sfc_weight.py
135
+ ./tabs/solve/plots/energy/plot_battery_cell_conditions.py
136
+ ./tabs/solve/plots/energy/plot_battery_degradation.py
137
+ ./tabs/solve/plots/energy/plot_battery_module_C_rates.py
138
+ ./tabs/solve/plots/energy/plot_battery_module_conditions.py
139
+ ./tabs/solve/plots/energy/plot_battery_pack_conditions.py
140
+ ./tabs/solve/plots/energy/plot_battery_ragone_diagram.py
141
+ ./tabs/solve/plots/energy/plot_battery_temperature.py
142
+ ./tabs/solve/plots/energy/plot_electric_propulsor_efficiencies.py
143
+ ./tabs/solve/plots/energy/plot_propulsor_throttles.py
144
+ ./tabs/solve/plots/mission/__init__.py
145
+ ./tabs/solve/plots/mission/plot_aircraft_velocities.py
146
+ ./tabs/solve/plots/mission/plot_flight_conditions.py
147
+ ./tabs/solve/plots/mission/plot_flight_trajectory.py
148
+ ./tabs/solve/plots/stability/__init__.py
149
+ ./tabs/solve/plots/stability/plot_flight_forces_and_moments.py
150
+ ./tabs/solve/plots/stability/plot_lateral_stability.py
151
+ ./tabs/solve/plots/stability/plot_longitudinal_stability.py
152
+ ./tabs/solve/plots/thermal_management/__init__.py
153
+ ./tabs/solve/plots/thermal_management/plot_air_cooled_conditions.py
154
+ ./tabs/solve/plots/thermal_management/plot_cross_flow_heat_exchanger_conditions.py
155
+ ./tabs/solve/plots/thermal_management/plot_reservoir_conditions.py
156
+ ./tabs/solve/plots/thermal_management/plot_thermal_management_performance.py
157
+ ./tabs/solve/plots/thermal_management/plot_wavy_channel_conditions.py
158
+ ./tabs/solve/plots/weights/__init__.py
159
+ ./tabs/solve/plots/weights/plot_load_diagram.py
160
+ ./tabs/solve/plots/weights/plot_weight_breakdown.py
161
+ ./tabs/visualize_geometry/__init__.py
162
+ ./tabs/visualize_geometry/core_3d_viewer.py
163
+ ./tabs/visualize_geometry/geometry_helper_functions.py
164
+ ./tabs/visualize_geometry/visualize_geometry.py
165
+ ./tabs/visualize_geometry/features/__init__.py
166
+ ./tabs/visualize_geometry/features/axes_gizmo.py
167
+ ./tabs/visualize_geometry/features/background.py
168
+ ./tabs/visualize_geometry/features/blueprint.py
169
+ ./tabs/visualize_geometry/features/camera.py
170
+ ./tabs/visualize_geometry/features/drag_aircraft.py
171
+ ./tabs/visualize_geometry/features/grid.py
172
+ ./tabs/visualize_geometry/features/measurement.py
173
+ ./tabs/visualize_geometry/features/screenshot.py
174
+ RCAIDE_GUI.egg-info/PKG-INFO
175
+ RCAIDE_GUI.egg-info/SOURCES.txt
176
+ RCAIDE_GUI.egg-info/dependency_links.txt
177
+ RCAIDE_GUI.egg-info/entry_points.txt
178
+ RCAIDE_GUI.egg-info/requires.txt
179
+ RCAIDE_GUI.egg-info/top_level.txt
180
+ common_widgets/__init__.py
181
+ common_widgets/animated_toggle.py
182
+ common_widgets/color.py
183
+ common_widgets/data_entry_widget.py
184
+ common_widgets/image_widget.py
185
+ common_widgets/unit_picker_widget.py
186
+ tabs/__init__.py
187
+ tabs/style_sheet.py
188
+ tabs/tab_widget.py
189
+ tabs/aircraft_configs/__init__.py
190
+ tabs/aircraft_configs/aircraft_configs.py
191
+ tabs/analysis/__init__.py
192
+ tabs/analysis/analysis.py
193
+ tabs/analysis/widgets/__init__.py
194
+ tabs/analysis/widgets/aeroacoustics_widget.py
195
+ tabs/analysis/widgets/aerodynamics_widget.py
196
+ tabs/analysis/widgets/analysis_data_widget.py
197
+ tabs/analysis/widgets/atmosphere_widget.py
198
+ tabs/analysis/widgets/costs_widget.py
199
+ tabs/analysis/widgets/energy_widget.py
200
+ tabs/analysis/widgets/geometry_widget.py
201
+ tabs/analysis/widgets/planets_widget.py
202
+ tabs/analysis/widgets/propulsion_widget.py
203
+ tabs/analysis/widgets/stability_widget.py
204
+ tabs/analysis/widgets/weights_widget.py
205
+ tabs/geometry/__init__.py
206
+ tabs/geometry/aircraft_configs.py
207
+ tabs/geometry/geometry.py
208
+ tabs/geometry/frames/__init__.py
209
+ tabs/geometry/frames/default_frame.py
210
+ tabs/geometry/frames/geometry_frame.py
211
+ tabs/geometry/frames/vehicle_frame.py
212
+ tabs/geometry/frames/booms/__init__.py
213
+ tabs/geometry/frames/booms/boom_frame.py
214
+ tabs/geometry/frames/cargo_bays/__init__.py
215
+ tabs/geometry/frames/cargo_bays/cargo_bay_frame.py
216
+ tabs/geometry/frames/energy_network/__init__.py
217
+ tabs/geometry/frames/energy_network/turbofan_network/__init__.py
218
+ tabs/geometry/frames/energy_network/turbofan_network/frames/__init__.py
219
+ tabs/geometry/frames/energy_network/turbofan_network/widgets/__init__.py
220
+ tabs/geometry/frames/fuselages/__init__.py
221
+ tabs/geometry/frames/fuselages/fuselage_frame.py
222
+ tabs/geometry/frames/landing_gears/__init__.py
223
+ tabs/geometry/frames/landing_gears/landing_gear_frame.py
224
+ tabs/geometry/frames/nacelles/__init__.py
225
+ tabs/geometry/frames/powertrain/__init__.py
226
+ tabs/geometry/frames/powertrain/powertrain_frame.py
227
+ tabs/geometry/frames/powertrain/converters/__init__.py
228
+ tabs/geometry/frames/powertrain/converters/converter_frame.py
229
+ tabs/geometry/frames/powertrain/distributors/__init__.py
230
+ tabs/geometry/frames/powertrain/distributors/distributor_frame.py
231
+ tabs/geometry/frames/powertrain/nacelles/__init__.py
232
+ tabs/geometry/frames/powertrain/nacelles/nacelle_frame.py
233
+ tabs/geometry/frames/powertrain/propulsors/__init__.py
234
+ tabs/geometry/frames/powertrain/propulsors/propulsor_frame.py
235
+ tabs/geometry/frames/powertrain/sources/__init__.py
236
+ tabs/geometry/frames/powertrain/sources/energy_source_frame.py
237
+ tabs/geometry/frames/wings/__init__.py
238
+ tabs/geometry/frames/wings/wings_frame.py
239
+ tabs/geometry/widgets/__init__.py
240
+ tabs/geometry/widgets/geometry_data_widget.py
241
+ tabs/geometry/widgets/booms/__init__.py
242
+ tabs/geometry/widgets/booms/boom_section_widget.py
243
+ tabs/geometry/widgets/cargo_bays/__init__.py
244
+ tabs/geometry/widgets/fuselages/__init__.py
245
+ tabs/geometry/widgets/fuselages/cabin_class_widget.py
246
+ tabs/geometry/widgets/fuselages/cabin_widget.py
247
+ tabs/geometry/widgets/fuselages/fuselage_section_widget.py
248
+ tabs/geometry/widgets/landing_gears/__init__.py
249
+ tabs/geometry/widgets/nacelles/__init__.py
250
+ tabs/geometry/widgets/powertrain/__init__.py
251
+ tabs/geometry/widgets/powertrain/powertrain_connector_widget.py
252
+ tabs/geometry/widgets/powertrain/powertrain_widget.py
253
+ tabs/geometry/widgets/powertrain/converters/__init__.py
254
+ tabs/geometry/widgets/powertrain/converters/turboelectric_generator_widget.py
255
+ tabs/geometry/widgets/powertrain/distributors/__init__.py
256
+ tabs/geometry/widgets/powertrain/distributors/fuel_line_widget.py
257
+ tabs/geometry/widgets/powertrain/modulators/__init__.py
258
+ tabs/geometry/widgets/powertrain/modulators/esc_widget.py
259
+ tabs/geometry/widgets/powertrain/nacelles/__init__.py
260
+ tabs/geometry/widgets/powertrain/nacelles/nacelle_section_widget.py
261
+ tabs/geometry/widgets/powertrain/propulsors/__init__.py
262
+ tabs/geometry/widgets/powertrain/propulsors/turbofan_widget.py
263
+ tabs/geometry/widgets/powertrain/sources/__init__.py
264
+ tabs/geometry/widgets/powertrain/sources/fuel_tank_widget.py
265
+ tabs/geometry/widgets/powertrain/sources/source_selector_widget.py
266
+ tabs/geometry/widgets/wings/__init__.py
267
+ tabs/geometry/widgets/wings/wing_cs_widget.py
268
+ tabs/geometry/widgets/wings/wing_section_widget.py
269
+ tabs/home/__init__.py
270
+ tabs/home/home.py
271
+ tabs/mission/__init__.py
272
+ tabs/mission/mission.py
273
+ tabs/mission/widgets/__init__.py
274
+ tabs/mission/widgets/flight_controls_widget.py
275
+ tabs/mission/widgets/mission_analysis_widget.py
276
+ tabs/mission/widgets/mission_segment_helper.py
277
+ tabs/mission/widgets/mission_segment_widget.py
278
+ tabs/solve/__init__.py
279
+ tabs/solve/solve.py
280
+ tabs/solve/plots/__init__.py
281
+ tabs/solve/plots/create_plot_widgets.py
282
+ tabs/solve/plots/aeroacoustics/__init__.py
283
+ tabs/solve/plots/aeroacoustics/plot_2D_noise_contour.py
284
+ tabs/solve/plots/aeroacoustics/plot_3D_noise_contour.py
285
+ tabs/solve/plots/aeroacoustics/plot_noise_certification_contour.py
286
+ tabs/solve/plots/aeroacoustics/plot_noise_level.py
287
+ tabs/solve/plots/aerodynamics/__init__.py
288
+ tabs/solve/plots/aerodynamics/plot_aerodynamic_coefficients.py
289
+ tabs/solve/plots/aerodynamics/plot_aerodynamic_forces.py
290
+ tabs/solve/plots/aerodynamics/plot_aircraft_aerodynamics.py
291
+ tabs/solve/plots/aerodynamics/plot_drag_components.py
292
+ tabs/solve/plots/aerodynamics/plot_lift_distribution.py
293
+ tabs/solve/plots/aerodynamics/plot_rotor_conditions.py
294
+ tabs/solve/plots/aerodynamics/plot_rotor_disc_performance.py
295
+ tabs/solve/plots/aerodynamics/plot_rotor_performance.py
296
+ tabs/solve/plots/common/__init__.py
297
+ tabs/solve/plots/common/plot_style.py
298
+ tabs/solve/plots/common/set_axes.py
299
+ tabs/solve/plots/emissions/__init__.py
300
+ tabs/solve/plots/emissions/plot_emissions.py
301
+ tabs/solve/plots/energy/__init__.py
302
+ tabs/solve/plots/energy/plot_altitude_sfc_weight.py
303
+ tabs/solve/plots/energy/plot_battery_cell_conditions.py
304
+ tabs/solve/plots/energy/plot_battery_degradation.py
305
+ tabs/solve/plots/energy/plot_battery_module_C_rates.py
306
+ tabs/solve/plots/energy/plot_battery_module_conditions.py
307
+ tabs/solve/plots/energy/plot_battery_pack_conditions.py
308
+ tabs/solve/plots/energy/plot_battery_ragone_diagram.py
309
+ tabs/solve/plots/energy/plot_battery_temperature.py
310
+ tabs/solve/plots/energy/plot_electric_propulsor_efficiencies.py
311
+ tabs/solve/plots/energy/plot_propulsor_throttles.py
312
+ tabs/solve/plots/mission/__init__.py
313
+ tabs/solve/plots/mission/plot_aircraft_velocities.py
314
+ tabs/solve/plots/mission/plot_flight_conditions.py
315
+ tabs/solve/plots/mission/plot_flight_trajectory.py
316
+ tabs/solve/plots/stability/__init__.py
317
+ tabs/solve/plots/stability/plot_flight_forces_and_moments.py
318
+ tabs/solve/plots/stability/plot_lateral_stability.py
319
+ tabs/solve/plots/stability/plot_longitudinal_stability.py
320
+ tabs/solve/plots/thermal_management/__init__.py
321
+ tabs/solve/plots/thermal_management/plot_air_cooled_conditions.py
322
+ tabs/solve/plots/thermal_management/plot_cross_flow_heat_exchanger_conditions.py
323
+ tabs/solve/plots/thermal_management/plot_reservoir_conditions.py
324
+ tabs/solve/plots/thermal_management/plot_thermal_management_performance.py
325
+ tabs/solve/plots/thermal_management/plot_wavy_channel_conditions.py
326
+ tabs/solve/plots/weights/__init__.py
327
+ tabs/solve/plots/weights/plot_load_diagram.py
328
+ tabs/solve/plots/weights/plot_weight_breakdown.py
329
+ tabs/visualize_geometry/__init__.py
330
+ tabs/visualize_geometry/core_3d_viewer.py
331
+ tabs/visualize_geometry/geometry_helper_functions.py
332
+ tabs/visualize_geometry/visualize_geometry.py
333
+ tabs/visualize_geometry/features/__init__.py
334
+ tabs/visualize_geometry/features/axes_gizmo.py
335
+ tabs/visualize_geometry/features/background.py
336
+ tabs/visualize_geometry/features/blueprint.py
337
+ tabs/visualize_geometry/features/camera.py
338
+ tabs/visualize_geometry/features/drag_aircraft.py
339
+ tabs/visualize_geometry/features/grid.py
340
+ tabs/visualize_geometry/features/measurement.py
341
+ tabs/visualize_geometry/features/screenshot.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rcaide-gui = main:main
@@ -0,0 +1,27 @@
1
+ RCAIDE-LEADS
2
+ PyQt6>=6.9.0
3
+ pyqtgraph>=0.14.0
4
+ pyvista>=0.46.0
5
+ pyvistaqt>=0.11.0
6
+ qt-material>=2.17
7
+ numpy
8
+ scipy
9
+ matplotlib
10
+ plotly
11
+ pandas
12
+ pillow
13
+ trimesh
14
+ vtk
15
+ contourpy
16
+ cycler
17
+ fonttools
18
+ geographiclib
19
+ geopy
20
+ joblib
21
+ kaleido
22
+ python-dateutil
23
+ pytz
24
+ scikit-learn
25
+ six
26
+ tenacity
27
+ threadpoolctl
@@ -0,0 +1,5 @@
1
+ common_widgets
2
+ main
3
+ rcaide_io
4
+ tabs
5
+ utilities
@@ -0,0 +1,61 @@
1
+ <p align="center">
2
+ <img src="https://github.com/leadsgroup/RCAIDE_Website/blob/main/assets/img/RCAIDE_Logo_No_Background.png" width=25% height=25%>
3
+ </p>
4
+
5
+ #
6
+ <div align="center">
7
+
8
+ <!-- [![CI](https://github.com/leadsgroup/RCAIDE_LEADS/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/leadsgroup/RCAIDE_LEADS/actions/workflows/CI.yml)
9
+ [![Documentation](https://github.com/leadsgroup/RCAIDE_LEADS/actions/workflows/sphinx_docs.yml/badge.svg)](https://github.com/leadsgroup/RCAIDE_LEADS/actions/workflows/sphinx_docs.yml)
10
+ [![codecov](https://codecov.io/gh/leadsgroup/RCAIDE_LEADS/graph/badge.svg?token=WZOFW5EKWJ)](https://codecov.io/gh/leadsgroup/RCAIDE_LEADS)
11
+ [![PyPI Downloads](https://static.pepy.tech/badge/rcaide-leads)](https://pepy.tech/projects/rcaide-leads) -->
12
+
13
+
14
+
15
+ </div>
16
+
17
+ [RCAIDE: Graphical User Interface]([link](https://www.rcaide.leadsresearchgroup.com/gui/))
18
+ =======
19
+ The Research Community Aircraft Interdisciplinary Design Environment (RCAIDE) Graphical User Interface (GUI) is an interactive, visual workflow for RCAIDE, a powerful open-source Python platform that revolutionizes aircraft design and analysis at a high-fidelity. The GUI provides an intuitive desktop application that allows aerospace engineers, researchers, and students to accelerate aircraft development and explore innovative designs without the need to write complex Python scripts. The software is developed and maintained by the [Lab for Electric Aircraft Design and Sustainability](https://www.leadsresearchgroup.com/)
20
+
21
+ [Find more information on RCAIDE, its capabilities, external interfaces, and how to download here.](https://www.docs.rcaide.leadsresearchgroup.com/install.html)
22
+
23
+ ## RCAIDE GUI Architecture
24
+ The RCAIDE GUI is structured into tabs to flow with the aircraft design process.
25
+
26
+ * **Vehicle Setup**: This is the foundation of designing your aircraft - defining your aircraft's geometry. Using a component tree, add wings, fuselages, nacelles, landing gear, booms, and propulsors. Then, specify parameters and dimensions to build up your aircraft. This tab also features a live 3D preview of the aircraft to instantly verify geometric dimensions and placements.
27
+ * **Geometry Visualization**: A complete 3D rendering environment powered by VTK. Using this tab, users can inspect their aircraft, check component placement, and export top, front, and side view visualization images before conducting further analysis.
28
+ * **Configurations Setup**: Define the physical states of the aircraft during different phases of flight. Users can set up base, takeoff, cruise, and landing configurations by specifying control surface deflections, landing gear deployment states, and active propulsors.
29
+ * **Analyses Setup**: Define the analysis for RCAIDE's multidisciplinary solvers. Users can toggle and select their analyses requirements and configure the fidelity of the physics models, including aerodynamic solvers, atmospheric conditions, weights, and aeroacoustic parameters.
30
+ * **Mission Setup**: Construct the flight profile. Users can chain together flight segments (takeoff, climb, cruise, descent). Each segment is customized with specific altitudes and speeds, and is linked to previously defined aircraft configurations and analyses.
31
+ * **Mission Simulation**: The tab that displays your results. Once the vehicle, analyses, and mission are defined, the tab runs the backend RCAIDE solvers and returns numerical and graphical outputs (such as performance data, payload-range charts, and stability metrics) for the user to evaluate and export.
32
+
33
+ ```mermaid
34
+ %%{init: {'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}}}%%
35
+ flowchart LR
36
+ VS[Vehicle Setup]
37
+ GV[Geometry Visualization]
38
+ CS[Configurations Setup]
39
+ AS[Analyses Setup]
40
+ MSP[Mission Setup]
41
+ MSI[Mission Simulation]
42
+
43
+
44
+ VS ---> GV
45
+ GV ---> CS
46
+ CS ---> AS
47
+ AS ---> MSP
48
+ MSP ---> MSI
49
+ ```
50
+
51
+ **Getting Involved**
52
+
53
+ If you'd like to help us develop RCAIDE by adding new methods, writing documentation, or fixing embarrassing bugs, please look at these [guidelines](https://www.docs.rcaide.leadsresearchgroup.com/contributing.html).
54
+
55
+ Submit improvements or new features with a [pull request](https://github.com/leadsgroup/RCAIDE_LEADS/pulls)
56
+
57
+ ## Get in touch
58
+
59
+ Share feedback, report issues, and request features via or [Github Issues](https://github.com/leadsgroup/RCAIDE_LEADS/issues)
60
+
61
+ Engage with peers and maintainers in [Discussions](https://github.com/leadsgroup/RCAIDE_LEADS/discussions)