ootk 4.0.0-0 → 4.0.0-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +198 -31
- package/{lib → dist}/coordinate/Hill.d.ts +17 -18
- package/{lib → dist}/coordinate/Hill.js +44 -36
- package/dist/coordinate/Hill.js.map +1 -0
- package/{lib → dist}/covariance/CovarianceSample.d.ts +6 -7
- package/{lib → dist}/covariance/CovarianceSample.js +29 -28
- package/dist/covariance/CovarianceSample.js.map +1 -0
- package/{lib → dist}/covariance/StateCovariance.d.ts +4 -3
- package/{lib → dist}/covariance/StateCovariance.js +8 -5
- package/dist/covariance/StateCovariance.js.map +1 -0
- package/dist/enums/CatalogSource.d.ts +8 -0
- package/dist/enums/CatalogSource.js +10 -0
- package/dist/enums/CatalogSource.js.map +1 -0
- package/dist/enums/CommLink.d.ts +7 -0
- package/dist/enums/CommLink.js +9 -0
- package/dist/enums/CommLink.js.map +1 -0
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/index.js +3 -0
- package/dist/enums/index.js.map +1 -0
- package/{lib → dist}/force/AtmosphericDrag.d.ts +1 -2
- package/{lib → dist}/force/AtmosphericDrag.js +13 -6
- package/dist/force/AtmosphericDrag.js.map +1 -0
- package/dist/force/EarthGravity.d.ts +53 -0
- package/{lib → dist}/force/EarthGravity.js +30 -3
- package/dist/force/EarthGravity.js.map +1 -0
- package/{lib → dist}/force/Force.d.ts +3 -2
- package/{lib → dist}/force/Force.js +3 -2
- package/dist/force/Force.js.map +1 -0
- package/{lib → dist}/force/ForceModel.d.ts +12 -5
- package/{lib → dist}/force/ForceModel.js +14 -2
- package/dist/force/ForceModel.js.map +1 -0
- package/{lib → dist}/force/Gravity.d.ts +1 -4
- package/{lib → dist}/force/Gravity.js +3 -4
- package/dist/force/Gravity.js.map +1 -0
- package/{lib → dist}/force/SolarRadiationPressure.d.ts +1 -2
- package/{lib → dist}/force/SolarRadiationPressure.js +6 -4
- package/dist/force/SolarRadiationPressure.js.map +1 -0
- package/{lib → dist}/force/ThirdBodyGravity.d.ts +1 -2
- package/{lib → dist}/force/ThirdBodyGravity.js +4 -3
- package/dist/force/ThirdBodyGravity.js.map +1 -0
- package/{lib → dist}/force/Thrust.d.ts +10 -11
- package/{lib → dist}/force/Thrust.js +8 -3
- package/dist/force/Thrust.js.map +1 -0
- package/dist/force/index.d.ts +1 -0
- package/dist/force/index.js +2 -0
- package/dist/force/index.js.map +1 -0
- package/dist/interfaces/RfSensorParams.d.ts +32 -0
- package/dist/interfaces/RfSensorParams.js +24 -0
- package/dist/interfaces/RfSensorParams.js.map +1 -0
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.js +2 -0
- package/dist/interfaces/index.js.map +1 -0
- package/{lib → dist}/interpolator/ChebyshevCoefficients.d.ts +11 -15
- package/{lib → dist}/interpolator/ChebyshevCoefficients.js +19 -15
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
- package/{lib → dist}/interpolator/ChebyshevInterpolator.d.ts +1 -2
- package/{lib → dist}/interpolator/ChebyshevInterpolator.js +2 -2
- package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
- package/{lib → dist}/interpolator/CubicSpline.d.ts +8 -9
- package/{lib → dist}/interpolator/CubicSpline.js +10 -5
- package/dist/interpolator/CubicSpline.js.map +1 -0
- package/{lib → dist}/interpolator/CubicSplineInterpolator.d.ts +2 -3
- package/{lib → dist}/interpolator/CubicSplineInterpolator.js +6 -4
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
- package/{lib → dist}/interpolator/FieldInterpolator.d.ts +7 -5
- package/{lib → dist}/interpolator/FieldInterpolator.js +6 -3
- package/dist/interpolator/FieldInterpolator.js.map +1 -0
- package/{lib → dist}/interpolator/Interpolator.d.ts +1 -2
- package/{lib → dist}/interpolator/Interpolator.js +1 -2
- package/dist/interpolator/Interpolator.js.map +1 -0
- package/{lib → dist}/interpolator/LagrangeInterpolator.d.ts +8 -10
- package/{lib → dist}/interpolator/LagrangeInterpolator.js +32 -29
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
- package/{lib → dist}/interpolator/StateInterpolator.d.ts +2 -4
- package/{lib → dist}/interpolator/StateInterpolator.js +2 -4
- package/dist/interpolator/StateInterpolator.js.map +1 -0
- package/{lib → dist}/interpolator/VerletBlendInterpolator.d.ts +4 -5
- package/{lib → dist}/interpolator/VerletBlendInterpolator.js +16 -13
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
- package/{lib/ootk.d.ts → dist/main.d.ts} +8 -3
- package/dist/main.js +33 -0
- package/dist/main.js.map +1 -0
- package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.d.ts +5 -7
- package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.js +6 -3
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
- package/{lib → dist}/maneuver/Waypoint.d.ts +30 -5
- package/{lib → dist}/maneuver/Waypoint.js +31 -4
- package/dist/maneuver/Waypoint.js.map +1 -0
- package/{lib → dist}/objects/DetailedSatellite.d.ts +11 -33
- package/dist/objects/DetailedSatellite.js +156 -0
- package/dist/objects/DetailedSatellite.js.map +1 -0
- package/{lib → dist}/objects/DetailedSensor.d.ts +14 -20
- package/{lib → dist}/objects/DetailedSensor.js +26 -19
- package/dist/objects/DetailedSensor.js.map +1 -0
- package/{lib → dist}/objects/LandObject.d.ts +3 -6
- package/{lib → dist}/objects/LandObject.js +9 -3
- package/dist/objects/LandObject.js.map +1 -0
- package/{lib → dist}/objects/Marker.d.ts +1 -2
- package/{lib → dist}/objects/Marker.js +1 -2
- package/dist/objects/Marker.js.map +1 -0
- package/dist/objects/RfSensor.d.ts +43 -0
- package/dist/objects/RfSensor.js +70 -0
- package/dist/objects/RfSensor.js.map +1 -0
- package/{lib → dist}/objects/index.d.ts +1 -1
- package/{lib → dist}/objects/index.js +1 -1
- package/dist/objects/index.js.map +1 -0
- package/{lib → dist}/observation/Observation.d.ts +42 -4
- package/{lib → dist}/observation/Observation.js +41 -10
- package/dist/observation/Observation.js.map +1 -0
- package/{lib → dist}/observation/ObservationOptical.d.ts +7 -6
- package/{lib → dist}/observation/ObservationOptical.js +19 -15
- package/dist/observation/ObservationOptical.js.map +1 -0
- package/{lib → dist}/observation/ObservationRadar.d.ts +7 -4
- package/{lib → dist}/observation/ObservationRadar.js +25 -19
- package/dist/observation/ObservationRadar.js.map +1 -0
- package/{lib → dist}/observation/ObservationUtils.d.ts +1 -2
- package/{lib → dist}/observation/ObservationUtils.js +1 -2
- package/dist/observation/ObservationUtils.js.map +1 -0
- package/{lib → dist}/observation/PropagatorPairs.d.ts +3 -2
- package/{lib → dist}/observation/PropagatorPairs.js +7 -4
- package/dist/observation/PropagatorPairs.js.map +1 -0
- package/{lib → dist}/operations/BoxMuller.d.ts +7 -2
- package/{lib → dist}/operations/BoxMuller.js +15 -4
- package/dist/operations/BoxMuller.js.map +1 -0
- package/dist/operations/EulerAngles.d.ts +105 -0
- package/{lib → dist}/operations/EulerAngles.js +72 -22
- package/dist/operations/EulerAngles.js.map +1 -0
- package/{lib → dist}/operations/Quaternion.d.ts +5 -6
- package/{lib → dist}/operations/Quaternion.js +12 -9
- package/dist/operations/Quaternion.js.map +1 -0
- package/{lib → dist}/operations/RandomGaussianSource.d.ts +1 -2
- package/{lib → dist}/operations/RandomGaussianSource.js +3 -3
- package/dist/operations/RandomGaussianSource.js.map +1 -0
- package/{lib → dist}/optimize/ChebyshevCompressor.d.ts +3 -2
- package/{lib → dist}/optimize/ChebyshevCompressor.js +7 -4
- package/dist/optimize/ChebyshevCompressor.js.map +1 -0
- package/{lib → dist}/optimize/DownhillSimplex.d.ts +16 -2
- package/{lib → dist}/optimize/DownhillSimplex.js +16 -2
- package/dist/optimize/DownhillSimplex.js.map +1 -0
- package/{lib → dist}/optimize/GoldenSection.d.ts +9 -3
- package/{lib → dist}/optimize/GoldenSection.js +9 -3
- package/dist/optimize/GoldenSection.js.map +1 -0
- package/{lib → dist}/optimize/PolynomialRegression.d.ts +14 -2
- package/{lib → dist}/optimize/PolynomialRegression.js +19 -2
- package/dist/optimize/PolynomialRegression.js.map +1 -0
- package/{lib → dist}/optimize/PolynomicalRegressionResult.d.ts +5 -2
- package/{lib → dist}/optimize/PolynomicalRegressionResult.js +8 -2
- package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
- package/{lib → dist}/optimize/SimpleLinearRegression.d.ts +5 -2
- package/{lib → dist}/optimize/SimpleLinearRegression.js +12 -7
- package/dist/optimize/SimpleLinearRegression.js.map +1 -0
- package/{lib → dist}/optimize/SimplexEntry.d.ts +1 -2
- package/{lib → dist}/optimize/SimplexEntry.js +5 -2
- package/dist/optimize/SimplexEntry.js.map +1 -0
- package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.d.ts +18 -3
- package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.js +29 -4
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
- package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.d.ts +4 -2
- package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.js +7 -2
- package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
- package/{lib → dist}/orbit_determination/GibbsIOD.d.ts +9 -4
- package/{lib → dist}/orbit_determination/GibbsIOD.js +11 -5
- package/dist/orbit_determination/GibbsIOD.js.map +1 -0
- package/{lib → dist}/orbit_determination/GoodingIOD.d.ts +21 -22
- package/{lib → dist}/orbit_determination/GoodingIOD.js +74 -71
- package/dist/orbit_determination/GoodingIOD.js.map +1 -0
- package/{lib → dist}/orbit_determination/HerrickGibbsIOD.d.ts +4 -4
- package/{lib → dist}/orbit_determination/HerrickGibbsIOD.js +3 -2
- package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
- package/{lib → dist}/orbit_determination/LambertIOD.d.ts +21 -8
- package/{lib → dist}/orbit_determination/LambertIOD.js +20 -6
- package/dist/orbit_determination/LambertIOD.js.map +1 -0
- package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.d.ts +6 -7
- package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.js +12 -11
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
- package/{lib → dist}/propagator/DormandPrince54Propagator.d.ts +1 -2
- package/dist/propagator/DormandPrince54Propagator.js +64 -0
- package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
- package/{lib → dist}/propagator/KeplerPropagator.d.ts +1 -2
- package/{lib → dist}/propagator/KeplerPropagator.js +5 -2
- package/{lib → dist}/propagator/KeplerPropagator.js.map +1 -1
- package/{lib → dist}/propagator/Propagator.d.ts +5 -6
- package/{lib → dist}/propagator/Propagator.js +5 -6
- package/dist/propagator/Propagator.js.map +1 -0
- package/{lib → dist}/propagator/RkCheckpoint.d.ts +1 -2
- package/{lib → dist}/propagator/RkCheckpoint.js +3 -2
- package/dist/propagator/RkCheckpoint.js.map +1 -0
- package/{lib → dist}/propagator/RkResult.d.ts +1 -2
- package/{lib → dist}/propagator/RkResult.js +4 -2
- package/dist/propagator/RkResult.js.map +1 -0
- package/{lib → dist}/propagator/RungeKutta4Propagator.d.ts +14 -10
- package/{lib → dist}/propagator/RungeKutta4Propagator.js +45 -36
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
- package/{lib → dist}/propagator/RungeKutta89Propagator.d.ts +1 -2
- package/dist/propagator/RungeKutta89Propagator.js +126 -0
- package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
- package/{lib → dist}/propagator/RungeKuttaAdaptive.d.ts +13 -11
- package/{lib → dist}/propagator/RungeKuttaAdaptive.js +31 -24
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
- package/dist/propagator/Sgp4Propagator.d.ts +76 -0
- package/dist/propagator/Sgp4Propagator.js +96 -0
- package/dist/propagator/Sgp4Propagator.js.map +1 -0
- package/dist/propagator/index.d.ts +3 -0
- package/dist/propagator/index.js +4 -0
- package/dist/propagator/index.js.map +1 -0
- package/{lib → dist}/smoothing/ExponentialSmoothing.d.ts +1 -2
- package/{lib → dist}/smoothing/ExponentialSmoothing.js +1 -2
- package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
- package/dist/transforms/index.d.ts +1 -0
- package/dist/transforms/index.js +2 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/transforms.d.ts +57 -0
- package/dist/transforms/transforms.js +94 -0
- package/dist/transforms/transforms.js.map +1 -0
- package/dist/types/types.d.ts +119 -0
- package/{lib → dist}/types/types.js +1 -2
- package/dist/types/types.js.map +1 -0
- package/dist/utils/functions.d.ts +8 -0
- package/dist/utils/functions.js +18 -0
- package/dist/utils/functions.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jacobian.d.ts +11 -0
- package/dist/utils/jacobian.js +29 -0
- package/dist/utils/jacobian.js.map +1 -0
- package/package.json +31 -42
- package/src/coordinate/Hill.ts +326 -0
- package/src/coordinate/index.ts +1 -0
- package/src/covariance/CovarianceSample.ts +194 -0
- package/src/covariance/StateCovariance.ts +69 -0
- package/src/enums/CatalogSource.ts +8 -0
- package/src/enums/CommLink.ts +7 -0
- package/src/enums/index.ts +2 -0
- package/src/force/AtmosphericDrag.ts +101 -0
- package/src/force/EarthGravity.ts +182 -0
- package/{lib/force/EarthGravity.d.ts → src/force/Force.ts} +16 -11
- package/src/force/ForceModel.ts +99 -0
- package/src/force/Gravity.ts +53 -0
- package/src/force/SolarRadiationPressure.ts +42 -0
- package/src/force/ThirdBodyGravity.ts +62 -0
- package/src/force/Thrust.ts +83 -0
- package/src/force/index.ts +1 -0
- package/src/interfaces/RfSensorParams.ts +34 -0
- package/src/interfaces/index.ts +1 -0
- package/src/interpolator/ChebyshevCoefficients.ts +109 -0
- package/src/interpolator/ChebyshevInterpolator.ts +87 -0
- package/src/interpolator/CubicSpline.ts +72 -0
- package/src/interpolator/CubicSplineInterpolator.ts +90 -0
- package/src/interpolator/FieldInterpolator.ts +37 -0
- package/src/interpolator/Interpolator.ts +56 -0
- package/src/interpolator/LagrangeInterpolator.ts +192 -0
- package/src/interpolator/StateInterpolator.ts +39 -0
- package/src/interpolator/VerletBlendInterpolator.ts +146 -0
- package/{lib/ootk.js → src/main.ts} +9 -4
- package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
- package/src/maneuver/Waypoint.ts +267 -0
- package/src/objects/DetailedSatellite.ts +186 -0
- package/src/objects/DetailedSensor.ts +57 -0
- package/src/objects/LandObject.ts +46 -0
- package/src/objects/Marker.ts +25 -0
- package/src/objects/RfSensor.ts +81 -0
- package/src/objects/index.ts +5 -0
- package/src/observation/Observation.ts +125 -0
- package/src/observation/ObservationOptical.ts +146 -0
- package/src/observation/ObservationRadar.ts +131 -0
- package/src/observation/ObservationUtils.ts +40 -0
- package/src/observation/PropagatorPairs.ts +45 -0
- package/src/operations/BoxMuller.ts +87 -0
- package/src/operations/EulerAngles.ts +183 -0
- package/src/operations/Quaternion.ts +222 -0
- package/src/operations/RandomGaussianSource.ts +51 -0
- package/src/operations/index.ts +4 -0
- package/src/optimize/ChebyshevCompressor.ts +96 -0
- package/src/optimize/DownhillSimplex.ts +212 -0
- package/src/optimize/GoldenSection.ts +71 -0
- package/src/optimize/PolynomialRegression.ts +109 -0
- package/src/optimize/PolynomicalRegressionResult.ts +32 -0
- package/src/optimize/SimpleLinearRegression.ts +127 -0
- package/src/optimize/SimplexEntry.ts +50 -0
- package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
- package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
- package/src/orbit_determination/GibbsIOD.ts +95 -0
- package/src/orbit_determination/GoodingIOD.ts +380 -0
- package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
- package/src/orbit_determination/LambertIOD.ts +260 -0
- package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
- package/src/propagator/DormandPrince54Propagator.ts +73 -0
- package/src/propagator/KeplerPropagator.ts +102 -0
- package/src/propagator/Propagator.ts +253 -0
- package/src/propagator/RkCheckpoint.ts +25 -0
- package/src/propagator/RkResult.ts +26 -0
- package/src/propagator/RungeKutta4Propagator.ts +179 -0
- package/src/propagator/RungeKutta89Propagator.ts +132 -0
- package/src/propagator/RungeKuttaAdaptive.ts +232 -0
- package/src/propagator/Sgp4Propagator.ts +111 -0
- package/src/propagator/index.ts +3 -0
- package/src/smoothing/ExponentialSmoothing.ts +90 -0
- package/src/transforms/index.ts +1 -0
- package/src/transforms/transforms.ts +116 -0
- package/src/types/types.ts +128 -0
- package/src/utils/functions.ts +21 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/jacobian.ts +38 -0
- package/.eslintrc.json +0 -244
- package/jest.config.ts +0 -30
- package/lib/coordinate/Hill.js.map +0 -1
- package/lib/covariance/CovarianceSample.js.map +0 -1
- package/lib/covariance/StateCovariance.js.map +0 -1
- package/lib/force/AtmosphericDrag.js.map +0 -1
- package/lib/force/EarthGravity.js.map +0 -1
- package/lib/force/Force.js.map +0 -1
- package/lib/force/ForceModel.js.map +0 -1
- package/lib/force/Gravity.js.map +0 -1
- package/lib/force/SolarRadiationPressure.js.map +0 -1
- package/lib/force/ThirdBodyGravity.js.map +0 -1
- package/lib/force/Thrust.js.map +0 -1
- package/lib/interpolator/ChebyshevCoefficients.js.map +0 -1
- package/lib/interpolator/ChebyshevInterpolator.js.map +0 -1
- package/lib/interpolator/CubicSpline.js.map +0 -1
- package/lib/interpolator/CubicSplineInterpolator.js.map +0 -1
- package/lib/interpolator/FieldInterpolator.js.map +0 -1
- package/lib/interpolator/Interpolator.js.map +0 -1
- package/lib/interpolator/LagrangeInterpolator.js.map +0 -1
- package/lib/interpolator/StateInterpolator.js.map +0 -1
- package/lib/interpolator/VerletBlendInterpolator.js.map +0 -1
- package/lib/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
- package/lib/maneuver/Waypoint.js.map +0 -1
- package/lib/objects/DetailedSatellite.js +0 -140
- package/lib/objects/DetailedSatellite.js.map +0 -1
- package/lib/objects/DetailedSensor.js.map +0 -1
- package/lib/objects/LandObject.js.map +0 -1
- package/lib/objects/Marker.js.map +0 -1
- package/lib/objects/index.js.map +0 -1
- package/lib/observation/Observation.js.map +0 -1
- package/lib/observation/ObservationOptical.js.map +0 -1
- package/lib/observation/ObservationRadar.js.map +0 -1
- package/lib/observation/ObservationUtils.js.map +0 -1
- package/lib/observation/PropagatorPairs.js.map +0 -1
- package/lib/ootk.js.map +0 -1
- package/lib/operations/BoxMuller.js.map +0 -1
- package/lib/operations/EulerAngles.d.ts +0 -50
- package/lib/operations/EulerAngles.js.map +0 -1
- package/lib/operations/Quaternion.js.map +0 -1
- package/lib/operations/RandomGaussianSource.js.map +0 -1
- package/lib/optimize/ChebyshevCompressor.js.map +0 -1
- package/lib/optimize/DownhillSimplex.js.map +0 -1
- package/lib/optimize/GoldenSection.js.map +0 -1
- package/lib/optimize/PolynomialRegression.js.map +0 -1
- package/lib/optimize/PolynomicalRegressionResult.js.map +0 -1
- package/lib/optimize/SimpleLinearRegression.js.map +0 -1
- package/lib/optimize/SimplexEntry.js.map +0 -1
- package/lib/orbit_determination/BatchLeastSquaresOD.js.map +0 -1
- package/lib/orbit_determination/BatchLeastSquaresResult.js.map +0 -1
- package/lib/orbit_determination/GibbsIOD.js.map +0 -1
- package/lib/orbit_determination/GoodingIOD.js.map +0 -1
- package/lib/orbit_determination/HerrickGibbsIOD.js.map +0 -1
- package/lib/orbit_determination/LambertIOD.js.map +0 -1
- package/lib/orbit_determination/ModifiedGoodingIOD.js.map +0 -1
- package/lib/propagator/DormandPrince54Propagator.js +0 -68
- package/lib/propagator/DormandPrince54Propagator.js.map +0 -1
- package/lib/propagator/Propagator.js.map +0 -1
- package/lib/propagator/RkCheckpoint.js.map +0 -1
- package/lib/propagator/RkResult.js.map +0 -1
- package/lib/propagator/RungeKutta4Propagator.js.map +0 -1
- package/lib/propagator/RungeKutta89Propagator.js +0 -130
- package/lib/propagator/RungeKutta89Propagator.js.map +0 -1
- package/lib/propagator/RungeKuttaAdaptive.js.map +0 -1
- package/lib/propagator/Sgp4Propagator.d.ts +0 -35
- package/lib/propagator/Sgp4Propagator.js +0 -55
- package/lib/propagator/Sgp4Propagator.js.map +0 -1
- package/lib/smoothing/ExponentialSmoothing.js.map +0 -1
- package/lib/types/types.d.ts +0 -86
- package/lib/types/types.js.map +0 -1
- /package/{lib → dist}/coordinate/index.d.ts +0 -0
- /package/{lib → dist}/coordinate/index.js +0 -0
- /package/{lib → dist}/coordinate/index.js.map +0 -0
- /package/{lib → dist}/operations/index.d.ts +0 -0
- /package/{lib → dist}/operations/index.js +0 -0
- /package/{lib → dist}/operations/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hill.js","sourceRoot":"","sources":["../../src/coordinate/Hill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -22,16 +21,16 @@ import { StateCovariance } from './StateCovariance';
|
|
|
22
21
|
export declare class CovarianceSample {
|
|
23
22
|
private _origin;
|
|
24
23
|
private _samples;
|
|
25
|
-
private
|
|
24
|
+
private matrix_;
|
|
26
25
|
/**
|
|
27
26
|
* Create a new [CovarianceSample] object from an inertial state, covariance
|
|
28
27
|
* and optional force models for the origin state and samples.
|
|
29
28
|
*
|
|
30
29
|
* Two-body physics will be used if a force model is not provided.
|
|
31
|
-
* @param state
|
|
32
|
-
* @param covariance
|
|
33
|
-
* @param originForceModel
|
|
34
|
-
* @param sampleForceModel
|
|
30
|
+
* @param state The origin state.
|
|
31
|
+
* @param covariance The covariance.
|
|
32
|
+
* @param originForceModel The force model for the origin state.
|
|
33
|
+
* @param sampleForceModel The force model for the samples.
|
|
35
34
|
*/
|
|
36
35
|
constructor(state: J2000, covariance: StateCovariance, originForceModel?: ForceModel, sampleForceModel?: ForceModel);
|
|
37
36
|
get epoch(): Epoch;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -16,29 +15,30 @@
|
|
|
16
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
17
16
|
*/
|
|
18
17
|
/* eslint-disable class-methods-use-this */
|
|
19
|
-
import { J2000, Matrix, RelativeState, RIC, Vector, Vector3D } from 'ootk-core';
|
|
18
|
+
import { J2000, Matrix, RelativeState, RIC, Vector, Vector3D, } from 'ootk-core';
|
|
20
19
|
import { ForceModel } from '../force/ForceModel';
|
|
21
20
|
import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator';
|
|
22
21
|
import { CovarianceFrame, StateCovariance } from './StateCovariance';
|
|
23
22
|
// / Sigma point covariance sample.
|
|
24
23
|
export class CovarianceSample {
|
|
24
|
+
_origin;
|
|
25
|
+
_samples = [];
|
|
26
|
+
matrix_ = Matrix.zero(6, 12);
|
|
25
27
|
/**
|
|
26
28
|
* Create a new [CovarianceSample] object from an inertial state, covariance
|
|
27
29
|
* and optional force models for the origin state and samples.
|
|
28
30
|
*
|
|
29
31
|
* Two-body physics will be used if a force model is not provided.
|
|
30
|
-
* @param state
|
|
31
|
-
* @param covariance
|
|
32
|
-
* @param originForceModel
|
|
33
|
-
* @param sampleForceModel
|
|
32
|
+
* @param state The origin state.
|
|
33
|
+
* @param covariance The covariance.
|
|
34
|
+
* @param originForceModel The force model for the origin state.
|
|
35
|
+
* @param sampleForceModel The force model for the samples.
|
|
34
36
|
*/
|
|
35
37
|
constructor(state, covariance, originForceModel, sampleForceModel) {
|
|
36
|
-
this._samples = [];
|
|
37
|
-
this._pts = Matrix.zero(6, 12);
|
|
38
38
|
originForceModel ??= new ForceModel().setGravity();
|
|
39
39
|
sampleForceModel ??= new ForceModel().setGravity();
|
|
40
40
|
this._origin = new RungeKutta89Propagator(state, originForceModel);
|
|
41
|
-
const s = covariance.matrix.cholesky();
|
|
41
|
+
const s = covariance.matrix.cholesky().elements;
|
|
42
42
|
const sqrt6 = Math.sqrt(6.0);
|
|
43
43
|
for (let i = 0; i < 6; i++) {
|
|
44
44
|
for (let j = 0; j < 6; j++) {
|
|
@@ -46,7 +46,7 @@ export class CovarianceSample {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
// 6 x 12 matrix
|
|
49
|
-
const sigmapts = Matrix.zero(6, 12);
|
|
49
|
+
const sigmapts = Matrix.zero(6, 12).elements;
|
|
50
50
|
for (let i = 0; i < 6; i++) {
|
|
51
51
|
const jj = (i - 1) * 2 + 2;
|
|
52
52
|
for (let j = 0; j < 3; j++) {
|
|
@@ -78,9 +78,10 @@ export class CovarianceSample {
|
|
|
78
78
|
return this._origin.state;
|
|
79
79
|
}
|
|
80
80
|
// / Rebuild covariance from sigma points.
|
|
81
|
-
_rebuildCovariance(
|
|
81
|
+
_rebuildCovariance(matrix) {
|
|
82
|
+
const pts = matrix.elements;
|
|
82
83
|
const c = 1.0 / 12.0;
|
|
83
|
-
const yu = new Vector([0, 0, 0, 0, 0, 0]);
|
|
84
|
+
const yu = new Vector([0, 0, 0, 0, 0, 0]).elements;
|
|
84
85
|
const y = Matrix.zero(6, 12);
|
|
85
86
|
for (let i = 0; i < 12; i++) {
|
|
86
87
|
for (let j = 0; j < 6; j++) {
|
|
@@ -92,7 +93,7 @@ export class CovarianceSample {
|
|
|
92
93
|
}
|
|
93
94
|
for (let i = 0; i < 12; i++) {
|
|
94
95
|
for (let j = 0; j < 6; j++) {
|
|
95
|
-
y[j][i] = pts[j][i] - yu[j];
|
|
96
|
+
y.elements[j][i] = pts[j][i] - yu[j];
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
const yt = y.transpose();
|
|
@@ -117,14 +118,14 @@ export class CovarianceSample {
|
|
|
117
118
|
desampleJ2000() {
|
|
118
119
|
for (let i = 0; i < 12; i++) {
|
|
119
120
|
const state = this._samples[i].state;
|
|
120
|
-
this.
|
|
121
|
-
this.
|
|
122
|
-
this.
|
|
123
|
-
this.
|
|
124
|
-
this.
|
|
125
|
-
this.
|
|
121
|
+
this.matrix_.elements[0][i] = state.position.x;
|
|
122
|
+
this.matrix_.elements[1][i] = state.position.y;
|
|
123
|
+
this.matrix_.elements[2][i] = state.position.z;
|
|
124
|
+
this.matrix_.elements[3][i] = state.velocity.x;
|
|
125
|
+
this.matrix_.elements[4][i] = state.velocity.y;
|
|
126
|
+
this.matrix_.elements[5][i] = state.velocity.z;
|
|
126
127
|
}
|
|
127
|
-
const matrix = this._rebuildCovariance(this.
|
|
128
|
+
const matrix = this._rebuildCovariance(this.matrix_);
|
|
128
129
|
return new StateCovariance(matrix, CovarianceFrame.ECI);
|
|
129
130
|
}
|
|
130
131
|
// / Desample covariance in RIC frame.
|
|
@@ -132,14 +133,14 @@ export class CovarianceSample {
|
|
|
132
133
|
const rot = RelativeState.createMatrix(this._origin.state.position, this._origin.state.velocity);
|
|
133
134
|
for (let i = 0; i < 12; i++) {
|
|
134
135
|
const state = RIC.fromJ2000Matrix(this._samples[i].state, this._origin.state, rot);
|
|
135
|
-
this.
|
|
136
|
-
this.
|
|
137
|
-
this.
|
|
138
|
-
this.
|
|
139
|
-
this.
|
|
140
|
-
this.
|
|
136
|
+
this.matrix_.elements[0][i] = state.position.x;
|
|
137
|
+
this.matrix_.elements[1][i] = state.position.y;
|
|
138
|
+
this.matrix_.elements[2][i] = state.position.z;
|
|
139
|
+
this.matrix_.elements[3][i] = state.velocity.x;
|
|
140
|
+
this.matrix_.elements[4][i] = state.velocity.y;
|
|
141
|
+
this.matrix_.elements[5][i] = state.velocity.z;
|
|
141
142
|
}
|
|
142
|
-
const matrix = this._rebuildCovariance(this.
|
|
143
|
+
const matrix = this._rebuildCovariance(this.matrix_);
|
|
143
144
|
return new StateCovariance(matrix, CovarianceFrame.RIC);
|
|
144
145
|
}
|
|
145
146
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CovarianceSample.js","sourceRoot":"","sources":["../../src/covariance/CovarianceSample.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -29,12 +28,14 @@ export declare class StateCovariance {
|
|
|
29
28
|
/**
|
|
30
29
|
* Create a new [StateCovariance] object given its covariance [matrix] and
|
|
31
30
|
* [CovarianceFrame].
|
|
31
|
+
* @param matrix The covariance matrix.
|
|
32
|
+
* @param frame The covariance frame.
|
|
33
|
+
* @returns A new [StateCovariance] object.
|
|
32
34
|
*/
|
|
33
35
|
constructor(matrix: Matrix, frame: CovarianceFrame);
|
|
34
36
|
static fromSigmas(sigmas: number[], frame: CovarianceFrame): StateCovariance;
|
|
35
37
|
/**
|
|
36
38
|
* Calculates the standard deviations (sigmas) of each element in the covariance matrix.
|
|
37
|
-
*
|
|
38
39
|
* @returns A vector containing the standard deviations of each element in the covariance matrix.
|
|
39
40
|
*/
|
|
40
41
|
sigmas(): Vector;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -26,9 +25,14 @@ export var CovarianceFrame;
|
|
|
26
25
|
})(CovarianceFrame || (CovarianceFrame = {}));
|
|
27
26
|
// / State covariance.
|
|
28
27
|
export class StateCovariance {
|
|
28
|
+
matrix;
|
|
29
|
+
frame;
|
|
29
30
|
/**
|
|
30
31
|
* Create a new [StateCovariance] object given its covariance [matrix] and
|
|
31
32
|
* [CovarianceFrame].
|
|
33
|
+
* @param matrix The covariance matrix.
|
|
34
|
+
* @param frame The covariance frame.
|
|
35
|
+
* @returns A new [StateCovariance] object.
|
|
32
36
|
*/
|
|
33
37
|
constructor(matrix, frame) {
|
|
34
38
|
this.matrix = matrix;
|
|
@@ -40,20 +44,19 @@ export class StateCovariance {
|
|
|
40
44
|
const n = sigmas.length;
|
|
41
45
|
const output = Matrix.zero(n, n);
|
|
42
46
|
for (let i = 0; i < n; i++) {
|
|
43
|
-
output[i][i] = Math.max(sigmas[i] * sigmas[i], 1e-32);
|
|
47
|
+
output.elements[i][i] = Math.max(sigmas[i] * sigmas[i], 1e-32);
|
|
44
48
|
}
|
|
45
49
|
return new StateCovariance(output, frame);
|
|
46
50
|
}
|
|
47
51
|
/**
|
|
48
52
|
* Calculates the standard deviations (sigmas) of each element in the covariance matrix.
|
|
49
|
-
*
|
|
50
53
|
* @returns A vector containing the standard deviations of each element in the covariance matrix.
|
|
51
54
|
*/
|
|
52
55
|
sigmas() {
|
|
53
56
|
const c = this.matrix.columns;
|
|
54
57
|
const result = new Float64Array(c);
|
|
55
58
|
for (let i = 0; i < c; i++) {
|
|
56
|
-
const variance = this.matrix[i][i];
|
|
59
|
+
const variance = this.matrix.elements[i][i];
|
|
57
60
|
result[i] = Math.sqrt(variance);
|
|
58
61
|
}
|
|
59
62
|
return new Vector(result);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateCovariance.js","sourceRoot":"","sources":["../../src/covariance/StateCovariance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3C,uBAAuB;AACvB,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,8BAA8B;IAC9B,8BAAW,CAAA;IACX,gCAAgC;IAChC,8BAAW,CAAA;AACb,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,sBAAsB;AACtB,MAAM,OAAO,eAAe;IAQP;IAAuB;IAP1C;;;;;;OAMG;IACH,YAAmB,MAAc,EAAS,KAAsB;QAA7C,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAiB;QAC9D,sBAAsB;IACxB,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,KAAsB;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var CatalogSource;
|
|
2
|
+
(function (CatalogSource) {
|
|
3
|
+
CatalogSource["USSF"] = "USSF";
|
|
4
|
+
CatalogSource["CELESTRAK"] = "Celestrak";
|
|
5
|
+
CatalogSource["UNIV_OF_MICH"] = "University of Michigan";
|
|
6
|
+
CatalogSource["VIMPEL"] = "JSC Vimpel";
|
|
7
|
+
CatalogSource["TLE_TXT"] = "TLE.txt";
|
|
8
|
+
CatalogSource["EXTRA_JSON"] = "extra.json";
|
|
9
|
+
})(CatalogSource || (CatalogSource = {}));
|
|
10
|
+
//# sourceMappingURL=CatalogSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CatalogSource.js","sourceRoot":"","sources":["../../src/enums/CatalogSource.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,wDAAuC,CAAA;IACvC,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;AAC3B,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var CommLink;
|
|
2
|
+
(function (CommLink) {
|
|
3
|
+
CommLink["AEHF"] = "AEHF";
|
|
4
|
+
CommLink["GALILEO"] = "Galileo";
|
|
5
|
+
CommLink["IRIDIUM"] = "Iridium";
|
|
6
|
+
CommLink["STARLINK"] = "Starlink";
|
|
7
|
+
CommLink["WGS"] = "WGS";
|
|
8
|
+
})(CommLink || (CommLink = {}));
|
|
9
|
+
//# sourceMappingURL=CommLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommLink.js","sourceRoot":"","sources":["../../src/enums/CommLink.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,uBAAW,CAAA;AACb,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -15,12 +14,16 @@
|
|
|
15
14
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
16
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
17
16
|
*/
|
|
18
|
-
import { DataHandler, DEG2RAD, Earth, ITRF, J2000, Sun, Vector3D } from 'ootk-core';
|
|
17
|
+
import { DataHandler, DEG2RAD, Earth, ITRF, J2000, Sun, Vector3D, } from 'ootk-core';
|
|
19
18
|
/**
|
|
20
19
|
* Harris-Priester atmospheric drag force model.
|
|
21
20
|
* Atmospheric density model assumes mean solar flux.
|
|
22
21
|
*/
|
|
23
22
|
export class AtmosphericDrag {
|
|
23
|
+
mass;
|
|
24
|
+
area;
|
|
25
|
+
dragCoeff;
|
|
26
|
+
cosine;
|
|
24
27
|
constructor(mass, area, dragCoeff, cosine) {
|
|
25
28
|
this.mass = mass;
|
|
26
29
|
this.area = area;
|
|
@@ -28,7 +31,7 @@ export class AtmosphericDrag {
|
|
|
28
31
|
this.cosine = cosine;
|
|
29
32
|
}
|
|
30
33
|
static _getHPDensity(state, n) {
|
|
31
|
-
const hpa = DataHandler.getInstance().getHpAtmosphere(state.
|
|
34
|
+
const hpa = DataHandler.getInstance().getHpAtmosphere(state.height);
|
|
32
35
|
if (hpa === null) {
|
|
33
36
|
return 0.0;
|
|
34
37
|
}
|
|
@@ -56,8 +59,12 @@ export class AtmosphericDrag {
|
|
|
56
59
|
if (density === 0) {
|
|
57
60
|
return Vector3D.origin;
|
|
58
61
|
}
|
|
59
|
-
const rotation = new ITRF(state.epoch,
|
|
60
|
-
|
|
62
|
+
const rotation = new ITRF(state.epoch,
|
|
63
|
+
// TODO: #26 This is a bit of a hack to get Radians/Second to work with StateVector class
|
|
64
|
+
Earth.rotation, Vector3D.origin).toJ2000().position;
|
|
65
|
+
// TODO: #26 This is a bit of a hack to get Radians/Second to work with StateVector class
|
|
66
|
+
const vRel = state.velocity.subtract(rotation.cross(state.position))
|
|
67
|
+
.scale(1000.0);
|
|
61
68
|
const vm = vRel.magnitude();
|
|
62
69
|
const fScale = -0.5 * density * ((this.dragCoeff * this.area) / this.mass) * vm;
|
|
63
70
|
return vRel.scale(fScale / 1000.0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AtmosphericDrag.js","sourceRoot":"","sources":["../../src/force/AtmosphericDrag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author @thkruz Theodore Kruczek
|
|
3
|
+
* @license AGPL-3.0-or-later
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
5
|
+
*
|
|
6
|
+
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
|
+
* terms of the GNU Affero General Public License as published by the Free Software
|
|
8
|
+
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
11
|
+
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
+
* See the GNU Affero General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
|
+
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
import { J2000, Vector3D } from 'ootk-core';
|
|
18
|
+
import { Force } from './Force';
|
|
19
|
+
/**
|
|
20
|
+
* designed to model the Earth's gravitational field, which is not uniformly distributed due to variations in mass
|
|
21
|
+
* distribution within the Earth and the Earth's shape (it's not a perfect sphere). To accurately model this complex
|
|
22
|
+
* field, the gravity model is expanded into a series of spherical harmonics, characterized by their degree and order.
|
|
23
|
+
*
|
|
24
|
+
* This `degree` parameter is related to the spatial resolution of the gravity model. A higher degree corresponds to a
|
|
25
|
+
* finer resolution, capable of representing smaller-scale variations in the gravity field. The degree essentially
|
|
26
|
+
* denotes how many times the gravitational potential function varies over the surface of the Earth.
|
|
27
|
+
*
|
|
28
|
+
* For each degree, there can be multiple orders ranging from 0 up to the degree. The `order` accounts for the
|
|
29
|
+
* longitudinal variation in the gravity field. Each order within a degree captures different characteristics of the
|
|
30
|
+
* gravity anomalies.
|
|
31
|
+
*
|
|
32
|
+
* `Degree 0` corresponds to the overall, mean gravitational force of the Earth (considered as a point mass).
|
|
33
|
+
*
|
|
34
|
+
* `Degree 1` terms are related to the Earth's center of mass but are usually not used because the center of mass is
|
|
35
|
+
* defined as the origin of the coordinate system.
|
|
36
|
+
*
|
|
37
|
+
* `Degree 2` and higher capture the deviations from this spherical symmetry, such as the flattening at the poles and
|
|
38
|
+
* bulging at the equator (degree 2), and other anomalies at finer scales as the degree increases.
|
|
39
|
+
*/
|
|
40
|
+
export declare class EarthGravity implements Force {
|
|
41
|
+
degree: number;
|
|
42
|
+
order: number;
|
|
43
|
+
_asphericalFlag: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a new instance of the EarthGravity class.
|
|
46
|
+
* @param degree The degree of the Earth's gravity field. Must be between 0 and 36.
|
|
47
|
+
* @param order The order of the Earth's gravity field. Must be between 0 and 36.
|
|
48
|
+
*/
|
|
49
|
+
constructor(degree: number, order: number);
|
|
50
|
+
_spherical(state: J2000): Vector3D;
|
|
51
|
+
_aspherical(state: J2000): Vector3D;
|
|
52
|
+
acceleration(state: J2000): Vector3D;
|
|
53
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -16,8 +15,36 @@
|
|
|
16
15
|
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
17
16
|
*/
|
|
18
17
|
import { DataHandler, Earth, ITRF, Vector3D } from 'ootk-core';
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* designed to model the Earth's gravitational field, which is not uniformly distributed due to variations in mass
|
|
20
|
+
* distribution within the Earth and the Earth's shape (it's not a perfect sphere). To accurately model this complex
|
|
21
|
+
* field, the gravity model is expanded into a series of spherical harmonics, characterized by their degree and order.
|
|
22
|
+
*
|
|
23
|
+
* This `degree` parameter is related to the spatial resolution of the gravity model. A higher degree corresponds to a
|
|
24
|
+
* finer resolution, capable of representing smaller-scale variations in the gravity field. The degree essentially
|
|
25
|
+
* denotes how many times the gravitational potential function varies over the surface of the Earth.
|
|
26
|
+
*
|
|
27
|
+
* For each degree, there can be multiple orders ranging from 0 up to the degree. The `order` accounts for the
|
|
28
|
+
* longitudinal variation in the gravity field. Each order within a degree captures different characteristics of the
|
|
29
|
+
* gravity anomalies.
|
|
30
|
+
*
|
|
31
|
+
* `Degree 0` corresponds to the overall, mean gravitational force of the Earth (considered as a point mass).
|
|
32
|
+
*
|
|
33
|
+
* `Degree 1` terms are related to the Earth's center of mass but are usually not used because the center of mass is
|
|
34
|
+
* defined as the origin of the coordinate system.
|
|
35
|
+
*
|
|
36
|
+
* `Degree 2` and higher capture the deviations from this spherical symmetry, such as the flattening at the poles and
|
|
37
|
+
* bulging at the equator (degree 2), and other anomalies at finer scales as the degree increases.
|
|
38
|
+
*/
|
|
20
39
|
export class EarthGravity {
|
|
40
|
+
degree;
|
|
41
|
+
order;
|
|
42
|
+
_asphericalFlag;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new instance of the EarthGravity class.
|
|
45
|
+
* @param degree The degree of the Earth's gravity field. Must be between 0 and 36.
|
|
46
|
+
* @param order The order of the Earth's gravity field. Must be between 0 and 36.
|
|
47
|
+
*/
|
|
21
48
|
constructor(degree, order) {
|
|
22
49
|
this.degree = Math.min(Math.max(degree, 0), 36);
|
|
23
50
|
this.order = Math.min(Math.max(order, 0), 36);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EarthGravity.js","sourceRoot":"","sources":["../../src/force/EarthGravity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -20,6 +19,8 @@ export declare abstract class Force {
|
|
|
20
19
|
/**
|
|
21
20
|
* Calculate the acceleration due to the perturbing force on a given
|
|
22
21
|
* state vector.
|
|
22
|
+
* @param state The state vector.
|
|
23
|
+
* @throws If the force cannot be calculated.
|
|
23
24
|
*/
|
|
24
25
|
acceleration(state: J2000): Vector3D;
|
|
25
26
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -22,6 +21,8 @@ export class Force {
|
|
|
22
21
|
/**
|
|
23
22
|
* Calculate the acceleration due to the perturbing force on a given
|
|
24
23
|
* state vector.
|
|
24
|
+
* @param state The state vector.
|
|
25
|
+
* @throws If the force cannot be calculated.
|
|
25
26
|
*/
|
|
26
27
|
acceleration(state) {
|
|
27
28
|
throw Error('Not implemented');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Force.js","sourceRoot":"","sources":["../../src/force/Force.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,sDAAsD;AACtD,2CAA2C;AAE3C,wCAAwC;AACxC,MAAM,OAAgB,KAAK;IACzB;;;;;OAKG;IACH,YAAY,CAAC,KAAY;QACvB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author @thkruz Theodore Kruczek
|
|
3
|
-
*
|
|
4
3
|
* @license AGPL-3.0-or-later
|
|
5
|
-
* @
|
|
4
|
+
* @copyright (c) 2020-2024 Theodore Kruczek
|
|
6
5
|
*
|
|
7
6
|
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
8
7
|
* terms of the GNU Affero General Public License as published by the Free Software
|
|
@@ -22,14 +21,22 @@ export declare class ForceModel {
|
|
|
22
21
|
private _thirdBodyGravity?;
|
|
23
22
|
private _solarRadiationPressure?;
|
|
24
23
|
private _atmosphericDrag?;
|
|
25
|
-
private _maneuverThrust
|
|
24
|
+
private _maneuverThrust;
|
|
26
25
|
setGravity(mu?: number): this;
|
|
27
26
|
setEarthGravity(degree: number, order: number): void;
|
|
28
27
|
setThirdBodyGravity({ moon, sun }: {
|
|
29
|
-
moon?: boolean;
|
|
30
|
-
sun?: boolean;
|
|
28
|
+
moon?: boolean | undefined;
|
|
29
|
+
sun?: boolean | undefined;
|
|
31
30
|
}): void;
|
|
32
31
|
setSolarRadiationPressure(mass: number, area: number, coeff?: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Sets the atmospheric drag for the force model.
|
|
34
|
+
* @deprecated This is still a work in progress!
|
|
35
|
+
* @param mass - The mass of the object.
|
|
36
|
+
* @param area - The cross-sectional area of the object.
|
|
37
|
+
* @param coeff - The drag coefficient. Default value is 2.2.
|
|
38
|
+
* @param cosine - The cosine of the angle between the object's velocity vector and the drag force vector.
|
|
39
|
+
*/
|
|
33
40
|
setAtmosphericDrag(mass: number, area: number, coeff?: number, cosine?: number): void;
|
|
34
41
|
loadManeuver(maneuver: Thrust): void;
|
|
35
42
|
clearManeuver(): void;
|