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

RE: [Orekit Users] DSSTPropagator isOsculating



Hi Elisabet,

I did not manage to reproduce the issue you mention. Could you post an extract of the code you use to initialize the DSSTPropagator?
Also, test cases provided with Orekit are usually quite instructive when you are not sure of how to make use of a specific class. You should have a look at the DSSTPropagatorTest.java file.

Brian


-----Original Message-----
From: orekit-users-request@orekit.org [mailto:orekit-users-request@orekit.org] On Behalf Of elisabet.cid-borobia@thalesaleniaspace.com
Sent: mardi 22 mars 2016 09:33
To: orekit-users@orekit.org
Subject: [Orekit Users] DSSTPropagator isOsculating

Hello,

I am trying to propagate an orbit with DSSTPropagator and use isOsculating=true. However, I find problems due to the GravityFieldFactory.getUnnormalizedProvider(degree, order). If the order is not 0, it is not possible to propagate, giving an arithmetic error:
Exception in thread "main"
org.apache.commons.math3.exception.MathArithmeticException: erreur arithmétique
	at
org.apache.commons.math3.util.ArithmeticUtils.mulAndCheck(ArithmeticUtils.java:582)
	at
org.apache.commons.math3.util.ArithmeticUtils.mulAndCheck(ArithmeticUtils.java:552)
	at
org.apache.commons.math3.util.CombinatoricsUtils.binomialCoefficient(CombinatoricsUtils.java:126)
	at
org.apache.commons.math3.analysis.polynomials.PolynomialsUtils.shift(PolynomialsUtils.java:329)
	at
org.orekit.propagation.semianalytical.dsst.utilities.NewcombOperators
$PolynomialsGenerator.shiftList(NewcombOperators.java:326)
	at
org.orekit.propagation.semianalytical.dsst.utilities.NewcombOperators
$PolynomialsGenerator.computeFor(NewcombOperators.java:216)
	at
org.orekit.propagation.semianalytical.dsst.utilities.NewcombOperators
$PolynomialsGenerator.getPolynomials(NewcombOperators.java:175)
	at
org.orekit.propagation.semianalytical.dsst.utilities.NewcombOperators
$PolynomialsGenerator.access$000(NewcombOperators.java:104)
	at
org.orekit.propagation.semianalytical.dsst.utilities.NewcombOperators.getValue(NewcombOperators.java:86)
	at
org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenTesseralLinear
$HansenCoefficientsBySeries.generatePolynomial(HansenTesseralLinear.java:516)
	at
org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenTesseralLinear
$HansenCoefficientsBySeries.<init>(HansenTesseralLinear.java:472)
	at
org.orekit.propagation.semianalytical.dsst.utilities.hansen.HansenTesseralLinear.<init>(HansenTesseralLinear.java:100)
	at
org.orekit.propagation.semianalytical.dsst.forces.TesseralContribution.createHansenObjects(TesseralContribution.java:398)
	at
org.orekit.propagation.semianalytical.dsst.forces.TesseralContribution.initialize(TesseralContribution.java:334)
	at
org.orekit.propagation.semianalytical.dsst.forces.DSSTCentralBody.initialize(DSSTCentralBody.java:134)
	at
org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanOrbit(DSSTPropagator.java:507)
	at
org.orekit.propagation.semianalytical.dsst.DSSTPropagator.computeMeanState(DSSTPropagator.java:369)
	at
org.orekit.propagation.semianalytical.dsst.DSSTPropagator.getInitialIntegrationState(DSSTPropagator.java:580)
	at
org.orekit.propagation.integration.AbstractIntegratedPropagator.createODE(AbstractIntegratedPropagator.java:505)
	at
org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:443)
	at
org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:390)

Moreover, I would appreciate someone explaining me what is exactly the difference between this degree/order and the degree/order of the DSSTCentralBody. Because I was using the same order/degree in both methods. Is it needed to use all this different degrees and order for a simple development.

Regards,

Elisabet