Radiation coefficient of 0.0 has influence on propagation

Hello everyone !

When adding a Solar Radiation Pressure force to my numerical propagator, even when using a reflection coefficient equal to 0, an effect is visible. But from what I understand, a Cr = 0 should mean that the spacecraft is considered translucent to incoming radiation, so using Cr = 0 should be equivalent to not using a Solar Radiation Pressure force right ?

So I must be missing something, thank you very much for your help !

Hi @AlexisPrz, welcome

This may be related to eclipses.
When solar radiation pressure is activated, it internally activates event detectors for eclipse entry and exit, and when these events occur, the propagator truncates the current step at event date and forces a recomputation of acceleration just after the event. It does so regardless of the fact coefficient is 0 or not. Truncating the step does affect the rest of the propagation, but it should be a tiny effect, consistent with the step control settings.

Hi @AlexisPrz,
Welcome to the forum !

You’re right, that is if you’re using an IsotropicRadiationClassicalConvention.
What model are you using?

Some little differences may occur even with Cr=0 because of the eclipse detectors added by the SolarRadiationPressure force model.
These detectors are used to compute a ratio of illumination (1 in full daylight, 0 in umbra and in ]0,1[ in penumbra) directly applied to the force.
Their presence will change the integration steps, thus changing the final results.
If you’ve set up your integrator with a loose precision (like a big maxStep or tolerance), then the final results can differ quite a lot.

Hope this helps,
Maxime

Ah ah :slight_smile:
Sorry @luc you were too fast on this one.

Thank you very much to the both of you for your very helpful and interesting answers !

To answer your question @MaximeJ, I am using an IsotropicRadiationSingleCoefficient model ! Currently, I am using it by calling the constructor IsotropicRadiationSingleCoefficient (double crossSection, double cr)

I also tried the constructor `IsotropicRadiationSingleCoefficient(double crossSection,
double cr, double crMin, double crMax) with crMin = 0 and crMax = 2.0
I was trying to build the “classical” model where Cr=0 means no radiation pressure Force, Cr = 1 means all the radiation is absorbed by the spacecraft and Cr = 2 means all the radiation is reflected by the spacecraft and twice the force is transmitted to it

First of all, is it a correct way of doing it ? And secondly, I tried this model with Cr = 0 and still saw an impact on propagation, but I guess this is due to the event detectors for eclipses you mentionned ?

To give you an idea of the precision of my integrator, I am using the Orekit tutorial on Numerical Propagation to which I simply added a solar radiation pressure force. And after 5 days of propagation, for example I observe a difference of 2500 m on the X component of the position between the two cases : no solar radiation pressure and solar radiation pressure with Cr = 0

Thank you again for your help !

Yes. The crMin/crMax will be used only if you do an orbit determination (it’s the allowed boundaries for the Cr during the OD).
Otherwise, it’s useless.

Try with a maxStep of 100s instead of 1000s or a positionTolerance of 1e-3 instead of 10. I think it should reduce the difference.

Thank you very much for your response : indeed, defining a more accurate integrator with the parameters that you proposed reduces drastically the difference !

So I guess my last question would be (and sorry for bothering you once again :blush: ) : since I am NOT carrying out an OD, how could I proceed to simulate the following model : Cr=0 means no radiation pressure Force, Cr = 1 means all the radiation is absorbed by the spacecraft and Cr = 2 means all the radiation is reflected by the spacecraft and twice the force is transmitted to it ? By using the IsotropicRadiationClassicalConvention instead of the SingleCoefficient one ?

Thanks again !