add/improve unit tests in GASP based mission
Summary
This PR adds missing output value checks and partial checks within mission/gasp_based/. Some errors are found and fixed.
The SGM related components are not checked.
The phase files do not have associated unit tests and will not be implemented. This is because those phase builders are used in simple mission tests already. These existing tests focus on using the built phases and flying the mission, so they might catch many of the potential issues that could be present in the phase builder.
A TODO in mission/gasp_based/ode/unsteady_solved/test/test_unsteady_alpha_thrust_iter_group.py: The case ground_roll = True is not tested. If it is added, it fails. The drag is not equal to thrust_req.
A TODO in mission/gasp_based/ode/unsteady_solved/test/test_unsteady_solved_ode.py: The case ground_roll = True is not tested. If it is added, it fails for the same
A TODO in mission/gasp_based/ode/unsteady_solved/test/test_unsteady_solved_ode.py: the check_partial call fails even when ground_roll = False. Some partials have absolute errors above 1.
A TODO in mission/gasp_based/polynomial_fit.py: There is a comment here: "analytic derivatives are left as an exercise for the Daniel". Do we still need to implement it?
A TODO in mission/gasp_based/idle_descent_estimation.py: function descent_range_and_fuel() is deprecated. It should be removed.
A TODO in mission/gasp_based/test/test_idle_descent_estimation.py: test_case1() should be removed when descent_range_and_fuel() is removed.
A TODO in mission/gasp_based/test/test_idle_descent_estimation.py: check_partials() call results in runtime error: Jacobian in 'ODE_group' is not full rank.
This PR is part of issue #270 (Complete code coverage for unittesting).
Related Issues
- Resolves #
Backwards incompatibilities
None
New Dependencies
None