Celestia icon indicating copy to clipboard operation
Celestia copied to clipboard

Orbital precession

Open SevenSpheres opened this issue 4 years ago • 3 comments

Would be good to be able to specify orbital precession in ssc files. It would probably use a PrecessingOrbit block, similar to PrecessingRotation.

SevenSpheres avatar Jun 07 '20 01:06 SevenSpheres

From @pedro-fixingstuff on Discord:

how I imagine it would work

PrecessingOrbit
{
    Epoch
    SemiMajorAxis
    Period
    Eccentricity
    Inclination
    AscendingNode
    ArgOfPericenter
    MeanAnomaly
    NodePeriod
    PericenterPeriod
}

SevenSpheres avatar Jun 07 '20 02:06 SevenSpheres

From TTarrants on Discord, posting here because it's related

Remember when we talked about the possibility of Celestia displaying precessing orbits?

PrecessingOrbit
{
   Epoch _float_
   Period _float_
   PrecessionAxisInclination _float_
   PrecessionAxisNode _float_
   MeanAnomaly _float_
}

^ Or something to that effect. It might also be interesting to have a block for decaying orbits.

DecayingOrbit
{
   Epoch _float_ # Epoch of semi-major axis.
   DecayRate _float_ # dP/dt in seconds per year at epoch.
   DecayRateChange _float_ # d^2P/dt^2 in seconds per year.
}

(of course negative decay rate values could produce expanding orbits) The WASP-12b paper got me thinking about this because eventually because the orbital period is evolving, there is going to be a mismatch between literature transit times and transit times as they are observed in Celestia. Granted, I haven't done the base amount of effort to determine how big an issue this is going to be over our lifetimes. Probably not much I suspect.

Another concern would be a need to modify the orbital period in some way. Perhaps that could be done automatically. The period at some time t _0 will be a certain ratio of what it was at t _1 regardless of what the user provides as the stated orbital period in EllipticalOrbit.

... or maybe DecayingPeriod might be what we should define since that is usually the observed parameter.

SevenSpheres avatar Dec 07 '20 19:12 SevenSpheres

From pedro again:

From the suggestions thrown here and on other channels about modelling orbital precession and evolution, I came up with the idea to add a one-size-fits-all DynamicOrbit block, which I think could look like this:

DynamicOrbit
{
    Epoch
    Period
    SemiMajorAxis
    Eccentricity
    Inclination
    AscendingNode
    ArgOfPericenter
    MeanAnomaly
    NodePeriod
    ApsisPeriod
    PeriodChange or SemiAxisChange
    LowerClamp
    UpperClamp
}

Most of the names should be self-explanatory, but I imagine the LowerClamp and UpperClamp as ways to limit the changes in semi-major axis/period to a certain range of values or a period of time.

SevenSpheres avatar Dec 21 '20 18:12 SevenSpheres