Extending GMAT State Representations

Development related to the GMAT core and GUI

Extending GMAT State Representations

Postby jjkparker » Mon Jul 09, 2012 9:27 pm


The goal of this project is to expand the orbit state representations supported by GMAT. Orbit state representations are used to define orbital initial conditions and GMAT currently supports the following at the time of this writing: Cartesian, Keplerian, Modified Keplerian, Spherical (RA/DEC), Spherical (AZ/EL), and Equinoctial. The table below shows additional proposed state representations.

Proposed New State Representations

This is a list of proposed new state representations, in order of priority. Each is rated high (H), medium (M), or low (L) by "Value" and "Complexity".

PriorityState TypeDescriptionValueComplexityReference
1Modified EquinoctialNon-singular element state representationLL
(348.17 KiB) Downloaded 390 times
1Incoming AsympoteHyperbolic state representation for escape trajectories (RA, DEC, C3, …)HLOrbital Mechanics with MATLAB (rv2hyper.m),
(65.53 KiB) Downloaded 326 times
1Outgoing Asymptote(same as Incoming Asymptote)HL(same as Incoming Asymptote)
2PlanetographicBody-fixed spherical latitude and longitudeMM
(879.7 KiB) Downloaded 295 times
2PlanetodeticBody-fixed latitude/longitude including flatteningMM
2Brouwer-LyddaneMean Keplerian elements (short, long, J2)HH
2Launch modelModel launch vehicle path from pad to orbit using cubic or quartic motionHH
2TLENORAD two line element setHH
2Herrick(ecc vector, angular momentum vector, n, long.)LM
(38.33 KiB) Downloaded 306 times
2Non-singular KeplerianNon-singular Keplerian-based elements (SMA, E1–E5)LL
(348.17 KiB) Downloaded 390 times
2DelaunayCanonical Keplerian elements (l, g, h, L, G, H)LL
(3.68 MiB) Downloaded 299 times
3KozaiMean Keplerian elementsMH
3PoincareCanonical Equinoctial elementsLM
3Mean equinoctialMean Equinoctial elementsLH


Existing Matlab prototype and GMAT code
  • GMAT's StateConverter code is here: http://gmat.svn.sourceforge.net/viewvc/gmat/trunk/src/base/util/StateConversionUtil.cpp
  • The matlab prototype for state converters in GMAT is contained in the zip file below (stateconv.zip). The main function is called stateconv.m. I started on the new outgoing asymptote conversion by implementing a preliminary routine that converts from Cartesian to outgoing asymptote. Obviously, we need to write the inverse routine.
Matlab code for State Conversion Algorithms in GMAT as of July 2012.
(50 KiB) Downloaded 314 times
Joel J. K. Parker
Flight dynamics engineer, GMAT team
Posts: 617
Joined: Thu Jan 07, 2010 9:48 pm
Location: NASA Goddard Space Flight Center, Greenbelt, MD

Re: Extending GMAT State Representations

Postby jjkparker » Mon Jul 16, 2012 11:57 am

More Details/Getting Started

The state representations shown in the table above are not equally complex. In general, the mean element representations such as Brouwer and Kozai are significantly more complex than other representations. Furthermore, some conversions require iterative methods such as converting from mean elements to Keplerian elements. Another complexity: it is not possible in general to convert directly between any two representations and often an intermediate transformation is required. For example, to convert from Equinoctial to Brouwer mean elements, it is necessary to perform the following conversion: Equinoctial -> Keplerian -> Brouwer.

I recommend starting by documenting (1) how to convert from any existing representations to the new representation and vice versa, and (2) how to perform the new state conversion algorithms in the GMAT Math Spec. Then, modify GMAT’s MATLAB state conversion prototype to ensure the mathematical algorithms are correct and rigorous. It is necessary to convert between all consistent state representations, due to singularities in the representations, and the fact that it is not possible to transform from all representations directly.
Joel J. K. Parker
Flight dynamics engineer, GMAT team
Posts: 617
Joined: Thu Jan 07, 2010 9:48 pm
Location: NASA Goddard Space Flight Center, Greenbelt, MD

