ootk 4.0.0-0 → 4.0.0-2

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.
Files changed (356) hide show
  1. package/CHANGELOG.md +142 -31
  2. package/{lib → dist}/coordinate/Hill.d.ts +17 -18
  3. package/{lib → dist}/coordinate/Hill.js +44 -36
  4. package/dist/coordinate/Hill.js.map +1 -0
  5. package/{lib → dist}/covariance/CovarianceSample.d.ts +6 -7
  6. package/{lib → dist}/covariance/CovarianceSample.js +29 -28
  7. package/dist/covariance/CovarianceSample.js.map +1 -0
  8. package/{lib → dist}/covariance/StateCovariance.d.ts +4 -3
  9. package/{lib → dist}/covariance/StateCovariance.js +8 -5
  10. package/dist/covariance/StateCovariance.js.map +1 -0
  11. package/{lib → dist}/force/AtmosphericDrag.d.ts +1 -2
  12. package/{lib → dist}/force/AtmosphericDrag.js +13 -6
  13. package/dist/force/AtmosphericDrag.js.map +1 -0
  14. package/{lib → dist}/force/EarthGravity.d.ts +1 -2
  15. package/{lib → dist}/force/EarthGravity.js +4 -2
  16. package/dist/force/EarthGravity.js.map +1 -0
  17. package/{lib → dist}/force/Force.d.ts +3 -2
  18. package/{lib → dist}/force/Force.js +3 -2
  19. package/dist/force/Force.js.map +1 -0
  20. package/{lib → dist}/force/ForceModel.d.ts +4 -5
  21. package/{lib → dist}/force/ForceModel.js +6 -2
  22. package/dist/force/ForceModel.js.map +1 -0
  23. package/{lib → dist}/force/Gravity.d.ts +1 -4
  24. package/{lib → dist}/force/Gravity.js +3 -4
  25. package/dist/force/Gravity.js.map +1 -0
  26. package/{lib → dist}/force/SolarRadiationPressure.d.ts +1 -2
  27. package/{lib → dist}/force/SolarRadiationPressure.js +6 -4
  28. package/dist/force/SolarRadiationPressure.js.map +1 -0
  29. package/{lib → dist}/force/ThirdBodyGravity.d.ts +1 -2
  30. package/{lib → dist}/force/ThirdBodyGravity.js +4 -3
  31. package/dist/force/ThirdBodyGravity.js.map +1 -0
  32. package/{lib → dist}/force/Thrust.d.ts +10 -11
  33. package/{lib → dist}/force/Thrust.js +8 -3
  34. package/dist/force/Thrust.js.map +1 -0
  35. package/dist/interfaces/RfSensorParams.d.ts +28 -0
  36. package/dist/interfaces/RfSensorParams.js +24 -0
  37. package/dist/interfaces/RfSensorParams.js.map +1 -0
  38. package/dist/interfaces/index.d.ts +1 -0
  39. package/dist/interfaces/index.js +2 -0
  40. package/dist/interfaces/index.js.map +1 -0
  41. package/{lib → dist}/interpolator/ChebyshevCoefficients.d.ts +11 -15
  42. package/{lib → dist}/interpolator/ChebyshevCoefficients.js +19 -15
  43. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
  44. package/{lib → dist}/interpolator/ChebyshevInterpolator.d.ts +1 -2
  45. package/{lib → dist}/interpolator/ChebyshevInterpolator.js +2 -2
  46. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
  47. package/{lib → dist}/interpolator/CubicSpline.d.ts +8 -9
  48. package/{lib → dist}/interpolator/CubicSpline.js +10 -5
  49. package/dist/interpolator/CubicSpline.js.map +1 -0
  50. package/{lib → dist}/interpolator/CubicSplineInterpolator.d.ts +2 -3
  51. package/{lib → dist}/interpolator/CubicSplineInterpolator.js +6 -4
  52. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
  53. package/{lib → dist}/interpolator/FieldInterpolator.d.ts +7 -5
  54. package/{lib → dist}/interpolator/FieldInterpolator.js +6 -3
  55. package/dist/interpolator/FieldInterpolator.js.map +1 -0
  56. package/{lib → dist}/interpolator/Interpolator.d.ts +1 -2
  57. package/{lib → dist}/interpolator/Interpolator.js +1 -2
  58. package/dist/interpolator/Interpolator.js.map +1 -0
  59. package/{lib → dist}/interpolator/LagrangeInterpolator.d.ts +8 -10
  60. package/{lib → dist}/interpolator/LagrangeInterpolator.js +32 -29
  61. package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
  62. package/{lib → dist}/interpolator/StateInterpolator.d.ts +2 -4
  63. package/{lib → dist}/interpolator/StateInterpolator.js +2 -4
  64. package/dist/interpolator/StateInterpolator.js.map +1 -0
  65. package/{lib → dist}/interpolator/VerletBlendInterpolator.d.ts +4 -5
  66. package/{lib → dist}/interpolator/VerletBlendInterpolator.js +16 -13
  67. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
  68. package/{lib/ootk.d.ts → dist/main.d.ts} +4 -2
  69. package/dist/main.js +32 -0
  70. package/dist/main.js.map +1 -0
  71. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.d.ts +5 -7
  72. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.js +6 -3
  73. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
  74. package/{lib → dist}/maneuver/Waypoint.d.ts +30 -5
  75. package/{lib → dist}/maneuver/Waypoint.js +31 -4
  76. package/dist/maneuver/Waypoint.js.map +1 -0
  77. package/{lib → dist}/objects/DetailedSatellite.d.ts +7 -31
  78. package/{lib → dist}/objects/DetailedSatellite.js +68 -72
  79. package/dist/objects/DetailedSatellite.js.map +1 -0
  80. package/{lib → dist}/objects/DetailedSensor.d.ts +1 -2
  81. package/{lib → dist}/objects/DetailedSensor.js +22 -2
  82. package/dist/objects/DetailedSensor.js.map +1 -0
  83. package/{lib → dist}/objects/LandObject.d.ts +3 -6
  84. package/{lib → dist}/objects/LandObject.js +9 -3
  85. package/dist/objects/LandObject.js.map +1 -0
  86. package/{lib → dist}/objects/Marker.d.ts +1 -2
  87. package/{lib → dist}/objects/Marker.js +1 -2
  88. package/dist/objects/Marker.js.map +1 -0
  89. package/dist/objects/RfSensor.d.ts +41 -0
  90. package/dist/objects/RfSensor.js +67 -0
  91. package/dist/objects/RfSensor.js.map +1 -0
  92. package/{lib → dist}/objects/index.d.ts +1 -1
  93. package/{lib → dist}/objects/index.js +1 -1
  94. package/dist/objects/index.js.map +1 -0
  95. package/{lib → dist}/observation/Observation.d.ts +42 -4
  96. package/{lib → dist}/observation/Observation.js +41 -10
  97. package/dist/observation/Observation.js.map +1 -0
  98. package/{lib → dist}/observation/ObservationOptical.d.ts +7 -6
  99. package/{lib → dist}/observation/ObservationOptical.js +19 -15
  100. package/dist/observation/ObservationOptical.js.map +1 -0
  101. package/{lib → dist}/observation/ObservationRadar.d.ts +7 -4
  102. package/{lib → dist}/observation/ObservationRadar.js +25 -19
  103. package/dist/observation/ObservationRadar.js.map +1 -0
  104. package/{lib → dist}/observation/ObservationUtils.d.ts +1 -2
  105. package/{lib → dist}/observation/ObservationUtils.js +1 -2
  106. package/dist/observation/ObservationUtils.js.map +1 -0
  107. package/{lib → dist}/observation/PropagatorPairs.d.ts +3 -2
  108. package/{lib → dist}/observation/PropagatorPairs.js +7 -4
  109. package/dist/observation/PropagatorPairs.js.map +1 -0
  110. package/{lib → dist}/operations/BoxMuller.d.ts +7 -2
  111. package/{lib → dist}/operations/BoxMuller.js +15 -4
  112. package/dist/operations/BoxMuller.js.map +1 -0
  113. package/dist/operations/EulerAngles.d.ts +105 -0
  114. package/{lib → dist}/operations/EulerAngles.js +72 -22
  115. package/dist/operations/EulerAngles.js.map +1 -0
  116. package/{lib → dist}/operations/Quaternion.d.ts +5 -6
  117. package/{lib → dist}/operations/Quaternion.js +12 -9
  118. package/dist/operations/Quaternion.js.map +1 -0
  119. package/{lib → dist}/operations/RandomGaussianSource.d.ts +1 -2
  120. package/{lib → dist}/operations/RandomGaussianSource.js +3 -3
  121. package/dist/operations/RandomGaussianSource.js.map +1 -0
  122. package/{lib → dist}/optimize/ChebyshevCompressor.d.ts +3 -2
  123. package/{lib → dist}/optimize/ChebyshevCompressor.js +7 -4
  124. package/dist/optimize/ChebyshevCompressor.js.map +1 -0
  125. package/{lib → dist}/optimize/DownhillSimplex.d.ts +16 -2
  126. package/{lib → dist}/optimize/DownhillSimplex.js +16 -2
  127. package/dist/optimize/DownhillSimplex.js.map +1 -0
  128. package/{lib → dist}/optimize/GoldenSection.d.ts +9 -3
  129. package/{lib → dist}/optimize/GoldenSection.js +9 -3
  130. package/dist/optimize/GoldenSection.js.map +1 -0
  131. package/{lib → dist}/optimize/PolynomialRegression.d.ts +14 -2
  132. package/{lib → dist}/optimize/PolynomialRegression.js +19 -2
  133. package/dist/optimize/PolynomialRegression.js.map +1 -0
  134. package/{lib → dist}/optimize/PolynomicalRegressionResult.d.ts +5 -2
  135. package/{lib → dist}/optimize/PolynomicalRegressionResult.js +8 -2
  136. package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
  137. package/{lib → dist}/optimize/SimpleLinearRegression.d.ts +5 -2
  138. package/{lib → dist}/optimize/SimpleLinearRegression.js +12 -7
  139. package/dist/optimize/SimpleLinearRegression.js.map +1 -0
  140. package/{lib → dist}/optimize/SimplexEntry.d.ts +1 -2
  141. package/{lib → dist}/optimize/SimplexEntry.js +5 -2
  142. package/dist/optimize/SimplexEntry.js.map +1 -0
  143. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.d.ts +14 -3
  144. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.js +29 -4
  145. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
  146. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.d.ts +4 -2
  147. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.js +7 -2
  148. package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
  149. package/{lib → dist}/orbit_determination/GibbsIOD.d.ts +9 -4
  150. package/{lib → dist}/orbit_determination/GibbsIOD.js +11 -5
  151. package/dist/orbit_determination/GibbsIOD.js.map +1 -0
  152. package/{lib → dist}/orbit_determination/GoodingIOD.d.ts +21 -22
  153. package/{lib → dist}/orbit_determination/GoodingIOD.js +74 -71
  154. package/dist/orbit_determination/GoodingIOD.js.map +1 -0
  155. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.d.ts +4 -4
  156. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.js +3 -2
  157. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
  158. package/{lib → dist}/orbit_determination/LambertIOD.d.ts +21 -8
  159. package/{lib → dist}/orbit_determination/LambertIOD.js +20 -6
  160. package/dist/orbit_determination/LambertIOD.js.map +1 -0
  161. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.d.ts +6 -7
  162. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.js +12 -11
  163. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
  164. package/{lib → dist}/propagator/DormandPrince54Propagator.d.ts +1 -2
  165. package/dist/propagator/DormandPrince54Propagator.js +64 -0
  166. package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
  167. package/{lib → dist}/propagator/KeplerPropagator.d.ts +1 -2
  168. package/{lib → dist}/propagator/KeplerPropagator.js +5 -2
  169. package/{lib → dist}/propagator/KeplerPropagator.js.map +1 -1
  170. package/{lib → dist}/propagator/Propagator.d.ts +5 -6
  171. package/{lib → dist}/propagator/Propagator.js +5 -6
  172. package/dist/propagator/Propagator.js.map +1 -0
  173. package/{lib → dist}/propagator/RkCheckpoint.d.ts +1 -2
  174. package/{lib → dist}/propagator/RkCheckpoint.js +3 -2
  175. package/dist/propagator/RkCheckpoint.js.map +1 -0
  176. package/{lib → dist}/propagator/RkResult.d.ts +1 -2
  177. package/{lib → dist}/propagator/RkResult.js +4 -2
  178. package/dist/propagator/RkResult.js.map +1 -0
  179. package/{lib → dist}/propagator/RungeKutta4Propagator.d.ts +14 -10
  180. package/{lib → dist}/propagator/RungeKutta4Propagator.js +45 -36
  181. package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
  182. package/{lib → dist}/propagator/RungeKutta89Propagator.d.ts +1 -2
  183. package/dist/propagator/RungeKutta89Propagator.js +126 -0
  184. package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
  185. package/{lib → dist}/propagator/RungeKuttaAdaptive.d.ts +13 -11
  186. package/{lib → dist}/propagator/RungeKuttaAdaptive.js +31 -24
  187. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
  188. package/{lib → dist}/propagator/Sgp4Propagator.d.ts +3 -4
  189. package/{lib → dist}/propagator/Sgp4Propagator.js +4 -3
  190. package/dist/propagator/Sgp4Propagator.js.map +1 -0
  191. package/{lib → dist}/smoothing/ExponentialSmoothing.d.ts +1 -2
  192. package/{lib → dist}/smoothing/ExponentialSmoothing.js +1 -2
  193. package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
  194. package/dist/transforms/index.d.ts +1 -0
  195. package/dist/transforms/index.js +2 -0
  196. package/dist/transforms/index.js.map +1 -0
  197. package/dist/transforms/transforms.d.ts +58 -0
  198. package/dist/transforms/transforms.js +94 -0
  199. package/dist/transforms/transforms.js.map +1 -0
  200. package/{lib → dist}/types/types.d.ts +44 -4
  201. package/{lib → dist}/types/types.js +1 -2
  202. package/dist/types/types.js.map +1 -0
  203. package/dist/utils/functions.d.ts +8 -0
  204. package/dist/utils/functions.js +18 -0
  205. package/dist/utils/functions.js.map +1 -0
  206. package/dist/utils/index.d.ts +2 -0
  207. package/dist/utils/index.js +3 -0
  208. package/dist/utils/index.js.map +1 -0
  209. package/dist/utils/jacobian.d.ts +11 -0
  210. package/dist/utils/jacobian.js +29 -0
  211. package/dist/utils/jacobian.js.map +1 -0
  212. package/package.json +32 -42
  213. package/src/coordinate/Hill.ts +326 -0
  214. package/src/coordinate/index.ts +1 -0
  215. package/src/covariance/CovarianceSample.ts +194 -0
  216. package/src/covariance/StateCovariance.ts +69 -0
  217. package/src/force/AtmosphericDrag.ts +101 -0
  218. package/src/force/EarthGravity.ts +157 -0
  219. package/src/force/Force.ts +33 -0
  220. package/src/force/ForceModel.ts +91 -0
  221. package/src/force/Gravity.ts +53 -0
  222. package/src/force/SolarRadiationPressure.ts +42 -0
  223. package/src/force/ThirdBodyGravity.ts +62 -0
  224. package/src/force/Thrust.ts +83 -0
  225. package/src/interfaces/RfSensorParams.ts +30 -0
  226. package/src/interfaces/index.ts +1 -0
  227. package/src/interpolator/ChebyshevCoefficients.ts +109 -0
  228. package/src/interpolator/ChebyshevInterpolator.ts +87 -0
  229. package/src/interpolator/CubicSpline.ts +72 -0
  230. package/src/interpolator/CubicSplineInterpolator.ts +90 -0
  231. package/src/interpolator/FieldInterpolator.ts +37 -0
  232. package/src/interpolator/Interpolator.ts +56 -0
  233. package/src/interpolator/LagrangeInterpolator.ts +192 -0
  234. package/src/interpolator/StateInterpolator.ts +39 -0
  235. package/src/interpolator/VerletBlendInterpolator.ts +146 -0
  236. package/{lib/ootk.js → src/main.ts} +7 -3
  237. package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
  238. package/src/maneuver/Waypoint.ts +267 -0
  239. package/src/objects/DetailedSatellite.ts +159 -0
  240. package/src/objects/DetailedSensor.ts +68 -0
  241. package/src/objects/LandObject.ts +46 -0
  242. package/src/objects/Marker.ts +25 -0
  243. package/src/objects/RfSensor.ts +78 -0
  244. package/src/objects/index.ts +5 -0
  245. package/src/observation/Observation.ts +125 -0
  246. package/src/observation/ObservationOptical.ts +146 -0
  247. package/src/observation/ObservationRadar.ts +131 -0
  248. package/src/observation/ObservationUtils.ts +40 -0
  249. package/src/observation/PropagatorPairs.ts +45 -0
  250. package/src/operations/BoxMuller.ts +87 -0
  251. package/src/operations/EulerAngles.ts +183 -0
  252. package/src/operations/Quaternion.ts +222 -0
  253. package/src/operations/RandomGaussianSource.ts +51 -0
  254. package/src/operations/index.ts +4 -0
  255. package/src/optimize/ChebyshevCompressor.ts +96 -0
  256. package/src/optimize/DownhillSimplex.ts +212 -0
  257. package/src/optimize/GoldenSection.ts +71 -0
  258. package/src/optimize/PolynomialRegression.ts +109 -0
  259. package/src/optimize/PolynomicalRegressionResult.ts +32 -0
  260. package/src/optimize/SimpleLinearRegression.ts +127 -0
  261. package/src/optimize/SimplexEntry.ts +50 -0
  262. package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
  263. package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
  264. package/src/orbit_determination/GibbsIOD.ts +95 -0
  265. package/src/orbit_determination/GoodingIOD.ts +380 -0
  266. package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
  267. package/src/orbit_determination/LambertIOD.ts +260 -0
  268. package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
  269. package/src/propagator/DormandPrince54Propagator.ts +73 -0
  270. package/src/propagator/KeplerPropagator.ts +102 -0
  271. package/src/propagator/Propagator.ts +253 -0
  272. package/src/propagator/RkCheckpoint.ts +25 -0
  273. package/src/propagator/RkResult.ts +26 -0
  274. package/src/propagator/RungeKutta4Propagator.ts +179 -0
  275. package/src/propagator/RungeKutta89Propagator.ts +132 -0
  276. package/src/propagator/RungeKuttaAdaptive.ts +232 -0
  277. package/src/propagator/Sgp4Propagator.ts +71 -0
  278. package/src/smoothing/ExponentialSmoothing.ts +90 -0
  279. package/src/transforms/index.ts +1 -0
  280. package/src/transforms/transforms.ts +117 -0
  281. package/src/types/types.ts +135 -0
  282. package/src/utils/functions.ts +21 -0
  283. package/src/utils/index.ts +2 -0
  284. package/src/utils/jacobian.ts +38 -0
  285. package/.eslintrc.json +0 -244
  286. package/jest.config.ts +0 -30
  287. package/lib/coordinate/Hill.js.map +0 -1
  288. package/lib/covariance/CovarianceSample.js.map +0 -1
  289. package/lib/covariance/StateCovariance.js.map +0 -1
  290. package/lib/force/AtmosphericDrag.js.map +0 -1
  291. package/lib/force/EarthGravity.js.map +0 -1
  292. package/lib/force/Force.js.map +0 -1
  293. package/lib/force/ForceModel.js.map +0 -1
  294. package/lib/force/Gravity.js.map +0 -1
  295. package/lib/force/SolarRadiationPressure.js.map +0 -1
  296. package/lib/force/ThirdBodyGravity.js.map +0 -1
  297. package/lib/force/Thrust.js.map +0 -1
  298. package/lib/interpolator/ChebyshevCoefficients.js.map +0 -1
  299. package/lib/interpolator/ChebyshevInterpolator.js.map +0 -1
  300. package/lib/interpolator/CubicSpline.js.map +0 -1
  301. package/lib/interpolator/CubicSplineInterpolator.js.map +0 -1
  302. package/lib/interpolator/FieldInterpolator.js.map +0 -1
  303. package/lib/interpolator/Interpolator.js.map +0 -1
  304. package/lib/interpolator/LagrangeInterpolator.js.map +0 -1
  305. package/lib/interpolator/StateInterpolator.js.map +0 -1
  306. package/lib/interpolator/VerletBlendInterpolator.js.map +0 -1
  307. package/lib/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
  308. package/lib/maneuver/Waypoint.js.map +0 -1
  309. package/lib/objects/DetailedSatellite.js.map +0 -1
  310. package/lib/objects/DetailedSensor.js.map +0 -1
  311. package/lib/objects/LandObject.js.map +0 -1
  312. package/lib/objects/Marker.js.map +0 -1
  313. package/lib/objects/index.js.map +0 -1
  314. package/lib/observation/Observation.js.map +0 -1
  315. package/lib/observation/ObservationOptical.js.map +0 -1
  316. package/lib/observation/ObservationRadar.js.map +0 -1
  317. package/lib/observation/ObservationUtils.js.map +0 -1
  318. package/lib/observation/PropagatorPairs.js.map +0 -1
  319. package/lib/ootk.js.map +0 -1
  320. package/lib/operations/BoxMuller.js.map +0 -1
  321. package/lib/operations/EulerAngles.d.ts +0 -50
  322. package/lib/operations/EulerAngles.js.map +0 -1
  323. package/lib/operations/Quaternion.js.map +0 -1
  324. package/lib/operations/RandomGaussianSource.js.map +0 -1
  325. package/lib/optimize/ChebyshevCompressor.js.map +0 -1
  326. package/lib/optimize/DownhillSimplex.js.map +0 -1
  327. package/lib/optimize/GoldenSection.js.map +0 -1
  328. package/lib/optimize/PolynomialRegression.js.map +0 -1
  329. package/lib/optimize/PolynomicalRegressionResult.js.map +0 -1
  330. package/lib/optimize/SimpleLinearRegression.js.map +0 -1
  331. package/lib/optimize/SimplexEntry.js.map +0 -1
  332. package/lib/orbit_determination/BatchLeastSquaresOD.js.map +0 -1
  333. package/lib/orbit_determination/BatchLeastSquaresResult.js.map +0 -1
  334. package/lib/orbit_determination/GibbsIOD.js.map +0 -1
  335. package/lib/orbit_determination/GoodingIOD.js.map +0 -1
  336. package/lib/orbit_determination/HerrickGibbsIOD.js.map +0 -1
  337. package/lib/orbit_determination/LambertIOD.js.map +0 -1
  338. package/lib/orbit_determination/ModifiedGoodingIOD.js.map +0 -1
  339. package/lib/propagator/DormandPrince54Propagator.js +0 -68
  340. package/lib/propagator/DormandPrince54Propagator.js.map +0 -1
  341. package/lib/propagator/Propagator.js.map +0 -1
  342. package/lib/propagator/RkCheckpoint.js.map +0 -1
  343. package/lib/propagator/RkResult.js.map +0 -1
  344. package/lib/propagator/RungeKutta4Propagator.js.map +0 -1
  345. package/lib/propagator/RungeKutta89Propagator.js +0 -130
  346. package/lib/propagator/RungeKutta89Propagator.js.map +0 -1
  347. package/lib/propagator/RungeKuttaAdaptive.js.map +0 -1
  348. package/lib/propagator/Sgp4Propagator.js.map +0 -1
  349. package/lib/smoothing/ExponentialSmoothing.js.map +0 -1
  350. package/lib/types/types.js.map +0 -1
  351. /package/{lib → dist}/coordinate/index.d.ts +0 -0
  352. /package/{lib → dist}/coordinate/index.js +0 -0
  353. /package/{lib → dist}/coordinate/index.js.map +0 -0
  354. /package/{lib → dist}/operations/index.d.ts +0 -0
  355. /package/{lib → dist}/operations/index.js +0 -0
  356. /package/{lib → dist}/operations/index.js.map +0 -0
