First tests of the C/C++ version of the Draper Semi ...

20
First tests of the C/C++ version of the Draper Semi-analytical Satellite Theory (DSST) Paul J. Cefola, Juan F. San-Juan, Rosario L´ opez, Paula Ezquerro, Iv´ an P ´ erez and Srinivas Setty Scientific Computing Group (GRUCACI) University of La Rioja 7th International Conference on Astrodynamics Tools and Techniques (ICATT) 6 -9 November 2018, DLR Oberpfaffenhofen, Germany P. J. Cefola, J. F. San-Juan, R. L´ opez, et al. DSST C

Transcript of First tests of the C/C++ version of the Draper Semi ...

Page 1: First tests of the C/C++ version of the Draper Semi ...

First tests of the C/C++ version of the DraperSemi-analytical Satellite Theory (DSST)

Paul J. Cefola, Juan F. San-Juan, Rosario Lopez, PaulaEzquerro, Ivan Perez and Srinivas Setty

Scientific Computing Group (GRUCACI)University of La Rioja

7th International Conference on Astrodynamics Tools and Techniques (ICATT)6 -9 November 2018, DLR Oberpfaffenhofen, Germany

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 2: First tests of the C/C++ version of the Draper Semi ...

Outline

1 Draper Semi-Analytical Satellite Theory (DSST)

2 Basic concepts of DSST Standalone

3 DSST C/C++ Project

4 Current status of this project

5 Integration test

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 3: First tests of the C/C++ version of the Draper Semi ...

Draper Semi-Analytical Satellite Theory (DSST)

DSST was created to be a low cost, long-term orbit propagator for thefollowing applications:

Mission feasibility studies

Mission analysis (lifetime and geometry constraints)

Tracking station acquisition schedules

Dynamic modeling required for differential correction procedures

DSST ⊂ Goddard Trajectory Determination System (R&D GTDS)

DSST Standalone

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 4: First tests of the C/C++ version of the Draper Semi ...

Draper Semi-Analytical Satellite Theory (DSST)

GTDS/DSST version histoy

(Dr. Paul J. Cefola)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 5: First tests of the C/C++ version of the Draper Semi ...

Basic concepts of DSST Standalone

Equinoctial elements

a = a

h = e sin(ω + IΩ)

k = e cos(ω + IΩ)

p = tanI(

i2

)sin Ω

q = tanI(

i2

)cos Ω

