Numerical propagation and DSST propagation with osculating elements fails
The following orbit cannot be propagated with neither the numerical propagator nor with the dsst propagator if the orbital elements are considered as osculating:
Osculating elements:
a (km) = 13378.0
e = 0.05
i (deg) = 0.0
raan (deg) = 180.0
argument of perigee (deg) = 0.0
mean anomaly (deg) = 0.0
Satellite mass: 45Kg
The perturbations are:
Central body potential: 8x8
3rd body: Sun, Moon
Atmospheric Drag: Yes, cd = 2.1, surface = 180m2
Solar Radiation Pressure: Yes, cr = 1.2, surface = 180m2
The error generated by the numerical propagator is:
org.orekit.errors.PropagationException: function values at endpoints do not have different signs, endpoints: [0.01, �], values: [�, �]
at org.orekit.errors.PropagationException.unwrap(PropagationException.java:108)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:463)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:374)
at eu.esa.dsst.DSSTLauncher.runNumericalPropagation(DSSTLauncher.java:1199)
at eu.esa.dsst.DSSTLauncher.run(DSSTLauncher.java:924)
at eu.esa.dsst.DSSTLauncher.main(DSSTLauncher.java:313)
Caused by: org.apache.commons.math3.exception.NoBracketingException: function values at endpoints do not have different signs, endpoints: [0.01, �], values: [�, �]
at org.apache.commons.math3.analysis.solvers.BracketingNthOrderBrentSolver.doSolve(BracketingNthOrderBrentSolver.java:193)
at org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:196)
at org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:201)
at org.apache.commons.math3.analysis.solvers.BracketingNthOrderBrentSolver.solve(BracketingNthOrderBrentSolver.java:399)
at org.apache.commons.math3.ode.events.EventState.evaluateStep(EventState.java:273)
at org.apache.commons.math3.ode.AbstractIntegrator.acceptStep(AbstractIntegrator.java:340)
at org.apache.commons.math3.ode.nonstiff.EmbeddedRungeKuttaIntegrator.integrate(EmbeddedRungeKuttaIntegrator.java:303)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:438)
The error generated by the dsst propagator is:
org.orekit.errors.PropagationException: function values at endpoints do not have different signs, endpoints: [100, �], values: [�, �]
at org.orekit.errors.PropagationException.unwrap(PropagationException.java:108)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:463)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:374)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:344)
at org.orekit.propagation.conversion.AbstractPropagatorConverter.createSample(AbstractPropagatorConverter.java:310)
at org.orekit.propagation.conversion.AbstractPropagatorConverter.convert(AbstractPropagatorConverter.java:149)
at org.orekit.propagation.conversion.OsculatingToMeanElementsConverter.convert(OsculatingToMeanElementsConverter.java:79)
at org.orekit.propagation.semianalytical.dsst.DSSTPropagator$MeanPlusShortPeriodicMapper.mapStateToArray(DSSTPropagator.java:371)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.createODE(AbstractIntegratedPropagator.java:479)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:427)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:374)
at eu.esa.dsst.DSSTLauncher.runDSSTPropagation(DSSTLauncher.java:1110)
at eu.esa.dsst.DSSTLauncher.run(DSSTLauncher.java:731)
at eu.esa.dsst.DSSTLauncher.main(DSSTLauncher.java:313)
Caused by: org.apache.commons.math3.exception.NoBracketingException: function values at endpoints do not have different signs, endpoints: [100, �], values: [�, �]
at org.apache.commons.math3.analysis.solvers.BracketingNthOrderBrentSolver.doSolve(BracketingNthOrderBrentSolver.java:193)
at org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:196)
at org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:201)
at org.apache.commons.math3.analysis.solvers.BracketingNthOrderBrentSolver.solve(BracketingNthOrderBrentSolver.java:399)
at org.apache.commons.math3.ode.events.EventState.evaluateStep(EventState.java:273)
at org.apache.commons.math3.ode.AbstractIntegrator.acceptStep(AbstractIntegrator.java:340)
at org.apache.commons.math3.ode.nonstiff.EmbeddedRungeKuttaIntegrator.integrate(EmbeddedRungeKuttaIntegrator.java:303)
at org.orekit.propagation.integration.AbstractIntegratedPropagator.propagate(AbstractIntegratedPropagator.java:438)
The integrator used is DormandPrince853Integrator. For the numerical propagation the minimum step is 1e-3, the maximum step is 1000d and the initial step is 1e-2. For the dsstpropagation the minimum step is the keplerian period / 100 , the maximum step is the keplerian period * 100 and the initial step is the keplerian perion * 10
Both propagations also fail if a ClassicalRungeKuttaIntegrator with a 400seconds step is used.
(from redmine: issue id 157, created on 2013-12-05, closed on 2013-12-05)