@@ -0,0 +1,64 @@
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
+ /* eslint-disable class-methods-use-this */
18
+ import { RungeKuttaAdaptive } from './RungeKuttaAdaptive';
19
+ export class DormandPrince54Propagator extends RungeKuttaAdaptive {
20
+ _a = Float64Array.from([0.0, 1.0 / 5.0, 3.0 / 10.0, 4.0 / 5.0, 8.0 / 9.0, 1.0, 1.0]);
21
+ _b = [
22
+ new Float64Array(),
23
+ Float64Array.from([1.0 / 5.0]),
24
+ Float64Array.from([3.0 / 40.0, 9.0 / 40.0]),
25
+ Float64Array.from([44.0 / 45.0, -56.0 / 15.0, 32.0 / 9.0]),
26
+ Float64Array.from([19372.0 / 6561.0, -25360.0 / 2187.0, 64448.0 / 6561.0, -212.0 / 729.0]),
27
+ Float64Array.from([9017.0 / 3168.0, -355.0 / 33.0, 46732.0 / 5247.0, 49.0 / 176.0, -5103.0 / 18656.0]),
28
+ Float64Array.from([35.0 / 384.0, 0.0, 500.0 / 1113.0, 125.0 / 192.0, -2187.0 / 6784.0, 11.0 / 84.0]),
29
+ ];
30
+ _ch = Float64Array.from([
31
+ 35.0 / 384.0,
32
+ 0.0,
33
+ 500.0 / 1113.0,
34
+ 125.0 / 192.0,
35
+ -2187.0 / 6784.0,
36
+ 11.0 / 84.0,
37
+ 0.0,
38
+ ]);
39
+ _c = Float64Array.from([
40
+ 5179.0 / 57600.0,
41
+ 0.0,
42
+ 7571.0 / 16695.0,
43
+ 393.0 / 640.0,
44
+ -92097.0 / 339200.0,
45
+ 187.0 / 2100.0,
46
+ 1.0 / 40.0,
47
+ ]);
48
+ get a() {
49
+ return this._a;
50
+ }
51
+ get b() {
52
+ return this._b;
53
+ }
54
+ get ch() {
55
+ return this._ch;
56
+ }
57
+ get c() {
58
+ return this._c;
59
+ }
60
+ get order() {
61
+ return 5;
62
+ }
63
+ }
64
+ //# sourceMappingURL=DormandPrince54Propagator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DormandPrince54Propagator.js","sourceRoot":"","sources":["../../src/propagator/DormandPrince54Propagator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,2CAA2C;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IACvD,EAAE,GAAiB,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnG,EAAE,GAAmB;QAC3B,IAAI,YAAY,EAAE;QAClB,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;QAC1D,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC1F,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QACtG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;KACrG,CAAC;IAEM,GAAG,GAAiB,YAAY,CAAC,IAAI,CAAC;QAC5C,IAAI,GAAG,KAAK;QACZ,GAAG;QACH,KAAK,GAAG,MAAM;QACd,KAAK,GAAG,KAAK;QACb,CAAC,MAAM,GAAG,MAAM;QAChB,IAAI,GAAG,IAAI;QACX,GAAG;KACJ,CAAC,CAAC;IAEK,EAAE,GAAiB,YAAY,CAAC,IAAI,CAAC;QAC3C,MAAM,GAAG,OAAO;QAChB,GAAG;QACH,MAAM,GAAG,OAAO;QAChB,KAAK,GAAG,KAAK;QACb,CAAC,OAAO,GAAG,QAAQ;QACnB,KAAK,GAAG,MAAM;QACd,GAAG,GAAG,IAAI;KACX,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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,10 @@ import { VerletBlendInterpolator } from '../interpolator/VerletBlendInterpolator
20
19
  import { Propagator } from './Propagator';
