Orbit Definitions

Orbit Definition Types

Orbit Propagator Models

Relative Orbit

External Ephemerides

Orbit Propagator Models

The Orbit keyword is used to define either general perturbation (GP) or special Perturbation (SP) methods for orbit propagation. The name of the object, propagator model, epoch, and state vector are required after the Orbit keyword. GP methods require no further inputs. SP methods should include a Propagator entry otherwise the default model will be used. Relative orbits are based on a previously defined orbit and external ephemerides are read in from a file.

Five type of orbit definitions are illustrated by the below example.

SimStart GD 2022  2  8  0  0  0.00;
SimDuration Days 3.75;
LeapSeconds 37;
EcfEciRate Minutes 240;
DistanceUnits  Kilometers;
TimeUnits Seconds;
PropagatorConfig  grav_srp   GravityModel  Standard 40 40
                             MoonGravity  Meeus
                             SunGravity   Meeus
                             SRP Spherical 1.5 0.00008
                             Integrator  GJ Seconds 0;
#
# Start Orbit Definitions
#
  # Precision SLR based ephemeris from NASA’s Crustal Dynamics
  # Data Information System (CDDIS) 
EphemerisFile nsgf_starlette  SP3c Hermite nsgf.orb.starlette.220212.v00.sp3;
  # SP Method using initialized with first state vector from
  # nsgf.orb.starlette.220212.v00.sp3 above
Orbit  sp_starlette  SP  GD 2022  2  8  0  0  0.00
       CART  ITRF  -5742.304959   2727.319108   3934.171919
                   0.1162318900 -5.6156839000  3.9837925000
                   Propagator grav_srp;
  # GP Vinti J2-only with same state vector as SP method
Orbit  vinti_starlette  VintiJ2 GD  2022  2  8  0  0  00.0
       CART  ITRF  -5742.304959   2727.319108   3934.171919
                   0.1162318900 -5.6156839000  3.9837925000;
  # SGP4:  Corresponding TLE from space-track.org
TLE  sgp4_starlette;
1 07646U 75010A   22038.91861585 -.00000134  00000-0  53389-5 0  9996
2 07646  49.8229 261.4733 0205735 209.7169 149.1906 13.82310827374561
  # Relative orbit based on SP version of Starlette
RelativeOrbit  rel_starlette  sp_starlette  RTCT  5.0  0.0  5.0  0.0;
#
# End Orbit Definitions
#
TimeUnits Minutes;
OutputRate Minutes 5;
Command PrintRangeSpectrum nsgf_starlette sp_starlette starlette_rs;
Command PrintRangeSpectrum nsgf_starlette vinti_starlette starlette_vinti_rs;
Command PrintRangeSpectrum nsgf_starlette sgp4_starlette starlette_sgp4_rs;
OutputRate Minutes 1;
Command PrintRTC  nsgf_starlette sp_starlette starlette_rtc;
Command PrintRTC  vinti_starlette rel_starlette starlette_rel_rtc;

The first orbit loads an SLR based ephemeris file from NASA’s Crustal Dynamics Data Information System (CDDIS). The EphemerisFile keyword is followed by the orbit name and filename to read. The second and third orbits are initiated with the Orbit keyword, orbit name, propagation model, epoch, and state vector. The TLE orbit definition requires an SGP4 compatible two line element set. Finally, a relative orbit is defined where a previously created orbit acts as a template.

Orbit Model Types

The Orbit keyword is used to create orbits based on a state vector (Cartesian or orbital elements) and epoch time. SP methods should also define a PropagatorConfig entry. The general form is:

Orbit name Model Epoch State ...;

The available Model types are:

FandG

Two-body GP model based off of the algorithm from Fundamentals of Astrodynamics by Bate, Mueller, and White.

SecularJ2

GP model incorporating secular perturbations in mean motion, RAAN, and argument of perigee. The mean motion subject to J2 secular effects is used to determine the mean anomaly. The rates of change in RAAN and argument of perigee are also computed using the modified mean motion (vs. the 2-body mean motion). Mean element sets are expected.

Kepler1

Kepler1 two-body GP model based off of Vinti's work and implemented by Gim J. Der and Herbert B. Reynolds, original available via AIAA.

Vinti6

