8
$\begingroup$

I'm working on a project which requires me to use GMAT but I'm new to the program (and to asking questions on this website).

  • I'm supposed to send a spacecraft from a known GTO to the Moon.
  • A direct Lunar Orbit Insertion is not possible so a phasing approach is required.

I've managed to simulate such a phasing transfer by using a "for loop" with impulse maneuvers but I am unable to recreate it with finite burns.

Attached is a screenshot of the trajectory using impulse maneuvers.
Any help would be much appreciated.

enter image description here

$\endgroup$
1
  • $\begingroup$ Hi there. Have you been able to solve your problem? I'm encountering a related issue with the finite burns in GMAT. $\endgroup$
    – ChrisR
    Dec 9, 2021 at 17:16

1 Answer 1

2
$\begingroup$

I've actually figured it out after a while. I’m not a good programmer though, so it’s probably not too elegant. You need the following:

-a for-loop

-a defined variable for the on-time of your engine (I used the term "BurnDuration")

-a defined variable for half of the BurnDuration (I used HalfBurn)

You initialize the for-loop, propagate backwards with the time of the HalfBurn (it's imperative that the number is negative or else it won't work), BeginFiniteBurn, propagate Burnduration, EndFiniteBurn, Propagate back to the starting point, end the for-loop.

%Variables
GMAT 'Set K' K = 8; %the number of loops you want
GMAT 'Set BurnDuration’ BurnDuration = 20000; %the number of seconds that your engine should burn
GMAT 'Set HalfBurn’ HalfBurn = -0.5*BurnDuration;

%MissionSequence
Propagate ‘Propagate to Perigee’ EarthProp(SC) {SC.Earth.Periapsis};
For 'For Phasing' I = 1:1:K;
             Propagate 'BackProp HalfBurn' BackProp EarthProp(SC) {SC.ElapsedSecs = HalfBurn };
             BeginFiniteBurn 'BeginFiniteBurn’ FiniteBurn(SC);
             Propagate 'Prop BurnDuration' EarthProp(SC) {SC.ElapsedSecs = BurnDuration};
             EndFiniteBurn 'EndFiniteBurn’ FiniteBurn(SC);
             Propagate 'Prop to Perigee' EarthProp(SC) {SC.Earth.Periapsis};
EndFor;
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.