PDF document and a MATLAB script named phohmann which can be used to solve the gravity perturbed Hohmann transfer between coplanar and non-coplanar circular Earth orbits. The algorithm starts with a two-body Hohmann transfer initial guess and then uses the SNOPT nonlinear programming (NLP) method to determine the optimum two impulse orbit transfer subject to non-spherical Earth gravity perturbations.
The phohmann script uses modified equinoctial orbital elements to solve the gravity perturbed orbit transfer problem. Additional information about these orbital elements can be found in Appendix B. That appendix also explains how to use components and combinations of these non-singular elements to calculate a variety of orbital element “targets”.
David Eagle (2020). The Gravity Perturbed Hohmann Transfer (https://www.mathworks.com/matlabcentral/fileexchange/40567-the-gravity-perturbed-hohmann-transfer), MATLAB Central File Exchange. Retrieved .
Updated phohmann.m source code for compatibility with SNOPT, version 7.5 (June 2015).
Added main script (phohmann_64bit.m) that uses the March 17, 2014 version of SNOPT.
Added three-dimensional trajectory graphics. Updated PDF document to reflect this change.