Skip to content

Commit db95053

Browse files
Merge pull request #550 from RocketPy-Team/mnt/small-fixes-before-v1.2
MNT: small fixes before v1.2
2 parents b2bab4d + 7d85fe8 commit db95053

20 files changed

+1760
-1724
lines changed

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
- [ ] Tests for the changes have been added (if needed)
1717
- [ ] Docs have been reviewed and added / updated
1818
- [ ] Lint (`black rocketpy/ tests/`) has passed locally
19-
- [ ] All tests (`python3 -m pytest tests -m slow --runslow`) have passed locally
19+
- [ ] All tests (`pytest tests -m slow --runslow`) have passed locally
2020
- [ ] `CHANGELOG.md` has been updated (if relevant)
2121

2222
## Current behavior

.github/workflows/test_pytest.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ jobs:
5757
- name: Run Acceptance Tests
5858
run: pytest tests/acceptance --cov=rocketpy --cov-append --cov-report=xml
5959

60-
- name: Run pytest --runslow
61-
if: github.ref == 'refs/heads/master'
62-
run: pytest tests -m slow --runslow --cov=rocketpy --cov-append --cov-report=xml
63-
6460
- name: Upload coverage to artifacts
6561
uses: actions/upload-artifact@v2
6662
with:

.pylintrc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,30 @@ function-naming-style=snake_case
188188
good-names=FlightPhases,
189189
WindroseAxes,
190190
barometric_height_ISA,
191+
grain_I_33_initial,
192+
convert_units_Functions,
193+
Ix_volume,
194+
Iy_volume,
195+
Iz_volume,
196+
Kn,
197+
Kn_source,
198+
I_dot,
199+
I_CM,
200+
Rdot,
201+
Dx,
202+
Dy,
203+
Dz,
204+
requires_netCDF4,
205+
I_11_without_motor,
206+
I_22_without_motor,
207+
I_33_without_motor,
208+
I_12_without_motor,
209+
I_13_without_motor,
210+
I_23_without_motor,
211+
HTML,
212+
fin_set_NACA,
213+
fin_set_E473,
214+
HIRESW_dictionary,
191215

192216

193217
# Good variable names regexes, separated by a comma. If names match any regex,

CHANGELOG.md

Lines changed: 62 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,34 +27,55 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
2727

2828
## [Unreleased] - yyyy-mm-dd
2929

30-
Here we write upgrading notes for brands. It's a team effort to make them as
31-
straightforward as possible.
30+
<!-- These are the changes that were not release yet, please add them correctly.
31+
Attention: The newest changes should be on top -->
32+
33+
### Added
34+
35+
36+
### Changed
37+
38+
39+
### Fixed
40+
41+
42+
## [v1.2.0] - 2024-02-dd
43+
44+
You can install this version by running `pip install rocketpy==1.2.0`
3245

3346
### Added
3447