21
20
  // / Kepler analytical two-body propagator.
22
21
  export class KeplerPropagator extends Propagator {
22
+ _initElements;
23
+ _elements;
24
+ _cacheState;
25
+ _checkpoints;
23
26
  constructor(initElements) {
24
27
  super();
25
28
  this._initElements = initElements;
@@ -1 +1 @@
1
- {"version":3,"file":"KeplerPropagator.js","sourceRoot":"","sources":["../../src/propagator/KeplerPropagator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeplerPropagator.js","sourceRoot":"","sources":["../../src/propagator/KeplerPropagator.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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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,19 +14,19 @@
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 { EpochUTC, J2000 } from 'ootk-core';
17
+ import { EpochUTC, J2000, Seconds } from 'ootk-core';
19
18
  import { Thrust } from '../force/Thrust';
20
19
  import { VerletBlendInterpolator } from '../interpolator/VerletBlendInterpolator';
21
20
  export declare abstract class Propagator {
22
21
  abstract propagate(epoch: EpochUTC): J2000;
23
- ephemeris(start: EpochUTC, stop: EpochUTC, interval?: number): VerletBlendInterpolator;
22
+ ephemeris(start: EpochUTC, stop: EpochUTC, interval?: Seconds): VerletBlendInterpolator;
24
23
  abstract reset(): void;
25
24
  abstract checkpoint(): number;
26
25
  abstract restore(index: number): void;
27
26
  abstract clearCheckpoints(): void;
28
27
  abstract get state(): J2000;
29
- maneuver(maneuver: Thrust, interval?: number): J2000[];
30
- ephemerisManeuver(start: EpochUTC, finish: EpochUTC, maneuvers: Thrust[], interval?: number): VerletBlendInterpolator;
28
+ maneuver(maneuver: Thrust, interval?: Seconds): J2000[];
29
+ ephemerisManeuver(start: EpochUTC, finish: EpochUTC, maneuvers: Thrust[], interval?: Seconds): VerletBlendInterpolator;
31
30
  ascendingNodeEpoch(start: EpochUTC): EpochUTC;
32
31
  descendingNodeEpoch(start: EpochUTC): EpochUTC;
33
32
  apogeeEpoch(start: EpochUTC): EpochUTC;
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
@@ -69,7 +68,7 @@ export class Propagator {
69
68
  }
70
69
  // Return the epoch of the ascending node after the [start] epoch.
71
70
  ascendingNodeEpoch(start) {
72
- const period = this.state.period();
71
+ const period = this.state.period / 60;
73
72
  const step = period / 8;
74
73
  let current = start;
75
74
  const stop = current.roll(period);
@@ -91,7 +90,7 @@ export class Propagator {
91
90
  }
92
91
  // Return the epoch of the descending node after the [start] epoch.
93
92
  descendingNodeEpoch(start) {
94
- const period = this.state.period();
93
+ const period = this.state.period / 60;
95
94
  const step = period / 8;
96
95
  let current = start;
97
96
  const stop = current.roll(period);
@@ -114,7 +113,7 @@ export class Propagator {
114
113
  // Return the epoch of apogee after the [start] epoch.
115
114
  apogeeEpoch(start) {
116
115
  const slice = 8;
117
- const period = this.state.period();
116
+ const period = this.state.period / 60;
118
117
  const step = period / slice;
119
118
  let current = start;
120
119
  this.propagate(current);
@@ -138,7 +137,7 @@ export class Propagator {
138
137
  // Return the epoch of perigee after the [start] epoch.
139
138
  perigeeEpoch(start) {
140
139
  const slice = 8;
141
- const period = this.state.period();
140
+ const period = this.state.period / 60;
142
141
  const step = period / slice;
143
142
  let current = start;
144
143
  this.propagate(current);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Propagator.js","sourceRoot":"","sources":["../../src/propagator/Propagator.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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
@@ -17,6 +16,8 @@
17
16
  */
18
17
  // / Runge-Kutta adaptive state checkpoint.
19
18
  export class RkCheckpoint {
19
+ cacheState;
20
+ stepSize;
20
21
  constructor(cacheState, stepSize) {
21
22
  this.cacheState = cacheState;
22
23
  this.stepSize = stepSize;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RkCheckpoint.js","sourceRoot":"","sources":["../../src/propagator/RkCheckpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,2CAA2C;AAC3C,MAAM,OAAO,YAAY;IACJ;IAA0B;IAA7C,YAAmB,UAAiB,EAAS,QAAgB;QAA1C,eAAU,GAAV,UAAU,CAAO;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAC3D,sBAAsB;IACxB,CAAC;CACF"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
@@ -17,6 +16,9 @@
17
16
  */
18
17
  // / Result of adaptive numerical integration.
19
18
  export class RkResult {
19
+ state;
20
+ error;
21
+ newStep;
20
22
  // / Create a new [RkResult] object.
21
23
  constructor(state, error, newStep) {
22
24
  this.state = state;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RkResult.js","sourceRoot":"","sources":["../../src/propagator/RkResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,8CAA8C;AAC9C,MAAM,OAAO,QAAQ;IAEA;IAAqB;IAAsB;IAD9D,oCAAoC;IACpC,YAAmB,KAAY,EAAS,KAAa,EAAS,OAAe;QAA1D,UAAK,GAAL,KAAK,CAAO;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAQ;QAC3E,sBAAsB;IACxB,CAAC;CACF"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
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,25 +14,30 @@
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 { EpochUTC, J2000 } from 'ootk-core';
17
+ import { EpochUTC, J2000, Seconds } from 'ootk-core';
19
18
  import { ForceModel } from '../force/ForceModel';
20
19
  import { Thrust } from '../force/Thrust';
21
20
  import { VerletBlendInterpolator } from '../interpolator/VerletBlendInterpolator';
22
21
  import { Propagator } from './Propagator';
23
22
  export declare class RungeKutta4Propagator extends Propagator {
24
- private _initState;
25
- private _forceModel;
26
- private _stepSize;
27
- private _cacheState;
28
- private _checkpoints;
23
+ private initState_;
24
+ private forceModel_;
25
+ private stepSize_;
26
+ private cacheState_;
27
+ private checkpoints_;
29
28
  /**
30
29
  * Create a new [RungeKutta4Propagator] object from an initial state vector and
31
30
  * along with an optional [ForceModel] and [stepSize] in seconds.
31
+ * @param initState_ Initial state vector.
32
+ * @param forceModel_ Numerical integration force model.
33
+ * @param stepSize_ Integration step size _(seconds)_.
34
+ * @param cacheState_ Cached state vector.
35
+ * @param checkpoints_ Cached state vector checkpoints.
32
36
  */
33
- constructor(_initState: J2000, _forceModel?: ForceModel, _stepSize?: number, _cacheState?: J2000, _checkpoints?: J2000[]);
37
+ constructor(initState_: J2000, forceModel_?: ForceModel, stepSize_?: number, cacheState_?: J2000, checkpoints_?: J2000[]);
34
38
  setStepSize(seconds: number): void;
35
39
  setForceModel(forceModel: ForceModel): void;
36
- ephemerisManeuver(start: EpochUTC, finish: EpochUTC, maneuvers: Thrust[], interval?: number): VerletBlendInterpolator;
40
+ ephemerisManeuver(start: EpochUTC, finish: EpochUTC, maneuvers: Thrust[], interval?: Seconds): VerletBlendInterpolator;
37
41
  maneuver(maneuver: Thrust, interval?: number): J2000[];
38
42
  private _kFn;
39
43
  private _integrate;
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
@@ -21,26 +20,36 @@ import { VerletBlendInterpolator } from '../interpolator/VerletBlendInterpolator
21
20
  import { Propagator } from './Propagator';
22
21
  // / Runge-Kutta 4 fixed numerical propagator.
23
22
  export class RungeKutta4Propagator extends Propagator {
23
+ initState_;
24
+ forceModel_;
25
+ stepSize_;
26
+ cacheState_;
27
+ checkpoints_;
24
28
  /**
25
29
  * Create a new [RungeKutta4Propagator] object from an initial state vector and
26
30
  * along with an optional [ForceModel] and [stepSize] in seconds.
31
+ * @param initState_ Initial state vector.
32
+ * @param forceModel_ Numerical integration force model.
33
+ * @param stepSize_ Integration step size _(seconds)_.
34
+ * @param cacheState_ Cached state vector.
35
+ * @param checkpoints_ Cached state vector checkpoints.
27
36
  */
28
- constructor(_initState, _forceModel = new ForceModel().setGravity(), _stepSize = 15.0, _cacheState = _initState, _checkpoints = []) {
37
+ constructor(initState_, forceModel_ = new ForceModel().setGravity(), stepSize_ = 15.0, cacheState_ = initState_, checkpoints_ = []) {
29
38
  super();
30
- this._initState = _initState;
31
- this._forceModel = _forceModel;
32
- this._stepSize = _stepSize;
33
- this._cacheState = _cacheState;
34
- this._checkpoints = _checkpoints;
35
- this._stepSize = Math.abs(_stepSize);
39
+ this.initState_ = initState_;
40
+ this.forceModel_ = forceModel_;
41
+ this.stepSize_ = stepSize_;
42
+ this.cacheState_ = cacheState_;
43
+ this.checkpoints_ = checkpoints_;
44
+ this.stepSize_ = Math.abs(stepSize_);
36
45
  }
37
46
  // / Set the integrator step size to the provided number of [seconds].
38
47
  setStepSize(seconds) {
39
- this._stepSize = Math.abs(seconds);
48
+ this.stepSize_ = Math.abs(seconds);
40
49
  }
41
50
  // / Set numerical integration force model.
42
51
  setForceModel(forceModel) {
43
- this._forceModel = forceModel;
52
+ this.forceModel_ = forceModel;
44
53
  }
45
54
  ephemerisManeuver(start, finish, maneuvers, interval = 60.0) {
46
55
  const tMvr = maneuvers.slice(0).filter((mvr) => mvr.start >= start || mvr.stop <= finish);
@@ -49,36 +58,36 @@ export class RungeKutta4Propagator extends Propagator {
49
58
  ephemeris.push(this.propagate(start));
50
59
  }
51
60
  for (const mvr of tMvr) {
52
- while (this._cacheState.epoch < mvr.start) {
53
- const step = Math.min(mvr.start.difference(this._cacheState.epoch), interval);
54
- this.propagate(this._cacheState.epoch.roll(step));
55
- if (this._cacheState.epoch.posix !== mvr.start.posix) {
56
- ephemeris.push(this._cacheState);
61
+ while (this.cacheState_.epoch < mvr.start) {
62
+ const step = Math.min(mvr.start.difference(this.cacheState_.epoch), interval);
63
+ this.propagate(this.cacheState_.epoch.roll(step));
64
+ if (this.cacheState_.epoch.posix !== mvr.start.posix) {
65
+ ephemeris.push(this.cacheState_);
57
66
  }
58
67
  }
59
68
  ephemeris.push(...this.maneuver(mvr, interval));
60
69
  }
61
- while (this._cacheState.epoch.posix < finish.posix) {
62
- const step = Math.min(finish.difference(this._cacheState.epoch), interval);
63
- this.propagate(this._cacheState.epoch.roll(step));
64
- ephemeris.push(this._cacheState);
70
+ while (this.cacheState_.epoch.posix < finish.posix) {
71
+ const step = Math.min(finish.difference(this.cacheState_.epoch), interval);
72
+ this.propagate(this.cacheState_.epoch.roll(step));
73
+ ephemeris.push(this.cacheState_);
65
74
  }
66
75
  return new VerletBlendInterpolator(ephemeris);
67
76
  }
68
77
  maneuver(maneuver, interval = 60.0) {
69
78
  if (maneuver.isImpulsive) {
70
- this._cacheState = maneuver.apply(this.propagate(maneuver.center));
71
- return [this._cacheState];
79
+ this.cacheState_ = maneuver.apply(this.propagate(maneuver.center));
80
+ return [this.cacheState_];
72
81
  }
73
82
  let tState = this.propagate(maneuver.start);
74
- this._forceModel.loadManeuver(maneuver);
83
+ this.forceModel_.loadManeuver(maneuver);
75
84
  const ephemeris = [tState];
76
85
  while (tState.epoch < maneuver.stop) {
77
86
  const step = Math.min(maneuver.stop.difference(tState.epoch), interval);
78
87
  tState = this.propagate(tState.epoch.roll(step));
79
88
  ephemeris.push(tState);
80
89
  }
81
- this._forceModel.clearManeuver();
90
+ this.forceModel_.clearManeuver();
82
91
  return ephemeris;
83
92
  }
84
93
  _kFn(state, hArg, kArg) {
@@ -86,7 +95,7 @@ export class RungeKutta4Propagator extends Propagator {
86
95
  const posvel = state.position.join(state.velocity);
87
96
  const result = posvel.add(kArg);
88
97
  const sample = new J2000(epoch, result.toVector3D(0), result.toVector3D(3));
89
- return this._forceModel.derivative(sample);
98
+ return this.forceModel_.derivative(sample);
90
99
  }
91
100
  _integrate(state, step) {
92
101
  const k1 = this._kFn(state, 0, Vector.zero(6)).scale(step);
@@ -103,30 +112,30 @@ export class RungeKutta4Propagator extends Propagator {
103
112
  return new J2000(tNext, result.toVector3D(0), result.toVector3D(3));
104
113
  }
105
114
  propagate(epoch) {
106
- let delta = epoch.difference(this._cacheState.epoch);
115
+ let delta = epoch.difference(this.cacheState_.epoch);
107
116
  while (delta !== 0) {
108
117
  const direction = delta >= 0 ? 1 : -1;
109
- const dt = Math.min(Math.abs(delta), this._stepSize) * direction;
110
- this._cacheState = this._integrate(this._cacheState, dt);
111
- delta = epoch.difference(this._cacheState.epoch);
118
+ const dt = Math.min(Math.abs(delta), this.stepSize_) * direction;
119
+ this.cacheState_ = this._integrate(this.cacheState_, dt);
120
+ delta = epoch.difference(this.cacheState_.epoch);
112
121
  }
113
- return this._cacheState;
122
+ return this.cacheState_;
114
123
  }
115
124
  reset() {
116
- this._cacheState = this._initState;
125
+ this.cacheState_ = this.initState_;
117
126
  }
118
127
  get state() {
119
- return this._cacheState;
128
+ return this.cacheState_;
120
129
  }
121
130
  checkpoint() {
122
- this._checkpoints.push(this._cacheState);
123
- return this._checkpoints.length - 1;
131
+ this.checkpoints_.push(this.cacheState_);
132
+ return this.checkpoints_.length - 1;
124
133
  }
125
134
  clearCheckpoints() {
126
- this._checkpoints = [];
135
+ this.checkpoints_ = [];
127
136
  }
128
137
  restore(index) {
129
- this._cacheState = this._checkpoints[index];
138
+ this.cacheState_ = this.checkpoints_[index];
130
139
  }
131
140
  }
132
141
  //# sourceMappingURL=RungeKutta4Propagator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RungeKutta4Propagator.js","sourceRoot":"","sources":["../../src/propagator/RungeKutta4Propagator.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
- * @Copyright (c) 2020-2024 Theodore Kruczek
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
@@ -0,0 +1,126 @@
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
+ /* eslint-disable @typescript-eslint/no-loss-of-precision */
18
+ /* eslint-disable class-methods-use-this */
19
+ import { RungeKuttaAdaptive } from './RungeKuttaAdaptive';
20
+ // / Runge-Kutta 8(9) adaptive numerical propagator.
21
+ export class RungeKutta89Propagator extends RungeKuttaAdaptive {
22
+ a_ = Float64Array.from([
23
+ 0.0, 0.3462e-1, 0.9702435063878044594828361677100617517633e-1, 0.1455365259581706689224254251565092627645, 0.561,
24
+ 0.2290079115904850126662751771814700052182, 0.5449920884095149873337248228185299947818, 0.645, 0.48375, 0.6757e-1,
25
+ 0.25, 0.6590650618730998549405331618649220295334, 0.8206, 0.9012, 1.0, 1.0,
26
+ ]);
27
+ b_ = [
28
+ new Float64Array(0),
29
+ Float64Array.from([0.3462e-1]),
30
+ Float64Array.from([-0.389335438857287327017042687229284478532e-1, 0.1359578945245091786499878854939346230295]),
31
+ Float64Array.from([0.3638413148954266723060635628912731569111e-1, 0.0, 0.1091523944686280016918190688673819470733]),
32
+ Float64Array.from([
33
+ 2.025763914393969636805657604282571047511, 0.0, -7.638023836496292020387602153091964592952,
34
+ 6.173259922102322383581944548809393545442,
35
+ ]),
36
+ Float64Array.from([
37
+ 0.5112275589406060872792270881648288397197e-1, 0.0, 0.0, 0.1770823794555021537929910813839068684087,
38
+ 0.80277624092225014536138698108025283759e-3,
39
+ ]),
40
+ Float64Array.from([
41
+ 0.1316006357975216279279871693164256985334, 0.0, 0.0, -0.2957276252669636417685183174672273730699,
42
+ 0.878137803564295237421124704053886667082e-1, 0.62130529752252747743214350056394300261,
43
+ ]),
44
+ Float64Array.from([
45
+ 0.7166666666666666666666666666666666666667e-1, 0.0, 0.0, 0.0, 0.0, 0.3305533578915319409260346730051472207728,
46
+ 0.2427799754418013924072986603281861125606,
47
+ ]),
48
+ Float64Array.from([
49
+ 0.71806640625e-1, 0.0, 0.0, 0.0, 0.0, 0.3294380283228177160744825466257672816401,
50
+ 0.1165190029271822839255174533742327183599, -0.34013671875e-1,
51
+ ]),
52
+ Float64Array.from([
53
+ 0.4836757646340646986611287718844085773549e-1, 0.0, 0.0, 0.0, 0.0, 0.3928989925676163974333190042057047002852e-1,
54
+ 0.1054740945890344608263649267140088017604, -0.2143865284648312665982642293830533996214e-1,
55
+ -0.1041229174627194437759832813847147895623,
56
+ ]),
57
+ Float64Array.from([
58
+ -0.2664561487201478635337289243849737340534e-1, 0.0, 0.0, 0.0, 0.0, 0.3333333333333333333333333333333333333333e-1,
59
+ -0.1631072244872467239162704487554706387141, 0.3396081684127761199487954930015522928244e-1,
60
+ 0.1572319413814626097110769806810024118077, 0.215226747803187955230353477879477037696,
61
+ ]),
62
+ Float64Array.from([
63
+ 0.3689009248708622334786359863227633989718e-1, 0.0, 0.0, 0.0, 0.0, -0.1465181576725542928653609891758501156785,
64
+ 0.2242577768172024345345469822625833796001, 0.2294405717066072637090897902753790803034e-1,
65
+ -0.35850052905728761357394424889330334334e-2, 0.8669223316444385506869203619044453906053e-1,
66
+ 0.4383840651968337846196219974168630120572,
67
+ ]),
68
+ Float64Array.from([
69
+ -0.4866012215113340846662212357570395295088, 0.0, 0.0, 0.0, 0.0, -6.304602650282852990657772792012007122988,
70
+ -0.281245618289472564778284183790118418111, -2.679019236219849057687906597489223155566,
71
+ 0.518815663924157511565311164615012522024, 1.365353187603341710683633635235238678626,
72
+ 5.885091088503946585721274891680604830712, 2.802808786272062889819965117517532194812,
73
+ ]),
74
+ Float64Array.from([
75
+ 0.4185367457753471441471025246471931649633, 0.0, 0.0, 0.0, 0.0, 6.724547581906459363100870806514855026676,
76
+ -0.425444280164611790606983409697113064616, 3.343279153001265577811816947557982637749,
77
+ 0.617081663117537759528421117507709784737, -0.929966123939932833937749523988800852013,
78
+ -6.099948804751010722472962837945508844846, -3.002206187889399044804158084895173690015,
79
+ 0.2553202529443445472336424602988558373637,
80
+ ]),
81
+ Float64Array.from([
82
+ -0.779374086122884664644623040843840506343, 0.0, 0.0, 0.0, 0.0, -13.93734253810777678786523664804936051203,
83
+ 1.252048853379357320949735183924200895136, -14.69150040801686878191527989293072091588,
84
+ -0.494705058533141685655191992136962873577, 2.242974909146236657906984549543692874755,
85
+ 13.36789380382864375813864978592679139881, 14.39665048665068644512236935340272139005,
86
+ -0.7975813331776800379127866056663258667437, 0.4409353709534277758753793068298041158235,
87
+ ]),
88
+ Float64Array.from([
89
+ 2.058051337466886442151242368989994043993, 0.0, 0.0, 0.0, 0.0, 22.35793772796803295519317565842520212899,
90
+ 0.90949810997556332745009198137971890783, 35.89110098240264104710550686568482456493,
91
+ -3.442515027624453437985000403608480262211, -4.865481358036368826566013387928704014496,
92
+ -18.90980381354342625688427480879773032857, -34.26354448030451782929251177395134170515,
93
+ 1.264756521695642578827783499806516664686, 0.0, 0.0,
94
+ ]),
95
+ ];
96
+ ch_ = Float64Array.from([
97
+ 0.1996996514886773085518508418098868756464e-1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
98
+ 2.191499304949330054530747099310837524864, 0.8857071848208438030833722031786358862953e-1,
99
+ 0.1140560234865965622484956605091432032674, 0.2533163805345107065564577734569651977347,
100
+ -2.056564386240941011158999594595981300493, 0.340809679901311993516009489422454381283, 0.0, 0.0,
101
+ 0.4834231373823958314376726739772871714902e-1,
102
+ ]);
103
+ c_ = Float64Array.from([
104
+ 0.1461197685842315252051541915018784713459e-1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
105
+ -0.391521186233133908941022826728824203081, 0.2310932500289506415909675644868993669908,
106
+ 0.1274766769992852382560589467488989175618, 0.2246434176204157731566981937082069688984,
107
+ 0.5684352689748512932705226972873692126743, 0.5825871557215827200814768021863420902155e-1,
108
+ 0.1364317403482215641609022744494239843327, 0.3057013983082797397721005067920369646664e-1, 0.0,
109
+ ]);
110
+ get a() {
111
+ return this.a_;
112
+ }
113
+ get b() {
114
+ return this.b_;
115
+ }
116
+ get ch() {
117
+ return this.ch_;
118
+ }
119
+ get c() {
120
+ return this.c_;
121
+ }
122
+ get order() {
123
+ return 8;
124
+ }
125
+ }
126
+ //# sourceMappingURL=RungeKutta89Propagator.js.map