Orekit merge requestshttps://gitlab.orekit.org/orekit/orekit/-/merge_requests2022-09-16T14:17:31Zhttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/298Fix issue 924: Numerical noise in ThrustPropulsionModel and tests2022-09-16T14:17:31ZMaxime JournotFix issue 924: Numerical noise in ThrustPropulsionModel and testsFixes #924.
@evanward1 , I put you as reviewer as you opened the issue.
I simply removed the incriminated comments.
There is indeed a numerical difference when doing:
1. `acc = new Vector3D(thrust / s.getMass(), maneuverAttitude.get...Fixes #924.
@evanward1 , I put you as reviewer as you opened the issue.
I simply removed the incriminated comments.
There is indeed a numerical difference when doing:
1. `acc = new Vector3D(thrust / s.getMass(), maneuverAttitude.getRotation().applyInverseTo(direction));` (current code)
2. `acc = new Vector3D(1. / s.getMass(), maneuverAttitude.getRotation().applyInverseTo(thrustVector));` (better code?)
(or the `Field` equivalent of these)
It's a small difference due to the usage of `getNorm()` for the module (about 1e-17/18 on the acceleration norm in the tests I have checked).
The thing is, before we changed the `maneuvers` package it was like (1) and we left it like this.
Mostly because some tests in `PolynomialAccelerationTest` and `HarmonicAccelerationModelTest` compare the outputs of propagation to a propagation with an equivalent maneuver.
Since the definition of the forces is given like (1) in `PolynomialAcceleration` and `HarmonicAccelerationModel` tests, the differences are all zeros.
If we use (2) in `ThrustPropulsionModel`, numerical differences appear because of integration of the acceleration during propagation.
(See for example `PolynomialAccelerationTest#testEquivalentTangentialManeuver`)
Maybe the tolerances are too tight but I don't feel like changing all the tolerances of the tests for this small change.
Tell me what you think.11.3https://gitlab.orekit.org/orekit/orekit/-/merge_requests/290Added collision package2022-08-17T07:04:11ZVincent CUCCHIETTIvincent.cucchietti@csgroup.euAdded collision package# Collision package
<p>Added the collision package which contains the CollisionDefinition class as well as multiple methods to compute the probability of collision between two collision object.</p>
## Probability of collision
<p>The fo...# Collision package
<p>Added the collision package which contains the CollisionDefinition class as well as multiple methods to compute the probability of collision between two collision object.</p>
## Probability of collision
<p>The following probability of collision computing methods were added :
<ol>
<li>Foster1992 (recommended method)</li>
<li>Alfriend1999 (maximum probability of collision method)</li>
<li>AlfriendMax1999 (maximum probability of collision method)</li>
<li>Chan2008</li>
<li>Alfano2005</li>
<li>Serra2015 (recommended method)</li>
</ol>
</p>
<p>In addition, the CollisionDefinition class completely defines the collision between two given collision object. Its main outputs are :
<ul>
<li>Mahalanobis distance.</li>
<li>Diagonalized combined covariance in the collision plane.</li>
<li>The projected position of the secondary collision object onto the rotated collision plane (primary collision object at the origin).</li>
</ul> </p>
## FrameTools
<p> Added the FrameTools class in the frames package in order to convert to other frame from/to CCSDS Frame facade or Orekit Frame.</p>
## ExtremumApproachDetector
<p>Added the ExtremumApproachDetector, in the propagation.events package, which detects farthest and closest approach with another given PVCoordinates provider.</p>
# Other (Independent from the collision package)
## IntegratorBuilder
Added the possibility to create an ODEIntegratorBuilder from an AbsolutPVCoordinates by using the already existing NumericalPropagator.tolerances(double dP, AbsolutePVCoordinates absPva) method.https://gitlab.orekit.org/orekit/orekit/-/merge_requests/278Fixed date offsets just before whole seconds.2022-08-02T15:49:01ZLuc MaisonobeFixed date offsets just before whole seconds.Fixes #935
Fixes #939Fixes #935
Fixes #93911.2.1https://gitlab.orekit.org/orekit/orekit/-/merge_requests/281Fix issue #942: 'N/A' value not recognized for field MANEUVERABLE when parsin...2022-08-02T15:47:24ZGCFix issue #942: 'N/A' value not recognized for field MANEUVERABLE when parsing CDMs- Updated mechanism to read and write N/A values as Maneuverable enum
- Added CDM Parser test for the issue
- Added CDM Writer test for the issue- Updated mechanism to read and write N/A values as Maneuverable enum
- Added CDM Parser test for the issue
- Added CDM Writer test for the issue11.2.1https://gitlab.orekit.org/orekit/orekit/-/merge_requests/268Issue-790: Add writing of velocity record in CPF file writer2022-06-03T12:52:40ZGCIssue-790: Add writing of velocity record in CPF file writerFix issue #790
- Added a new CPFWriter constructor to include optional velocity flag
- Added a new writeEphemerisLine method to also write optional velocity record
- Filled in velocity record parser to CPFParser
- Added testFix issue #790
- Added a new CPFWriter constructor to include optional velocity flag
- Added a new writeEphemerisLine method to also write optional velocity record
- Filled in velocity record parser to CPFParser
- Added testhttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/239Replace sequential if-statements with switch-case2022-03-20T12:52:17ZLars Næsbye ChristensenReplace sequential if-statements with switch-case11.2https://gitlab.orekit.org/orekit/orekit/-/merge_requests/242Use enhanced for-loops2022-03-20T12:51:56ZLars Næsbye ChristensenUse enhanced for-loopsUse enhanced for-loops some places we iterate over an entire array or listUse enhanced for-loops some places we iterate over an entire array or list11.2https://gitlab.orekit.org/orekit/orekit/-/merge_requests/163Issue 7872022-02-03T14:47:40ZGhost UserIssue 787EcksteinHechlerPropagator and Test without using CartesianOrbitEcksteinHechlerPropagator and Test without using CartesianOrbithttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/200update JUnit2021-09-20T07:17:46ZLars Næsbye Christensenupdate JUnitMaintenance updating JUnit from 4.13.1 to 4.13.2Maintenance updating JUnit from 4.13.1 to 4.13.2https://gitlab.orekit.org/orekit/orekit/-/merge_requests/171Fix DateTimeComponents.toString()2021-08-19T17:32:22ZEvan WardFix DateTimeComponents.toString()Delegate to toStringRfc3339(). Previously toString() had three issues:
- could not print times during leap seconds
- could round up to invalid times when within 0.5 ms of the next minute
- generated invalid ISO 8601 because it left ou...Delegate to toStringRfc3339(). Previously toString() had three issues:
- could not print times during leap seconds
- could round up to invalid times when within 0.5 ms of the next minute
- generated invalid ISO 8601 because it left out the time zone
The last point also lost information because the time zone information
was never printed leading to two dates with the same local time having
the same string representation.
The implementation in toStringRfc3339() fixes these issues for all
reasonable dates, but is not backwards compatible with the existing
implementation. In particular it will include the time zone information
and emit more digits to avoid rounding up.
Fix #59011.0https://gitlab.orekit.org/orekit/orekit/-/merge_requests/173Draft: Display and track coverage global value2021-08-12T09:54:02ZGuilhem BonnefilleDraft: Display and track coverage global valueBryan CazabonneBryan Cazabonnehttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/159Draft: Please don't merge it into develop2021-04-30T09:04:52ZBryan CazabonneDraft: Please don't merge it into developTest branch.
Don't merge it into developTest branch.
Don't merge it into develophttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/29Issue #5552021-03-10T10:40:44ZGautreau DylanIssue #555Added pathDelay methods that take PVCoordinatesProvider for the satellite and the receiver for ionospheric models :
`pathDelay(AbsoluteDate date, PVCoordinatesProvider sat, PVCoordinatesProvider rec, BodyShape body, double frequency, do...Added pathDelay methods that take PVCoordinatesProvider for the satellite and the receiver for ionospheric models :
`pathDelay(AbsoluteDate date, PVCoordinatesProvider sat, PVCoordinatesProvider rec, BodyShape body, double frequency, double[] parameters)`
Also added tests to check consistency between pathDelay methods.11.0https://gitlab.orekit.org/orekit/orekit/-/merge_requests/140Update transl it2021-03-04T08:25:08ZChiara RusconiUpdate transl itUpdate of the italian translation of Orekit messagesUpdate of the italian translation of Orekit messageshttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/100Resolve "initial blanks in some gravity fields headers prevent loading them"2020-11-05T13:21:41ZLuc MaisonobeResolve "initial blanks in some gravity fields headers prevent loading them"Closes #731Closes #73110.3https://gitlab.orekit.org/orekit/orekit/-/merge_requests/99Resolve "initial blanks in some gravity fields headers prevent loading them"2020-11-05T12:44:16ZLuc MaisonobeResolve "initial blanks in some gravity fields headers prevent loading them"Closes #731Closes #73110.3https://gitlab.orekit.org/orekit/orekit/-/merge_requests/94Issue 6012020-11-03T08:07:01ZThomas PauletIssue 601Changed visibility of method getPVInPZ90 from public to private in propagation.numerical.GLONASSNumericalPropagatorChanged visibility of method getPVInPZ90 from public to private in propagation.numerical.GLONASSNumericalPropagatorhttps://gitlab.orekit.org/orekit/orekit/-/merge_requests/92Issue 7022020-11-03T07:45:23ZThomas PauletIssue 702Add a first implementation of a multi Sun occulting object SRP force computation. Lighting ratio evolution over a year match the results given in "A Study of Solar Radiation Pressure acting on GPS Satellites", Laurent Olivier Froideval 2...Add a first implementation of a multi Sun occulting object SRP force computation. Lighting ratio evolution over a year match the results given in "A Study of Solar Radiation Pressure acting on GPS Satellites", Laurent Olivier Froideval 2009.https://gitlab.orekit.org/orekit/orekit/-/merge_requests/66Issue #6052020-05-15T08:47:03ZBryan CazabonneIssue #605Fix issue #605Fix issue #60510.2https://gitlab.orekit.org/orekit/orekit/-/merge_requests/31Develop2019-12-09T13:51:13ZGuilhem BonnefilleDevelop