# GMAT: How to do a Hohmann transfer from a larger orbit to a smaller orbit

I've figured out how to do a Hohmann transfer to a larger orbit but can't seem to figure out how to do one back to a smaller orbit (e.g. GEO to random smaller orbit). Any advice would be amazing, thanks!

edit: New to GMAT and trying to do it in GMAT

BeginMissionSequence;
Propagate 'Prop to peri' DefaultProp(Sat1) {Sat1.Earth.Periapsis, OrbitColor = [255 0 0]};
Target 'Reverse Hohmann' DefaultDC {SolveMode = Solve, ExitMode = DiscardAndContinue, ShowProgressWindow = true};
Vary 'Vary TOI' DefaultDC(TOI.Element1 = 1, {Perturbation = 0.0001, Lower = -10, Upper = 10, MaxStep = 0.002, AdditiveScaleFactor = 0.0, MultiplicativeScaleFactor = 1.0});
Maneuver 'Perform TOI' TOI(Sat1);
Propagate 'Prop to apo' DefaultProp(Sat1) {Sat1.Earth.Apoapsis, OrbitColor = [77 77 242]};
Achieve 'Achieve RMAG = 7228' DefaultDC(Sat1.Earth.RMAG = 7178, {Tolerance = 0.1});
Vary 'Vary GOI' DefaultDC(GOI.Element1 = 1, {Perturbation = 0.0001, Lower = -10, Upper = 10, MaxStep = 0.002, AdditiveScaleFactor = 0.0, MultiplicativeScaleFactor = 1.0});
Maneuver 'Perform GOI' GOI(Sat1);
Achieve 'Achieve ECC = 0.003471' DefaultDC(Sat1.Earth.ECC = 0.003471, {Tolerance = 0.000001});
EndTarget;  % For targeter DefaultDC

• Welcome to the site. Your question is a bit vague, I'm assuming you aren't in space at the moment and that you are trying to do the math, use a tool/python module, or play a game like Kerbal. Which is it and what have you tried?
– GdD
Dec 23, 2020 at 11:02
• Hi, I'm trying to do it in GMAT Dec 23, 2020 at 11:06
• That's good to know @SexySloth, could you expand on what you've tried and what doesn't work? Insert some code and results.
– GdD
Dec 23, 2020 at 11:08
• If you edit there's tools for adding code, look for the squiggly brackets.
– GdD
Dec 23, 2020 at 11:19
• Added in the post, thank you :) Dec 23, 2020 at 11:26

1. Try to set TOI.Element1 to -1 (Initial Value) in the Vary 'Vary TOI' command.
2. It looks like you use too small MaxStep (0.002) for the TOI.Element1 in both Vary commands. Try to change it to 0.2 or 0.1. GMAT needs more iterations with your settings for the convergence.
Honestly, I did not see (and use) before more than one burn (impulsive or finite) in the same Target command. But your code works with mentioned modifications. Thanks!