![]() |
Gravity Engine 2 9.0
|
Code to propagate SGP4 satellites i.e. satellites in Earth orbit with modeling for atmosphere, oblate gravity, moon, sun etc. More...
Classes | |
| struct | PropInfo |
Static Public Member Functions | |
| static bool | Evolve (double tSec, ref NativeArray< PropInfo > propInfo, int i, ref GEBodyState state, double scaleLtoKm, double scaleKmsecToV, double startTimeJD) |
| Evolve an SGP4 propagator to a given time. | |
| static bool | EvolveAll (double tSec, ref GEPhysicsCore.GEBodies bodies, ref NativeArray< PropInfo > propInfo, in NativeArray< GEPhysicsCore.PatchInfo > patchInfo, in NativeArray< int > indices, int lenIndices, double scaleLtoKm, double scaleKmsecToV, double startTimeJD) |
| GE entry point, to evolve a set of SGP4 bodies as defined by the indices index list. | |
| static void | ManeuverPropagator (int bodyIndex, double tSec, double timeJD, ref GEPhysicsCore.GEBodies bodies, ref NativeArray< PropInfo > sgp4Props, double scaleLtoKm, double scaleKmSecToV) |
| Change the state of an SGP4 propagator from a maneuver. Current r, v have been updated, so re-calculate the SGP4 state. Blend the result back to the current SGP4 state over a short period, typically 2% of the orbit period. | |
| static PropInfo | ReInit (double tSec, double timeJD, double3 rKm, double3 vKm, Orbital.COE coeKm, ref SGP4SatData satData, PropInfo pInfo) |
| Re-initialize an SGP4 propagator from RV info. | |
| static int double3 double3 Orbital.COEStruct coe | RVforTime (ref SGP4SatData satData, double timeJD, double scaleLToKm, double scaleKmsecToV) |
Static Public Attributes | |
| const int | EARLY_PROPAGATION_ERROR = 2 |
| static int | error |
| Used in direct propagation mode, typically with an explicitly created SGP4 propagator that was created in test or user code (and not from within GE). | |
| const int | OK = 0 |
| static int double3 | r |
| const int | SGP4_ERROR = 1 |
| static int double3 double3 | v |
Code to propagate SGP4 satellites i.e. satellites in Earth orbit with modeling for atmosphere, oblate gravity, moon, sun etc.
This code assumes the Earth is at the center of physics space.
Not hard to C&P the center body code from Kepler but seems like an uncommon use-case, so wait until someone asks....
|
static |
Evolve an SGP4 propagator to a given time.
This entry point is used by StateForIdAtTime to evolve an SGP4 propagator to a given time.
| tSec | |
| propInfo | |
| i | |
| state | |
| scaleLtoKm | |
| scaleKmsecToV | |
| startTimeJD |
|
static |
GE entry point, to evolve a set of SGP4 bodies as defined by the indices index list.
Individual bodies may have different outcomes (decay, early propagation error) etc. This is indicated by setting the status field of the PropInfo struct and setting a return flag. The caller must then check all bodies.
| tSec | time in seconds |
| bodies | |
| propInfo | |
| patchInfo | |
| indices | |
| scaleLtoKm | |
| scaleKmsecToV | |
| startTimeJD |
|
static |
Change the state of an SGP4 propagator from a maneuver. Current r, v have been updated, so re-calculate the SGP4 state. Blend the result back to the current SGP4 state over a short period, typically 2% of the orbit period.
| bodyIndex | |
| timeJD | |
| bodies | |
| sgp4Props | |
| scaleLtoKm |
|
static |
Re-initialize an SGP4 propagator from RV info.
Setup blending to the current SGP4 state over a short period, typically 5% of the orbit period.
PropInfo struct is copied by value, so return after updating.
| tSec | |
| timeJD | |
| rKm | |
| vKm | |
| coeKm | |
| satData | |
| pInfo |
|
static |
Used in direct propagation mode, typically with an explicitly created SGP4 propagator that was created in test or user code (and not from within GE).
Evolution for time earlier than the epoch is allowed.
| satData | |
| timeJD | |
| scaleLToKm | |
| scaleKmsecToV |