I'm working on a LEO-to-LEO transfer with low-thrust propulsion. I've generated a control sequence with a direct optimization implemented by me and I would like to use GMAT to validate the maneuver. I tried to model an object Electric Thruster with all the burns, but this approach seems a bit too complex with respect to my problem. I'm wondering if it's possible to insert just the acceleration acting on the center of the S/C in LVLH reference frame. Is there a way to load from file the control history in terms of accelerations acting on the center of the S/C in each time instant and use it directly in GMAT? Or is it mandatory to add an Electric Thruster object with several burns?


1 Answer 1


One option is to build a "ThrustHistoryFile" to model your maneuver. That file contains a time history (in seconds) of either the thrust (in N) or the acceleration (km/s), and, optionally. mass flow rate (kg/s).

There is a sample script, Ex_R2020a_Propagate_ThrustHistoryFile.script, that intended to help you get started with this approach. The GMAT User's guide provides documentation for the options for this feature.

(Addressing the comment) GMAT has a pretty flexible coordinate system definition system. You can define your LVLH system, something like this:

Create CoordinateSystem SatLVLH;
SatLVLH.Origin = Earth;
SatLVLH.Axes = ObjectReferenced;
SatLVLH.XAxis = R;
SatLVLH.ZAxis = N;
SatLVLH.Primary = Earth;
SatLVLH.Secondary = TheSat;

and then use it in the thrust history file:

BeginThrust {ThrustLVLH}
Start_Epoch = 01 Jan 2000 11:59:28.000
Thrust_Vector_Coordinate_System = SatLVLH 

(You may need to tweak the LVLH definitions - e.g., setting an axis nadir pointing rather than zenith, etc...)

  • 1
    $\begingroup$ Thank you very much for your answer. I tried to use that approach but I experienced some difficulties in specifying the thrust/acceleration in the LVLH frame (as I have them). Do you know how this can be done? The documentation only says to specify as 'BodyFixed' the inputs provided in the ThrustHistoryFile and to give the S/C attitude accordingly. But I didn't manage to specify the S/C attitude in LVLH frame $\endgroup$
    – Chicca
    May 19, 2022 at 9:33
  • $\begingroup$ @Fede See edits above $\endgroup$
    – djcinsb
    May 20, 2022 at 5:28
  • $\begingroup$ Thank you very much! I'll follow your suggestion since it seems pretty easy and effective! $\endgroup$
    – Chicca
    May 22, 2022 at 10:49
  • $\begingroup$ Following your answer I managed to impose the desired thrusting force on the S/C at each time step! I'm just wondering if it is possible to specify the instant at which the force should be applied in terms of true anomaly instead of time. This may be better to validate the results I'm producing with my model, but I'm not sure if GMAT supports this option. Do you have any hints? $\endgroup$
    – Chicca
    May 25, 2022 at 9:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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