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

[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