Wrong Kepler contribution in FieldNumericalPropagator with OrbitType null
The method addKeplerContribution()
of the inner class Main
of FieldNumericalPropagator
does not correctly computes the velocity derivative if superGetOrbitType == null
.
Lines 558-562 should read:
final FieldVector3D<T> position = currentState.getPVCoordinates().getPosition();
final T r2 = position.getNormSq();
final T coeff = r2.multiply(r2.sqrt()).reciprocal().negate().multiply(mu);
yDot[3] = yDot[3].add(coeff.multiply(position.getX()));
yDot[4] = yDot[4].add(coeff.multiply(position.getY()));
yDot[5] = yDot[5].add(coeff.multiply(position.getZ()));
and not call the getReal()
method of T
type variables. The computed acceleration should match the one computed with OrbitType.CARTESIAN
and given by the addKeplerContribution()
method in FieldCartesianOrbit
.