# Problem with finite maneuver

Dear everyone,

The calculation result of constant thrust maneuver using the normal direction force is inconsistent with the calculation result in stk11.2. This is my code

``````
Frame eme2000 = FramesFactory.getEME2000();
final AbsoluteDate date = new AbsoluteDate(new DateComponents(2023, 12, 02),
new TimeComponents(02, 00, 00.000),
TimeScalesFactory.getUTC());
final Orbit orbit = new KeplerianOrbit(7478140, 0.000540432, FastMath.toRadians(28.5),
eme2000, date,
Constants.EIGEN5C_EARTH_MU);
SpacecraftState initState = new SpacecraftState(initialOrbit, spacecraftObj.getMass());
OrbitType orbitType = OrbitType.CARTESIAN;
double[][] tolerance = NumericalPropagator.tolerances(1.0, initialOrbit, orbitType);
AdaptiveStepsizeIntegrator integrator = new DormandPrince853Integrator(0.001, 500, tolerance[0], tolerance[1]);
integrator.setInitialStepSize(60);
NumericalPropagator propagator = new NumericalPropagator(integrator);
propagator.setOrbitType(orbitType);
propagator.setInitialState(initState);
propagator.setAttitudeProvider(new LofOffset(eme2000, LOFType.VNC));
AbsoluteDate startDate = date.shiftedBy(600);
ManeuverTriggers triggers = new DateBasedManeuverTriggers(startDate, 600);

PropulsionModel propulsionModel = new BasicConstantThrustPropulsionModel(0.35,1400 ,
new Vector3D(0,1, 0), "propulsionModel");
PVCoordinates controlledState = propagator.getPVCoordinates(startDate.shiftedBy(600), FramesFactory.getEME2000());
``````

This is my comparison result

data epoch a e i raan pi mean
me 2023-12-02 02:20:00.000 7481379.756009488 0.00031268 28.502879 359.945028 204.692 311.488
stk 2023-12-02 02:20:00.000 7481380.952 0.00031273 28.513028 359.926813 204.684 311.512

It seems that there is a significant difference between the inclination angle and the right ascension of the ascending node. What is the reason for this

Best regards,
dreamdongx

Hi there,

Just to double check: you’re coasting for 600 seconds and then manoeuvring with constant thrust in a local orbital frame for 600 more, correct?

Three remarks I have on the code.

• you shouldn’t have to add the Newtonian attraction from the central body, it normally comes automatically if you define the initial state with an Orbit object. I actually don’t understand why you’re not getting crazy results as if Mu was doubled. There must be a check in the library that I forgot about.
• you pass 1 meter for your expected error in your tolerances, I would make that smaller, by a factor 100 or 1000. Since you’re in LEO I would also decrease the maximum stepsize to 100 seconds. You might be getting too much integration noise as is.
• you could use `ConstantManeuver` to define your burn. It wrapps the `DateBasedManeuverTrigger` already

Cheers,
Romain.

Thank you for your help. I followed your advice and tested it, and obtained the same results as before. I temporarily changed thrust/2 to achieve the expected results
Regards,
Dreamdongx

Hi @dreamdongx,

I don’t understand, you’re saying you have to halve the thrust in Orekit to have the same result as with your reference program?
If yes, there must be a configuration problem somewhere in your code…

Cheers,
Maxime