/* Copyright 2002-2017 CS Systèmes d'Information * Licensed to CS Systèmes d'Information (CS) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * CS licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.orekit.propagation.analytical.tle; /** Constants necessary to TLE propagation. * * This constants are used in the WGS-72 model, compliant with NORAD implementations. * * @author Fabien Maussion */ interface TLEConstants { /** Constant 1.0 / 3.0. */ double ONE_THIRD = 1.0 / 3.0; /** Constant 2.0 / 3.0. */ double TWO_THIRD = 2.0 / 3.0; /** Earth radius in km. */ double EARTH_RADIUS = 6378.135; /** Equatorial radius rescaled (1.0). */ double NORMALIZED_EQUATORIAL_RADIUS = 1.0; /** Time units per julian day. */ double MINUTES_PER_DAY = 1440.0; // CHECKSTYLE: stop JavadocVariable check // Potential perturbation coefficients double XKE = 0.0743669161331734132; // mu = 3.986008e+14; double XJ3 = -2.53881e-6; double XJ2 = 1.082616e-3; double XJ4 = -1.65597e-6; double CK2 = 0.5 * XJ2 * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS; double CK4 = -0.375 * XJ4 * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS; double S = NORMALIZED_EQUATORIAL_RADIUS * (1. + 78. / EARTH_RADIUS); double QOMS2T = 1.880279159015270643865e-9; double A3OVK2 = -XJ3 / CK2 * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS * NORMALIZED_EQUATORIAL_RADIUS; // CHECKSTYLE: resume JavadocVariable check /** Earth gravity coefficient in m³/s². */ double MU = XKE * XKE * EARTH_RADIUS * EARTH_RADIUS * EARTH_RADIUS * (1000 * 1000 * 1000) / (60 * 60); }