λ = `+ ω + IΩ

(Nonsingular elements)

Equinoctial reference frame

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 6: First tests of the C/C++ version of the Draper Semi ...

Basic concepts of DSST Standalone

Expansion of the Geopotential in Equinoctial Elements

Expression in spherical harmonics relative to the ECI frame

radial distance, latitude, and longitude

Rotation of the spherical harmonics to the equinoctial orbital frame

Jacobi polynomials replace the Kaula inclination functionsstable recursion formulas are available in the mathematical litera-ture

Products of radius to a power times sin or cos of true longitude (andmultiples) are expanded as a Fourier series in the mean longitude

Modified Hansen coefficients replace the Kaula eccentricity func-tionsstable recursion formulas due to Hansen (1855) were rediscoveredaround 1978 in the astronomical literatureJozef Van Der Ha translated the Hansen manuscript from Germanto English (1978)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 7: First tests of the C/C++ version of the Draper Semi ...

Basic concepts of DSST Standalone

DSST Standalone: Mean element dynamics

Averaged VOP equations:

dai

dt=

N∑j=0

M(j)∑k=0

(1≤j+k)

εjνkBi,j,k +O(εN+1) (i = 1 . . . 5)

dldt

= n(a1) +

N∑j=0

M(j)∑k=0

(1≤j+k)

εjνkB6,j,k +O(εN+1)

Force model:Recursive zonals and J2

2 (Folcik, 2012) in closed formRecursive tesseral resonance (en, n > 20) up to 50× 50 geopotentialRecursive Solar-Lunar single averaged (Time Independent, closed form)and double averageSolid Earth tide in closed formAtmospheric drag and J2-drag coupling terms via numerical quadratureSolar radiation pressure via numerical quadrature

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 8: First tests of the C/C++ version of the Draper Semi ...

Basic concepts of DSST Standalone

DSST Standalone: Mean to osculating

Short-periodic functions:

ai = ai +

N∑j=0

M(j)∑k=0

(1≤j+k)

εjνkψi,j,k +O(εN+1)

l = l +N∑

j=0

M(j)∑k=0

(1≤j+k)

εjνkψ6,j,k +O(εN+1)

Force model:

Recursive zonals and J22 (Folcik, 2012) in closed form

Recursive tesseral m-dailes and J2 secular/tesseral m-daiy coupling inclosed form. Recursive tesseral linear combinations (en, n > 20)

Recursive Solar-Lunar in closed form

Atmospheric drag numerical computation

Solar radiation pressure numerical computation

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 9: First tests of the C/C++ version of the Draper Semi ...

Basic concepts of DSST Standalone

DSST Standalone: Physical model data

epotfld contains the Earth geopotential coefficients

timecoef includes (A.1-UTC) and (A.1-UT1) time difference coefficients,as well as polar motion coefficients, and supports the SLP files

slp1950 is the solar-lunar-planetary (SLP) ephemeris file for Mean of1950.0 coordinates. This file also supports the SLP ephemeris file forJ2000 coordinates

slptod is the solar-lunar-planetary (SLP) ephemeris file for tod coor-dinate system (compatible with Mean of 1950.0 coordinates). slptodalso supports the SLP ephemeris file for tod compatible with J2000 co-ordinates

jacdat supports the Jacchia-Roberts atmospheric density model

newcomb is the file of the modified Newcomb operators, which supportsthe tesseral resonance and tesseral linear combination short-periodicterms

Testing, Reporting, and Maintenance Program (TRAMP) was developed tomaintain the physical model data files (Folcik, 2017)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 10: First tests of the C/C++ version of the Draper Semi ...

DSST C Project

The work that we are currently carrying out is based on maintaining the ar-chitecture of the Fortran 77 version of DSST as much as possible, and thusavoiding rewriting the C/C++ version from scratch. One of the main conse-quences of this choice implies that the new code is functionally equivalent tothe original legacy code, thereby facilitating the use of existing test resources

The original Fortran 77 DSST version is a well-tested and validated tool

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 11: First tests of the C/C++ version of the Draper Semi ...

Current status of this project

DSST Standalone is a collection of about

50 include modules

283 modular Fortran subroutines

approximately 25000 lines of code

more than 50000 lines of documentation

Major problems:

1 DSST Standalone uses GO-TO statements which usually leads tovery complex programs, difficult to understand and maintain, andmay be the cause of serious bugs (93/283). Ambiguity handlingFortran arrays

2 A serious difficulty arises from the fact that the Fortran physicalmodel data files are divided into records and stored in Fortran bi-nary format

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 12: First tests of the C/C++ version of the Draper Semi ...

Current status of this project

Incremental development model

1 Fortran 77 code is being translated to C/C++ maintaining the GO-TOstatements and the original code as much as possible

50 include modules

283 modular Fortran subroutines (240 files have been migrated andin progress the rest)

Doxygen documentation

Validation and verification from the original code: Unit test and integra-tion test

2 Once the C/C++ version has passed all the test, the C/C++ code willbe refactored for conformance with C/C++ style in successive iterations,thereby proceeding to convert old Fortran-style structures into new codethat also passes the tests

3 Extend the facilities of DSST Standalone

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 13: First tests of the C/C++ version of the Draper Semi ...

Integration test

Low Earth Orbit (LEO)

Mean elements

Epoch 2014 January 01, 0 hrs 0min 0.0 secSemi-major axis 6887.30414kmEccentricity 0.00113949Inclination 87 degRAAN 82.6658693 degArgument of the perigee 132.3453611 degMean anomaly 286.4508005deg

DSST C/C++ parametrization

Force Models

Recursive zonals up to 50× 50 geopotential and J22 in closed form

Recursive Solar-Lunar single averagedSolid Earth tide in closed formAtmospheric drag and J2-drag and Iszak J2 effectShort-period terms

Propagation: 1 year

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 14: First tests of the C/C++ version of the Draper Semi ...

Integration test

Semimajor axis

0.0 0.2 0.4 0.6 0.8 1.068756880688568906895

Time (year)

a(km)

0.0 0.2 0.4 0.6 0.8 1.0-10

-5

0

5

10

Time (year)

ax10

-10(km)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 15: First tests of the C/C++ version of the Draper Semi ...

Integration test

Eccentricity

0.0 0.2 0.4 0.6 0.8 1.00.0000.0010.0020.0030.004

Time (year)

e

0.0 0.2 0.4 0.6 0.8 1.0-1.5-1.0-0.50.00.51.01.5

Time (year)

ex10

-13

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 16: First tests of the C/C++ version of the Draper Semi ...

Integration test

Inclination

0.0 0.2 0.4 0.6 0.8 1.0

86.85

86.90

86.95

87.00

Time (year)

i(Degree)

0.0 0.2 0.4 0.6 0.8 1.0-2

-1

0

1

2

Time (year)

ix10

-13(Degree)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 17: First tests of the C/C++ version of the Draper Semi ...

Integration test

Right ascension of the node

0.0 0.2 0.4 0.6 0.8 1.0050100150200250300350

Time (year)

Ω(Degree)

0.0 0.2 0.4 0.6 0.8 1.0

-4

-2

0

2

Time (year)

Ωx10

-13

(Degree)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 18: First tests of the C/C++ version of the Draper Semi ...

Integration test

Argument of the perigee

0.0 0.2 0.4 0.6 0.8 1.0050100150200250300350

Time (year)

ω(Degree)

0.0 0.2 0.4 0.6 0.8 1.0-4-20246

Time (year)

ωx10

-8(Degree)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 19: First tests of the C/C++ version of the Draper Semi ...

Integration test

Mean anomaly

0.0 0.2 0.4 0.6 0.8 1.0050100150200250300350

Time (year)

M(Degree)

0.0 0.2 0.4 0.6 0.8 1.0-4-2024

Time (year)

Mx10

-8(Degree)

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C

Page 20: First tests of the C/C++ version of the Draper Semi ...

Future works

The development of a parallel DSST orbit propagator based on the Picard-Chebyshev concept using multicore and GPU technologies

Normalized gravity-model coefficients, ideally for high degree and orderfields

Different atmospheric density models

P. J. Cefola, J. F. San-Juan, R. Lopez, et al. DSST C