Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ Attention: The newest changes should be on top -->
- BUG: Fix parallel Monte Carlo simulation showing incorrect iteration count [#806](https://github.com/RocketPy-Team/RocketPy/pull/806)
- BUG: Fix missing titles in roll parameter plots for fin sets [#934](https://github.com/RocketPy-Team/RocketPy/pull/934)
- BUG: Duplicate _controllers in Flight.TimeNodes.merge() [#931](https://github.com/RocketPy-Team/RocketPy/pull/931)
- BUG: Fix incorrect Jacobian in `only_radial_burn` branch of `SolidMotor.evaluate_geometry` [#935](https://github.com/RocketPy-Team/RocketPy/pull/935)
- BUG: Add explicit timeouts to ThrustCurve API requests [#935](https://github.com/RocketPy-Team/RocketPy/pull/935)

## [v1.11.0] - 2025-11-01

Expand Down
11 changes: 6 additions & 5 deletions rocketpy/motors/solid_motor.py
Original file line number Diff line number Diff line change
Expand Up @@ -546,13 +546,14 @@ def geometry_jacobian(t, y):
2 * np.pi * (grain_inner_radius * grain_height) ** 2
)

inner_radius_derivative_wrt_inner_radius = factor * (
grain_height - 2 * grain_inner_radius
)
inner_radius_derivative_wrt_height = 0
# burn_area = 2π*r*h, so ṙ = -vdiff/(2π*r*h):
# ∂ṙ/∂r = vdiff/(2π*r²*h) = factor * h
# ∂ṙ/∂h = vdiff/(2π*r*h²) = factor * r
inner_radius_derivative_wrt_inner_radius = factor * grain_height
inner_radius_derivative_wrt_height = factor * grain_inner_radius
# dh/dt = 0, so all partial derivatives of height are zero
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# dh/dt = 0, so all partial derivatives of height are zero
# dh/dt = 0 (Height is a constant), so all partial derivatives of height are zero

height_derivative_wrt_inner_radius = 0
height_derivative_wrt_height = 0
# Height is a constant, so all the derivatives with respect to it are set to zero

return [
[
Expand Down