rocketpy 1.4.1__tar.gz → 1.4.2__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 (97) hide show
  1. {rocketpy-1.4.1/rocketpy.egg-info → rocketpy-1.4.2}/PKG-INFO +1 -1
  2. {rocketpy-1.4.1 → rocketpy-1.4.2}/pyproject.toml +1 -1
  3. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/rail_buttons.py +12 -2
  4. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/rocket.py +11 -4
  5. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/flight.py +1 -0
  6. {rocketpy-1.4.1 → rocketpy-1.4.2/rocketpy.egg-info}/PKG-INFO +1 -1
  7. {rocketpy-1.4.1 → rocketpy-1.4.2}/LICENSE +0 -0
  8. {rocketpy-1.4.1 → rocketpy-1.4.2}/README.md +0 -0
  9. {rocketpy-1.4.1 → rocketpy-1.4.2}/requirements.txt +0 -0
  10. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/__init__.py +0 -0
  11. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/_encoders.py +0 -0
  12. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/control/__init__.py +0 -0
  13. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/control/controller.py +0 -0
  14. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/__init__.py +0 -0
  15. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/environment.py +0 -0
  16. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/environment_analysis.py +0 -0
  17. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/fetchers.py +0 -0
  18. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/tools.py +0 -0
  19. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/weather_model_mapping.py +0 -0
  20. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/__init__.py +0 -0
  21. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/function.py +0 -0
  22. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/vector_matrix.py +0 -0
  23. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/__init__.py +0 -0
  24. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/fluid.py +0 -0
  25. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/hybrid_motor.py +0 -0
  26. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/liquid_motor.py +0 -0
  27. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/motor.py +0 -0
  28. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/solid_motor.py +0 -0
  29. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/tank.py +0 -0
  30. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/tank_geometry.py +0 -0
  31. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/__init__.py +0 -0
  32. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/aero_surface_plots.py +0 -0
  33. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/__init__.py +0 -0
  34. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/compare.py +0 -0
  35. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/compare_flights.py +0 -0
  36. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/environment_analysis_plots.py +0 -0
  37. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/environment_plots.py +0 -0
  38. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/flight_plots.py +0 -0
  39. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/fluid_plots.py +0 -0
  40. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/hybrid_motor_plots.py +0 -0
  41. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/liquid_motor_plots.py +0 -0
  42. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/monte_carlo_plots.py +0 -0
  43. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/motor_plots.py +0 -0
  44. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/rocket_plots.py +0 -0
  45. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/solid_motor_plots.py +0 -0
  46. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/tank_geometry_plots.py +0 -0
  47. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/tank_plots.py +0 -0
  48. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/__init__.py +0 -0
  49. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/aero_surface_prints.py +0 -0
  50. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/compare_prints.py +0 -0
  51. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/controller_prints.py +0 -0
  52. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/environment_analysis_prints.py +0 -0
  53. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/environment_prints.py +0 -0
  54. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/flight_prints.py +0 -0
  55. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/fluid_prints.py +0 -0
  56. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/hybrid_motor_prints.py +0 -0
  57. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/liquid_motor_prints.py +0 -0
  58. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/monte_carlo_prints.py +0 -0
  59. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/motor_prints.py +0 -0
  60. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/parachute_prints.py +0 -0
  61. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/rocket_prints.py +0 -0
  62. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/solid_motor_prints.py +0 -0
  63. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/tank_geometry_prints.py +0 -0
  64. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/tank_prints.py +0 -0
  65. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/__init__.py +0 -0
  66. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/__init__.py +0 -0
  67. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/aero_surface.py +0 -0
  68. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/air_brakes.py +0 -0
  69. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/__init__.py +0 -0
  70. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/elliptical_fins.py +0 -0
  71. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/fins.py +0 -0
  72. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/trapezoidal_fins.py +0 -0
  73. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/nose_cone.py +0 -0
  74. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/tail.py +0 -0
  75. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/components.py +0 -0
  76. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/parachute.py +0 -0
  77. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/__init__.py +0 -0
  78. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/flight_data_importer.py +0 -0
  79. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/monte_carlo.py +0 -0
  80. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/__init__.py +0 -0
  81. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_aero_surfaces.py +0 -0
  82. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_environment.py +0 -0
  83. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_flight.py +0 -0
  84. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_generic_motor.py +0 -0
  85. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_model.py +0 -0
  86. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_motor_model.py +0 -0
  87. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_parachute.py +0 -0
  88. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_rocket.py +0 -0
  89. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_solid_motor.py +0 -0
  90. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/tools.py +0 -0
  91. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/units.py +0 -0
  92. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/utilities.py +0 -0
  93. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/SOURCES.txt +0 -0
  94. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/dependency_links.txt +0 -0
  95. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/requires.txt +0 -0
  96. {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/top_level.txt +0 -0
  97. {rocketpy-1.4.1 → rocketpy-1.4.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rocketpy
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Summary: Advanced 6-DOF trajectory simulation for High-Power Rocketry.
5
5
  Author-email: Giovani Hidalgo Ceotto <ghceotto@gmail.com>
6
6
  Project-URL: homepage, https://rocketpy.org/
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rocketpy"
3
- version = "1.4.1"
3
+ version = "1.4.2"
4
4
  description="Advanced 6-DOF trajectory simulation for High-Power Rocketry."
5
5
  dynamic = ["dependencies"]
6
6
  readme = "README.md"
@@ -17,7 +17,13 @@ class RailButtons(AeroSurface):
17
17
  relative to one of the other principal axis.
18
18
  """
19
19
 
20
- def __init__(self, buttons_distance, angular_position=45, name="Rail Buttons"):
20
+ def __init__(
21
+ self,
22
+ buttons_distance,
23
+ angular_position=45,
24
+ name="Rail Buttons",
25
+ rocket_radius=None,
26
+ ):
21
27
  """Initializes RailButtons Class.
22
28
 
23
29
  Parameters
@@ -30,6 +36,10 @@ class RailButtons(AeroSurface):
30
36
  relative to one of the other principal axis.
31
37
  name : string, optional
32
38
  Name of the rail buttons. Default is "Rail Buttons".
39
+ rocket_radius : int, float, optional
40
+ Radius of the rocket at the location of the rail buttons in meters.
41
+ If not provided, it will be calculated when the RailButtons object
42
+ is added to a Rocket object.
33
43
 
34
44
  Returns
35
45
  -------
@@ -40,7 +50,7 @@ class RailButtons(AeroSurface):
40
50
  self.buttons_distance = buttons_distance
41
51
  self.angular_position = angular_position
42
52
  self.name = name
43
-
53
+ self.rocket_radius = rocket_radius
44
54
  self.evaluate_lift_coefficient()
45
55
  self.evaluate_center_of_pressure()
46
56
 
@@ -947,6 +947,7 @@ class Rocket:
947
947
  the root chord which is highest in the rocket coordinate system.
948
948
  For Tail type, position is relative to the point belonging to the
949
949
  tail which is highest in the rocket coordinate system.
950
+ For RailButtons type, position is relative to the lower rail button.
950
951
 
951
952
  See Also
952
953
  --------
@@ -956,11 +957,16 @@ class Rocket:
956
957
  -------
957
958
  None
958
959
  """
959
- try:
960
- for surface, position in zip(surfaces, positions):
960
+ if not isinstance(surfaces, list):
961
+ surfaces = [surfaces]
962
+ positions = [positions]
963
+
964
+ for surface, position in zip(surfaces, positions):
965
+ if isinstance(surface, RailButtons):
966
+ surface.rocket_radius = surface.rocket_radius or self.radius
967
+ self.rail_buttons.add(surface, position)
968
+ else:
961
969
  self.aerodynamic_surfaces.add(surface, position)
962
- except TypeError:
963
- self.aerodynamic_surfaces.add(surfaces, positions)
964
970
 
965
971
  self.evaluate_center_of_pressure()
966
972
  self.evaluate_stability_margin()
@@ -1512,6 +1518,7 @@ class Rocket:
1512
1518
  rail_buttons = RailButtons(
1513
1519
  buttons_distance=buttons_distance, angular_position=angular_position
1514
1520
  )
1521
+ rail_buttons.rocket_radius = rail_buttons.rocket_radius or self.radius
1515
1522
  self.rail_buttons.add(rail_buttons, lower_button_position)
1516
1523
  return rail_buttons
1517
1524
 
@@ -3498,6 +3498,7 @@ class Flight: # pylint: disable=too-many-public-methods
3498
3498
  try:
3499
3499
  # Try to access the node and merge if it exists
3500
3500
  tmp_dict[time].parachutes += node.parachutes
3501
+ tmp_dict[time]._controllers += node._controllers
3501
3502
  tmp_dict[time].callbacks += node.callbacks
3502
3503
  except KeyError:
3503
3504
  # If the node does not exist, add it to the dictionary
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rocketpy
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Summary: Advanced 6-DOF trajectory simulation for High-Power Rocketry.
5
5
  Author-email: Giovani Hidalgo Ceotto <ghceotto@gmail.com>
6
6
  Project-URL: homepage, https://rocketpy.org/
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes