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

*To*: orekit-developers@orekit.org*Subject*: Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters*From*: MAISONOBE Luc <luc.maisonobe@c-s.fr>*Date*: Fri, 11 Aug 2017 09:50:59 +0200*In-reply-to*: <1502398081.4386.159.camel@nrl.navy.mil>*References*: <1502378675.4386.139.camel@nrl.navy.mil> <ebcb9a09-2158-9826-03bf-aa94e58996a1@gmail.com> <1502398081.4386.159.camel@nrl.navy.mil>*User-agent*: Internet Messaging Program (IMP) H5 (6.2.3)

"Ward, Evan" <Evan.Ward@nrl.navy.mil> a écrit :

Hi Christophe, On Thu, 2017-08-10 at 17:59 +0200, Christophe LE BRIS wrote: Hi, With PartialDerivativeEquations, STM are given wrt cartesian parameters only. If you want to have it wrt Keplerian parameters, you need to compute the Jacobian "dKep/Cart" with the method computeJacobianMeanWrtCartesian in the class KeplerianOrbit (on the final state) and then use it to change of basis of your STM (the STM is a linear transformation).Thanks for the reply. I tried your suggestion and it worked well,once I made the tolerance a little tighter.What is PDE actually computing then when orbitType is not Cartesian?

I fear it only computes Jacobians of current Cartesian parameters with respect to initial Cartesian parameters.

I thought the mapper returned byPartialDerivativeEquations.getMapper() took care of convertingorbital element representations since it callsOrbit.getJacobianWrtCaresian() both when setting the initial STM andwhen retrieving the STM. [1-2] Should I add some documentationwarning the user to never use the PDE class with non-Cartesianelements?

we clearly use Cartesian only. Also since 9.0, we use a new DSConverter class to compute more accurately some derivatives (and also take care of the

clearly switches to Cartesian only, this is an oversight (and the classe also

This limitation should be removed. I would in fact be happy with a solution that completely rewrites this class from scratch and dumps it in favor of a cleaner implementation (well, deprecate it first to help users switch). I don't like this class and its clumsy API.

a break. best regards, Luc

[1]https://www.orekit.org/forge/projects/orekit/repository/revisions/master/entry/src/main/java/org/orekit/propagation/numerical/JacobiansMapper.java#L140[2]https://www.orekit.org/forge/projects/orekit/repository/revisions/master/entry/src/main/java/org/orekit/propagation/numerical/JacobiansMapper.java#L182Best Regards, Evan Christophe Le 10/08/2017 à 17:24, Ward, Evan a écrit : Hi, I'm trying to compute the State Transition Matrix (STM) for Keplerian orbit w.r.t. Keplerian parameters. I'm not sure if I'm doing it right so I thought I'd post my question here. So I'm trying to compute dx(t)/dx(0) where x = {a, e, i, arg. of perigee, RAAN, M (mean anomaly)}. According to Montenbruck & Gill (section 7.1.1 of Satellite Orbits) the result should be the identity matrix except for the dM(t)/da(0). term. In Orekit I've set the orbitType to Keplerian and the positionAngleType to Mean, but the result looks very different from what I would expect. I've attached my code and included the output below. The code is in groovy and it should be able to run if you want to try it. Am I doing something wrong? Is this a bug? Initial StateKeplerian parameters: {a: 6678137.0; e: 0.1; i: 50.0; pa: 0.0; raan:0.0; v: 0.0;}Final stateKeplerian parameters: {a: 6678137.0; e: 0.1; i: 50.0; pa: 0.0; raan:0.0; v: 359.9999999999999;}STM1.084033316 1048746.583 -1.881271601e-07338443.1765 217547.0804 689070.00958.986475977e-08 -0.4460115259 5.972999872e-14-0.2344750310 -0.1507176447 -0.5273227631-5.987960454e-21 1.482147738e-14 1.008352980-2.359223927e-15 0.003748479827 5.162537065e-15-1.049794901e-06 19.17181914 -0.0092573590111.103560184 0.05508206389 -1.3059942823.388131789e-21 9.503509091e-14 0.014401893999.742207041e-15 1.017867705 2.688127498e-147.973387020e-09 -23.67118846 1.041684976e-12-0.8494761263 -0.5460327287 0.9198999327Expected dM(t)/da(t0) -1.411288501683835E-6 Best Regards, Evan

**Follow-Ups**:**Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters***From:*"Ward, Evan" <Evan.Ward@nrl.navy.mil>

**References**:**[Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters***From:*"Ward, Evan" <Evan.Ward@nrl.navy.mil>

**Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters***From:*"Ward, Evan" <Evan.Ward@nrl.navy.mil>

- Prev by Date:
**Re: [Orekit Developers] [BUG] MariniMurrayModel** - Next by Date:
**Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters** - Previous by thread:
**Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters** - Next by thread:
**Re: [Orekit Developers] STM/Jacobians w.r.t. Keplerian Parameters** - Index(es):