3548
- ENH: Function Support for CSV Header Inputs [#542](https://github.com/RocketPy-Team/RocketPy/pull/542)
49+
- ENH: Argument for Optional Mutation on Function Discretize [#519](https://github.com/RocketPy-Team/RocketPy/pull/519)
50+
- ENH: Add of a line for saving the filtered dataset [#518](https://github.com/RocketPy-Team/RocketPy/pull/518)
3651
- ENH: Shepard Optimized Interpolation - Multiple Inputs Support [#515](https://github.com/RocketPy-Team/RocketPy/pull/515)
3752
- ENH: adds new Function.savetxt method [#514](https://github.com/RocketPy-Team/RocketPy/pull/514)
38-
- ENH: Argument for Optional Mutation on Function Discretize [#519](https://github.com/RocketPy-Team/RocketPy/pull/519)
39-
- ENH: Air Brakes [#426](https://github.com/RocketPy-Team/RocketPy/pull/426)
53+
- DOC: add juno3 flight example [#513](https://github.com/RocketPy-Team/RocketPy/pull/513)
54+
- ENH: add Function.low_pass_filter method [#508](https://github.com/RocketPy-Team/RocketPy/pull/508)
55+
- ENH: Air Brakes [#426](https://github.com/RocketPy-Team/RocketPy/pull/426)
56+
-
4057

4158
### Changed
4259

43-
- MNT: Add repr method to Parachute class [#490](https://github.com/RocketPy-Team/RocketPy/pull/490)
44-
- ENH: Function Reverse Arithmetic Priority [#488](https://github.com/RocketPy-Team/RocketPy/pull/488)
45-
- DOC: Update Header Related Docs
46-
- ENH Precalculate Barometric Height [#511](https://github.com/RocketPy-Team/RocketPy/pull/511)
47-
- MNT: Encapsulate quaternion conversions [#537](https://github.com/RocketPy-Team/RocketPy/pull/537)
48-
- MNT: improve the low pass filter and document an example [#538](https://github.com/RocketPy-Team/RocketPy/pull/538)
4960
- ENH: Plotting both power on and off drag curves in a single plot [#547](https://github.com/RocketPy-Team/RocketPy/pull/547)
50-
- BUG: Elliptical Fins Draw [#548](https://github.com/RocketPy-Team/RocketPy/pull/548)
61+
- DOC: Replacing git clone command with curl in notebooks. [#544](https://github.com/RocketPy-Team/RocketPy/pull/544)
62+
- DOC: Installing imageio library on dispersion analysis notebook [#540](https://github.com/RocketPy-Team/RocketPy/pull/540)
63+
- MNT: improve the low pass filter and document an example [#538](https://github.com/RocketPy-Team/RocketPy/pull/538)
64+
- MNT: Encapsulate quaternion conversions [#537](https://github.com/RocketPy-Team/RocketPy/pull/537)
65+
- ENH: Precalculate Barometric Height [#511](https://github.com/RocketPy-Team/RocketPy/pull/511)
66+
- ENH: optimize get_value_opt in class Function [#501](https://github.com/RocketPy-Team/RocketPy/pull/501)
67+
- DOC: Update Header Related Docs [#495](https://github.com/RocketPy-Team/RocketPy/pull/495)
68+
- ENH: Function Reverse Arithmetic Priority [#488](https://github.com/RocketPy-Team/RocketPy/pull/488)
69+
- MNT: Add repr method to Parachute class [#490](https://github.com/RocketPy-Team/RocketPy/pull/490)
5170

5271
### Fixed
5372

54-
- ENH: Parachute trigger doesn't work if "Apogee" is used instead of "apogee" [#489](https://github.com/RocketPy-Team/RocketPy/pull/489)
55-
- BUG: fin_flutter_analysis doesn't find any fin set [#510](https://github.com/RocketPy-Team/RocketPy/pull/510)
56-
- FIX: EmptyMotor is breaking the Rocket.draw() method [#516](https://github.com/RocketPy-Team/RocketPy/pull/516)
73+
- MNT: small fixes before v1.2 [#550](https://github.com/RocketPy-Team/RocketPy/pull/550)
74+
- BUG: Elliptical Fins Draw [#548](https://github.com/RocketPy-Team/RocketPy/pull/548)
5775
- BUG: 3D trajectory plot not labeling axes [#533](https://github.com/RocketPy-Team/RocketPy/pull/533)
76+
- FIX: EmptyMotor is breaking the Rocket.draw() method [#516](https://github.com/RocketPy-Team/RocketPy/pull/516)
77+
- BUG: fin_flutter_analysis doesn't find any fin set [#510](https://github.com/RocketPy-Team/RocketPy/pull/510)
78+
- ENH: Parachute trigger doesn't work if "Apogee" is used instead of "apogee" [#489](https://github.com/RocketPy-Team/RocketPy/pull/489)
5879

5980

6081
## [v1.1.5] - 2024-01-21
@@ -66,80 +87,90 @@ You can install this version by running `pip install rocketpy==1.1.5`
6687
- BUG: Parachute Pressures not being Set before All Info. [#534](https://github.com/RocketPy-Team/RocketPy/pull/534)
6788
- BUG: Invalid Arguments on Two Dimensional Discretize. [#521](https://github.com/RocketPy-Team/RocketPy/pull/521)
6889

69-
## [v1.1.4] - 2023-12-07
90+
## [v1.1.4] - 2023-12-09
7091

7192
You can install this version by running `pip install rocketpy==1.1.4`
7293

7394
### Fixed
7495

75-
- DOC: Change from % to ! in the first cell to run properly in Colab. [#496](https://github.com/RocketPy-Team/RocketPy/pull/496)
7696
- FIX: changes Generic Motor exhaust velocity to cached property [#497](https://github.com/RocketPy-Team/RocketPy/pull/497)
97+
- DOC: Change from % to ! in the first cell to run properly in Colab. [#496](https://github.com/RocketPy-Team/RocketPy/pull/496)
7798

78-
## [v1.1.3] - 2023-11-30
99+
## [v1.1.3] - 2023-11-29
79100

80101
You can install this version by running `pip install rocketpy==1.1.3`
81102

82103
### Fixed
83104

84-
- FIX: Broken Function.get_value_opt for N-Dimensional Functions [#492](https://github.com/RocketPy-Team/RocketPy/pull/492)
85105
- FIX: Never ending Flight simulations when using a GenericMotor [#497](https://github.com/RocketPy-Team/RocketPy/pull/497)
106+
- FIX: Broken Function.get_value_opt for N-Dimensional Functions [#492](https://github.com/RocketPy-Team/RocketPy/pull/492)
86107

87-
## [v1.1.2] - 2023-11-25
108+
## [v1.1.2] - 2023-11-27
88109

89110
You can install this version by running `pip install rocketpy==1.1.2`
90111

91112
### Fixed
92113

93114
- BUG: Function breaks if a header is present in the csv file [#485](https://github.com/RocketPy-Team/RocketPy/pull/485)
94115

95-
## [v1.1.1] - 2023-11-23
116+
## [v1.1.1] - 2023-11-24
96117

97118
You can install this version by running `pip install rocketpy==1.1.1`
98119

99120
### Added
100121

101-
- DOC: Added this changelog file [#472](https://github.com/RocketPy-Team/RocketPy/pull/472)
102122
- ENH: Prevent out of bounds Tanks from Instantiation #484 [#484](https://github.com/RocketPy-Team/RocketPy/pull/484)
123+
- DOC: Added this changelog file [#472](https://github.com/RocketPy-Team/RocketPy/pull/472)
103124

104125
### Fixed
105126

106-
- HOTFIX: Negative Static Margin [#476](https://github.com/RocketPy-Team/RocketPy/pull/476)
107-
- HOTFIX: 2D .CSV Function and missing set_get_value_opt call [#478](https://github.com/RocketPy-Team/RocketPy/pull/478)
108127
- HOTFIX: Tanks Overfill not Being Detected [#479](https://github.com/RocketPy-Team/RocketPy/pull/479)
128+
- HOTFIX: 2D .CSV Function and missing set_get_value_opt call [#478](https://github.com/RocketPy-Team/RocketPy/pull/478)
129+
- HOTFIX: Negative Static Margin [#476](https://github.com/RocketPy-Team/RocketPy/pull/476)
109130

110131
## [v1.1.0] - 2023-11-19
111132

112133
You can install this version by running `pip install rocketpy==1.1.0`
113134

114135
### Added
115136

116-
- DOC: Documentation for Function Class Usage [#465](https://github.com/RocketPy-Team/RocketPy/pull/465)
117137
- DOC: first simulation all_info [#466](https://github.com/RocketPy-Team/RocketPy/pull/466)
118-
- ENH: draw motors [#436](https://github.com/RocketPy-Team/RocketPy/pull/436)
138+
- DOC: Documentation for Function Class Usage [#465](https://github.com/RocketPy-Team/RocketPy/pull/465)
119139
- DOC: add documentation for flight data export. [#464](https://github.com/RocketPy-Team/RocketPy/pull/464)
120140
- ENH: Add mass_flow_rate() to GenericMotor class [#459](https://github.com/RocketPy-Team/RocketPy/pull/459)
121141
- DOC: Add documentation on how to build the docs [#452](https://github.com/RocketPy-Team/RocketPy/pull/452)
142+
- ENH: draw motors [#436](https://github.com/RocketPy-Team/RocketPy/pull/436)
122143
- ENH: new Flight.get_solution_at_time() method [#441](https://github.com/RocketPy-Team/RocketPy/pull/441)
123144
- ENH: rocket drawing [419](https://github.com/RocketPy-Team/RocketPy/pull/419)
124145
- ENH: Adding Stability Margin with Mach dependency [#377](https://github.com/RocketPy-Team/RocketPy/pull/377)
125146

126147
### Changed
127148

128-
- ENH: Spherical Caps Included in Total Length [#455](https://github.com/RocketPy-Team/RocketPy/pull/455)
129-
- Important: This changes behavior of `TankGeometry.add_spherical_caps()`
130149
- ENH: Clean Plots and Prints sub packages init files [#457](https://github.com/RocketPy-Team/RocketPy/pull/457)
131150
- ENH: Add \_MotorPlots Inheritance to Motor Plots Classes [#456](https://github.com/RocketPy-Team/RocketPy/pull/456)
132-
- DOC: organize flight examples folder [#429](https://github.com/RocketPy-Team/RocketPy/pull/429)
151+
- ENH: Spherical Caps Included in Total Length [#455](https://github.com/RocketPy-Team/RocketPy/pull/455)
152+
- Important: This changes behavior of `TankGeometry.add_spherical_caps()`
133153
- DOC: improve mass and inertia docs [#445](https://github.com/RocketPy-Team/RocketPy/pull/445)
154+
- DOC: organize flight examples folder [#429](https://github.com/RocketPy-Team/RocketPy/pull/429)
134155

135156
### Fixed
136157

137-
- MNT: Refactor exhaust velocity calculation to avoid ZeroDivisionError [#470](https://github.com/RocketPy-Team/RocketPy/pull/470)
138158
- BUG: Fix find_input() Function to Return a Single Value [#471](https://github.com/RocketPy-Team/RocketPy/pull/471)
159+
- MNT: Refactor exhaust velocity calculation to avoid ZeroDivisionError [#470](https://github.com/RocketPy-Team/RocketPy/pull/470)
139160
- DOC: refactor dispersion analysis notebook [#463](https://github.com/RocketPy-Team/RocketPy/pull/463)
161+
- DOC: fix positions and coordinate system documentation page [#454](https://github.com/RocketPy-Team/RocketPy/pull/454)
140162
- BUG: User input checks added for Function class [#451](https://github.com/RocketPy-Team/RocketPy/pull/451)
141-
- DOC: fix positions and coordinate system documentation page [#454](https://github.com/RocketPy-Team/RocketPy/pull/)
142163
- MNT: fix env plots legends [#440](https://github.com/RocketPy-Team/RocketPy/pull/440)
143164
- BUG: flight.prints.max_values() fails when launching an EmptyMotor [#438](https://github.com/RocketPy-Team/RocketPy/pull/438)
144-
- BUG: Maintaining Extrapolation when Adding Discrete Functions with Constants [#432](https://github.com/RocketPy-Team/RocketPy/pull/432)
145165
- MNT: Fix env plots max heights [#433](https://github.com/RocketPy-Team/RocketPy/pull/433)
166+
- BUG: Maintaining Extrapolation when Adding Discrete Functions with Constants [#432](https://github.com/RocketPy-Team/RocketPy/pull/432)
167+
168+
169+
# [v1.0.1] - 2023-10-07
170+
171+
You can install this version by running `pip install rocketpy==1.0.1`
172+
173+
### Fixed
174+
175+
- BUG: Remove NoseCone Warning [#428](https://github.com/RocketPy-Team/RocketPy/pull/428)
176+
- BUG: motor coordinates [#423](https://github.com/RocketPy-Team/RocketPy/pull/423)

docs/examples/ndrt_2020_flight_sim.ipynb

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"source": [
8282
"parameters = {\n",
8383
" # Mass Details\n",
84-
" \"rocket_mass\": (18.998, 0.010), # Rocket dry mass: 20.846 kg\n",
84+
" \"rocket_mass\": (18.998, 0.010), # Rocket dry mass: 20.846 kg\n",
8585
" # propulsion details\n",
8686
" \"motor_structure_mass\": (1.848, 0.1),\n",
8787
" \"burn_time\": (3.433, 0.1),\n",
@@ -222,7 +222,7 @@
222222
" throat_radius=parameters.get(\"throat_radius\")[0],\n",
223223
" interpolation_method=\"linear\",\n",
224224
" nozzle_position=parameters.get(\"nozzle_position\")[0],\n",
225-
" coordinate_system_orientation=\"combustion_chamber_to_nozzle\" #combustion_chamber_to_nozzle\"\n",
225+
" coordinate_system_orientation=\"combustion_chamber_to_nozzle\", # combustion_chamber_to_nozzle\"\n",
226226
")"
227227
]
228228
},
@@ -329,9 +329,7 @@
329329
")\n",
330330
"ndrt2020.set_rail_buttons(1.5, 2, 45)\n",
331331
"\n",
332-
"ndrt2020.add_motor(\n",
333-
" motor=motor_l1395, position=parameters.get(\"motor_position\")[0]\n",
334-
")"
332+
"ndrt2020.add_motor(motor=motor_l1395, position=parameters.get(\"motor_position\")[0])"
335333
]
336334
},
337335
{
@@ -358,7 +356,7 @@
358356
"nose_cone = ndrt2020.add_nose(\n",
359357
" length=parameters.get(\"nose_length\")[0],\n",
360358
" kind=\"tangent\",\n",
361-
" position=parameters.get(\"nose_position\")[0]\n",
359+
" position=parameters.get(\"nose_position\")[0],\n",
362360
")\n",
363361
"fin_set = ndrt2020.add_trapezoidal_fins(\n",
364362
" 4,\n",
@@ -700,7 +698,7 @@
700698
" outputs=\"Altitude above ground level (m)\",\n",
701699
" interpolation=\"linear\",\n",
702700
" extrapolation=\"zero\",\n",
703-
") # the division by 3.281 is to convert from feet to meters"
701+
") # the division by 3.281 is to convert from feet to meters"
704702
]
705703
},
706704
{
@@ -740,7 +738,7 @@
740738
],
741739
"source": [
742740
"Function.compare_plots(\n",
743-
" plot_list=[(actual_vz, \"Actual\"),(actual_vz_filtered, \"Filtered\")],\n",
741+
" plot_list=[(actual_vz, \"Actual\"), (actual_vz_filtered, \"Filtered\")],\n",
744742
" ylabel=\"Vertical velocity (m/s)\",\n",
745743
" title=\"Vertical velocity\",\n",
746744
" xlabel=\"Time (s)\",\n",
@@ -785,11 +783,11 @@
785783
],
786784
"source": [
787785
"Function.compare_plots(\n",
788-
" plot_list=[(actual_az, \"Actual\"),(actual_az_filtered, \"Filtered\")],\n",
786+
" plot_list=[(actual_az, \"Actual\"), (actual_az_filtered, \"Filtered\")],\n",
789787
" ylabel=\"Vertical acceleration (m/s^2)\",\n",
790788
" title=\"Vertical acceleration\",\n",
791789
" xlabel=\"Time (s)\",\n",
792-
")\n"
790+
")"
793791
]
794792
},
795793
{

docs/notebooks/air_brakes_example.ipynb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -204,14 +204,14 @@
204204
" altitude_ASL = state[2]\n",
205205
" altitude_AGL = altitude_ASL - env.elevation\n",
206206
" vx, vy, vz = state[3], state[4], state[5]\n",
207-
" \n",
207+
"\n",
208208
" # Get winds in x and y directions\n",
209-
" wind_x, wind_y = env.wind_velocity_x(altitude_ASL), env.wind_velocity_y(altitude_ASL)\n",
210-
" \n",
209+
" wind_x, wind_y = env.wind_velocity_x(altitude_ASL), env.wind_velocity_y(\n",
210+
" altitude_ASL\n",
211+
" )\n",
212+
"\n",
211213
" # Calculate Mach number\n",
212-
" free_stream_speed = (\n",
213-
" (wind_x - vx) ** 2 + (wind_y - vy) ** 2 + (vz) ** 2\n",
214-
" ) ** 0.5\n",
214+
" free_stream_speed = ((wind_x - vx) ** 2 + (wind_y - vy) ** 2 + (vz) ** 2) ** 0.5\n",
215215
" mach_number = free_stream_speed / env.speed_of_sound(altitude_ASL)\n",
216216
"\n",
217217
" # Get previous state from state_history\n",

docs/notebooks/compare_flights_usage.ipynb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
"env = Environment(latitude=-23, longitude=-49, date=after_tomorrow)\n",
7373
"env.set_atmospheric_model(type=\"Forecast\", file=\"GFS\")\n",
7474
"\n",
75-
"Pro75M1670 = SolidMotor(\n",
75+
"Pro75M1670 = SolidMotor(\n",
7676
" thrust_source=\"../../data/motors/Cesaroni_M1670.eng\",\n",
7777
" dry_mass=1.815,\n",
7878
" dry_inertia=(0.125, 0.125, 0.002),\n",
@@ -109,9 +109,7 @@
109109
"\n",
110110
"calisto.add_motor(Pro75M1670, position=-1.255)\n",
111111
"\n",
112-
"nosecone = calisto.add_nose(\n",
113-
" length=0.55829, kind=\"vonKarman\", position=1.278\n",
114-
")\n",
112+
"nosecone = calisto.add_nose(length=0.55829, kind=\"vonKarman\", position=1.278)\n",
115113
"\n",
116114
"fin_set = calisto.add_trapezoidal_fins(\n",
117115
" n=4,\n",
@@ -120,7 +118,7 @@
120118
" span=0.110,\n",
121119
" position=-1.04956,\n",
122120
" cant_angle=0.5,\n",
123-
" airfoil=(\"../../data/calisto/NACA0012-radians.csv\",\"radians\"),\n",
121+
" airfoil=(\"../../data/calisto/NACA0012-radians.csv\", \"radians\"),\n",
124122
")\n",
125123
"\n",
126124
"tail = calisto.add_tail(\n",
@@ -194,7 +192,7 @@
194192
" heading=heading,\n",
195193
" name=f\"Incl {inclination} Head {heading}\",\n",
196194
" )\n",
197-
" flights.append(flight)\n"
195+
" flights.append(flight)"
198196
]
199197
},
200198
{

0 commit comments

Comments
 (0)