Skip to content
Success

Changes

Summary

  1. Fix some PVG optimizer edge conditions (commit: 83323fd) (details)
Commit 83323fd6cb6b5b1ce4cbe95816670f6068eefe13 by lamont
Fix some PVG optimizer edge conditions

This pins the initial mass to m0 of the phase so that the optimizer
doesn't play around with it.  That is necessary to combine with the
max burntime constraint in order to avoid the rocket burning past the
tau restriction and off into infinity.  If m0 is free then the tau
constraint becomes dynamic based on the selected value of m0 and no
longer a box constraint (so this may need to change for e.g.
stage and a half or coasts in the middle of a stage).

Also though this flips the boolean so that the integrator shouldn't
blow up when it goes past max interations, which seems to have been
a mistake (although it surfaced this issue pretty nicely).

Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
(commit: 83323fd)
The file was modified MechJeb2/MechJebModulePVGGlueBall.cs (diff)
The file was modified MechJeb2/MechJebLib/PVG/Integrators/VacuumThrustIntegrator.cs (diff)
The file was modified MechJeb2/MechJebLib/PVG/Optimizer.cs (diff)
The file was modified MechJeb2/MechJebLib/PVG/InputLayout.cs (diff)
The file was modified MechJebLibTest/PVG/AscentTests/BuggyTests.cs (diff)