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.
- {rocketpy-1.4.1/rocketpy.egg-info → rocketpy-1.4.2}/PKG-INFO +1 -1
- {rocketpy-1.4.1 → rocketpy-1.4.2}/pyproject.toml +1 -1
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/rail_buttons.py +12 -2
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/rocket.py +11 -4
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/flight.py +1 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2/rocketpy.egg-info}/PKG-INFO +1 -1
- {rocketpy-1.4.1 → rocketpy-1.4.2}/LICENSE +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/README.md +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/requirements.txt +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/_encoders.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/control/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/control/controller.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/environment.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/environment_analysis.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/fetchers.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/tools.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/environment/weather_model_mapping.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/function.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/mathutils/vector_matrix.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/fluid.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/hybrid_motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/liquid_motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/solid_motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/tank.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/motors/tank_geometry.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/aero_surface_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/compare.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/compare/compare_flights.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/environment_analysis_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/environment_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/flight_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/fluid_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/hybrid_motor_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/liquid_motor_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/monte_carlo_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/motor_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/rocket_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/solid_motor_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/tank_geometry_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/plots/tank_plots.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/aero_surface_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/compare_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/controller_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/environment_analysis_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/environment_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/flight_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/fluid_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/hybrid_motor_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/liquid_motor_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/monte_carlo_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/motor_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/parachute_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/rocket_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/solid_motor_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/tank_geometry_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/prints/tank_prints.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/aero_surface.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/air_brakes.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/elliptical_fins.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/fins.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/fins/trapezoidal_fins.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/nose_cone.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/aero_surface/tail.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/components.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/rocket/parachute.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/flight_data_importer.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/simulation/monte_carlo.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/__init__.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_aero_surfaces.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_environment.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_flight.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_generic_motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_model.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_motor_model.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_parachute.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_rocket.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/stochastic/stochastic_solid_motor.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/tools.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/units.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy/utilities.py +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/SOURCES.txt +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/dependency_links.txt +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/requires.txt +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/rocketpy.egg-info/top_level.txt +0 -0
- {rocketpy-1.4.1 → rocketpy-1.4.2}/setup.cfg +0 -0
|
@@ -17,7 +17,13 @@ class RailButtons(AeroSurface):
|
|
|
17
17
|
relative to one of the other principal axis.
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
def __init__(
|
|
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
|
-
|
|
960
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|