Vinti6 GP model with full J2 and partial J3 zonal effects, based off Vinti's work and implemented by Gim J. Der and Herbert B. Reynolds, original available via AIAA. Unlike most analytic propagators, the Vinti model is initialized with state vectors, or those derived directly from osculating element sets (vs. mean element sets). For more information, see Orbital and Celestial Mechanics, Nino L. Bonavito, Gim J. Der, and John P. Vinti, AIAA, 1998.

VintiJ2

The Vinti6 model described above, but limited to only the J2 zonal spherical harmonic. A true J2 propagator (vs. the typical secular versions requiring mean element sets).

VintiMod

The Vinti6 model described above, but limited to only the J2 zonal spherical harmonic. A true J2 propagator (vs. the typical secular versions requiring mean element sets). This version differs from VintiJ2 in that it has been reworked, fully separating initialization from propagation, increasing computational efficiency.

SecJ2

GENPL option implementing standard secular J2 effects, best initialized with mean element sets.

OscJ2

GENPL option implementing a highly optimized version of the Vinti propagator.

SP

Special perturbations methods. The equations of motion are resolved through the use of numerical integration of models based on the propagator configuration.

Relative Orbit

Allows for a relative orbit to be specified based on a RTC relative bounding box and transverse distance offset. The method is based on Spacecraft Relative Orbit Geometry Description Through Orbit Element Differences by Hanspeter Schaub. This method of defining a bounding box and offset automatically guarantees the energy matching constraint. The resulting orbit definitions are propagated in inertial space, not a linearized reference frame intended for control systems only. This method is not limited to circular orbits. However, as implemented, for the orbits to maintain the indicated offsets, a Keplerian (2-body) orbit must be used as the template. The higher fidelity the template orbit, the greater the divergence of the orbits over time. As is, this option is useful when studying differential perturbations (to sell a shortcoming as a feature...). The option to properly "sync" the relative orbit to the template orbit is on the TODO list...

The syntax is:

RelativeOrbit orbit_name template_orbit_name RTC dR dT dC deltaT

The values dR dT dC define the desired bounding box limits of the relative orbit w.r.t. radial, transverse, and cross-track distances, respectively. Actual distances may be exceeded by the resulting orbit due to physics. The deltaT parameter is an along-track offset between the orbit centers. The orbit offsets units are dictated by the DistanceUnits setting. Relative orbits can only be defined by Orbit keyword based definitions. TLEs and external ephemerides currently do not support relative orbit creation.

TLE Propagation via SGP4

NORAD formatted TLEs are propagated using Vallado's implementation of SGP4 (see source code for details). Note the TLE keyword is followed by the assigned orbit name and a semicolon. The TLE must immediately follow. This is a break from the typical eomx free format input style. After the line with the TLE keyword, the next two lines are read in and parsed. The checksum is ignored.

TLE sgp4_starlette; 1 07646U 75010A 22038.91861585 -.00000134 00000-0 53389-5 0 9996 2 07646 49.8229 261.4733 0205735 209.7169 149.1906 13.82310827374561

External Ephemerides

Externally generated SP3c is the only format currently supported for ingestion. Examples of loading SP3c formatted ephemeris from the file nsgf.orb.lageos2.210626.v70.sp3 with orbit names nsgf_lageos2h and nsgf_lageos2t are:

EphemerisFile nsgf_lageos2h SP3c Hermite nsgf.orb.lageos2.210626.v70.sp3;
EphemerisFile nsgf_lageos2t SP3c Chebyshev nsgf.orb.lageos2.210626.v70.sp3;

Hermite interpolation is performed for the first entry. Each interpolator is fit to two state vectors (position and velocity) with acceleration generated by a simple J4 gravity model. Hermite interpolation assumes velocity is the derivative of position, and should therefore be suitable for externally generated precision ephemerides. This assumption would not necessarily be valid for ephemererides generated via analytic (GP) propagation methods. The assumption that a J4 gravity model is sufficient to improve the fit must also be valid (typically a very good assumption). The resulting 5th order polynomial explicitly maintains continuity through acceleration and smoothness through velocity. Continuity and smoothness are implicitly maintained to higher degrees than the 2nd derivative. Chebyshev interpolation currently fits position and velocity separately, eliminating the requirement that velocity be the derivative of position. This interpolation method currently fits 9 points to an 8th order polynomial, ensuring endpoints match between polynomials. More refinement to the implementation is expected, most likely through the fitting of more points with endpoint matching constraints.

eomx User Guide Home