Re: Extending GMAT State Representations

Postby YKIM » Sun Mar 17, 2013 2:21 pm

Hi Joel,
I'm working on Brouwer-Lyddane mean element.
Based on FORTRAN codes,
I translated it into matlab codes.

After translating of FORTRAN codes into MATLAB codes, I found some issues.
Both of matlab and FORTRAN codes had a problem at high eccentricity.
FORTRAN code could not calculation(or give zero-value) INC, AOP, RAAN, MA(or TA) when SMA=6640, ECC=0.97, and INC=0.5.
I ran it with linux(ubuntu) + intel FORTRAN compiler with fortran66 compatiability and JGM-2 gravity harmonics coefficients.
(Actually, setting a linux machine and learning how to use linux and intel fortran compiler took some time of me
because I did not know the inside of STK and cannot use STK as a reference to validate my matlab code...)

For the case of matlab code, the code gave orbital elements as INC=1.361241578434517, AOP=3.410005849019969, RAAN=0.9393297377018844 , TA=3.141592653589793.
But there was a warning :

"Imaginary part is currently ignored. Future behavior of ATAN2 with complex inputs may change."

I think the algorithm is unstable in high eccenetricity.

I guess, the unstable property may come from Lyddane's approximation that considering single primed mean element(short period averaged)
to double primed mean element(long period averaged).


Iterative algorithm 'osculating element to mean element' also had a problem.
I referred GTDS(5-47~48), and two references (Determination of Mean elements for Brouwer's satellite theory and conversion of osculating orbital elements into mean elements). A simple iterative algorithm described in those references was able to find mean element in many cases, but it failed to converge for some cases.

Actually, to determine mean element is equal to solve a system of non-linear implicit equations. So, I tried to use 'fsolve', which is a built-in matlab solver.
For some cases, even fsolve failed to find mean elements.
After I increased the maximum iteration number, fsolve was able to solve few more cases.
However, there still were some non-solvable cases.

I guess, to improve convergence, we should adopt a second order non-linear solver algorithm.
In GMAT, is there any second order solver available to use ?


I hope that we can talk about those issues in our next KARI-NASA meeting.
Posts: 1
Joined: Mon Mar 04, 2013 4:07 am

Re: Extending GMAT State Representations

Postby Johnmartin » Wed Mar 22, 2017 10:55 am

I trust the short answer is that GMAT does not store any run information as a feature of its execution, aside from the information particular to the graphical yield. GMAT keeps running in a live mode, Do My Homework Online - Gethomeworkonline.com where information is produced amid execution and is handled promptly. It's not spared, and afterward handled after execution is done.
Posts: 2
Joined: Wed Mar 22, 2017 7:40 am

Re: Extending GMAT State Representations

Postby walterscott807 » Tue Apr 04, 2017 11:48 am

Can you find ten percent of a number? Can you add? If so, I can show you a faster way to calculate percents. With the possible exception of 50%, there's no percentage easier to calculate than 10. Ez Assignment Writing Help Just move the decimal place one to the left. 100 becomes 10, 55 becomes 5.5, and 0.8 becomes 0.08. Of course, the GMAT usually doesn't ask you to come up with ten percent of things. However, ten percent (and, by extension, one percent) is the fundamental building block of all other percents.
Posts: 2
Joined: Tue Apr 04, 2017 11:45 am

Re: Extending GMAT State Representations

Postby vainggooch » Mon Apr 17, 2017 12:02 pm

what a brilliant Extending GMAT State Representations. I have come across and believe me I have been searching out for this similar kind of for past a week and hardly came across this. Cipher Fast 8 Jacket
Posts: 2
Joined: Mon Apr 17, 2017 11:59 am

Return to Core Development

Who is online

Users browsing this forum: No registered users and 1 guest