[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Osculating



Le 30/03/2017 à 10:12, RHONE, Quentin a écrit :
> Hello,

Hi Quentin,

I'm sorry for the late reply, I forgot about your mail after having read it.

> I am trying to compute mean elements via the computeMeanState method from DSSTPropagator class.
> I have faced the same error as Elisabet so I switched Orekit to 9.0-SNAPSHOT version and Hipparchus to the matching 1.1-SNAPSHOT  version.
> This in-dev version does include the patch that was provided by Luc in September but but latest 9.0-SNAPSHOT throws a similar error when I run my code :
> 
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 29
> 	at org.orekit.propagation.semianalytical.dsst.forces.DSSTZonal$ZonalShortPeriodicCoefficients.value(DSSTZonal.java:1057)
> 	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeOsculatingOrbit(DSSTPropagator.java:562)
> 	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanOrbit(DSSTPropagator.java:511)
> 	at org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanState(DSSTPropagator.java:368)
> 
> Is the bug now resolved in Orekit/Hipparchus and my configuration is not ok or do you have the same problem ?

Looking at the code, it seems to me this occurs when the max frequency
setting is below its maximum value, which should be an allowed setting.

So I modified the code to correctly check the bounds, both at the line
where the exception was triggered in your case and in another method
elsewhere in the same class. The fix has been committed and pushed
to the master branch in the git repository.

Could you check if this works for you?

Note that since Hipparchus 1.1 was released a few weeks ago the
dependency of the master branch is now on the officiel 1.1 and
not on the 1.1-SNAPSHOT anymore.

best regards,
Luc


> Best regards,
> 
> Quentin
> 
> 
> 
> 
> -----Original Message-----
> From: orekit-users-request@orekit.org [mailto:orekit-users-request@orekit.org] On Behalf Of Luc Maisonobe
> Sent: Monday, July 11, 2016 3:50 PM
> To: orekit-users@orekit.org
> Subject: Re: [Orekit Users] Osculating
> 
> Le 11/07/2016 à 14:10, CID BOROBIA Elisabet a écrit :
>> Hello,
> 
> Hi Elisabet,
>>
>> I am using:
>> maxDegreeShortPeriodics=15
>> maxEccPowShortPeridocs=13
>> maxFrequencySortPeridics=28
> 
> Thanks. There really seem to be a problem in the boundary checks.
> 
> Could you try to apply the attached patch and see if things improve?
> There may be some line shifts in the patch because I have created it
> from the current development version based on Hipparchus, which is
> different from the 7.x series.
> 
> best regards,
> Luc
> 
>>
>> Elisabet CID BOROBIA
>> Thales Alenia Space
>>
>> -----Mensaje original-----
>> De: orekit-users-request@orekit.org [mailto:orekit-users-request@orekit.org] En nombre de Luc Maisonobe
>> Enviado el: lundi 11 juillet 2016 14:00
>> Para: orekit-users@orekit.org
>> Asunto: Re: [Orekit Users] Osculating
>>
>> Le 11/07/2016 à 13:43, Elisabet a écrit :
>>> Hello,
>>
>> Hi Elisabet,
>>
>>>
>>> Using the DSSTPropagator, I am having problems to transform from 
>>> osculating parameters to mean parameters through the method 
>>> DSSTPropagator.computeMeanState. Do you have any idea of why it does 
>>> not work properly?
>>> It gives me the following thread:
>>> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 29
>>> 	at org.orekit.propagation.semianalytical.dsst.forces.DSSTZonal
>>> $FourierCjSjCoefficients.getCj(DSSTZonal.java:1896)
>>> 	at
>>> org.orekit.propagation.semianalytical.dsst.forces.DSSTZonal.computeCijSijCoefficients(DSSTZonal.java:762)
>>> 	at
>>> org.orekit.propagation.semianalytical.dsst.forces.DSSTZonal.updateShortPeriodTerms(DSSTZonal.java:662)
>>> 	at
>>> org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanOrbit(DSSTPropagator.java:508)
>>> 	at
>>> org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanS
>>> tate(DSSTPropagator.java:369)
>>
>> It seems that there is a problem in the various max indices.
>>
>> I think you have maxFrequencyShortPeriodics = 28 and maxDegreeShortPeriodics > 15 and it seems one loop using these parameters fails. I am not sure yet if the javadoc is wrong about the relationship between these two parameters, or the interval check is wrong.
>>
>> Could you tell us what are the values you used for building DSSTZonal?
>>
>> best regards,
>> Luc
>>
>>>
>>> Best regards,
>>>
>>> Elisabet
>>>
> 
> 
> This mail has originated outside your organization, either from an external partner or the Global Internet.
> Keep this in mind if you answer this message.
> 
> 
> ***************************************************************
> Ce courriel (incluant ses eventuelles pieces jointes) peut contenir des informations confidentielles et/ou protegees ou dont la diffusion est restreinte. Si vous avez recu ce courriel par erreur, vous ne devez ni le copier, ni l'utiliser, ni en divulguer le contenu a quiconque. Merci d'en avertir immediatement l'expediteur et d'effacer ce courriel de votre systeme. Airbus Defence and Space et les sociétés Airbus Group declinent toute responsabilite en cas de corruption par virus, d'alteration ou de falsification de ce courriel lors de sa transmission par voie electronique.
> This email (including any attachments) may contain confidential and/or privileged information or information otherwise protected from disclosure. If you are not the intended recipient, please notify the sender immediately, do not copy this message or any attachments and do not use it for any purpose or disclose its content to any person, but delete this message and any attachments from your system. Airbus Defence and Space and Airbus Group companies disclaim any and all liability if this email transmission was virus corrupted, altered or falsified. 
> ---------------------------------------------------------------------
> Airbus Defence and Space SAS (393 341 516 RCS Versailles) - Capital: 16.587.728 EUR - Siege social: 51-61 Route de Verneuil, 78130 Les Mureaux, France
>