SpecializedOrbitSolverCreateRepeatGroundTraceSunSynchronousOrbitUsingApproximateAltitude Method |
Creates a circular orbit that exactly repeats its ground trace after a specified number of revolutions under
the influence of J2 perturbations. Its right ascension of the ascending node drifts under J2 perturbations
at the same rate as the central body's orbit around the Sun (Sun-synchronous). The combination of the two effects
enables this orbit to revisit its exact original ascending node longitude at exactly the same local solar time
(and therefore the same lighting conditions) after the specified number of revolutions is completed.
Namespace:
AGI.Foundation.Propagators
Assembly:
AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.2.419.0 (24.2.419.0)
Syntax public static J2Propagator CreateRepeatGroundTraceSunSynchronousOrbitUsingApproximateAltitude(
JulianDate guessOrbitEpoch,
ReferenceFrame inertialFrame,
ReferenceFrame fixedFrame,
double approximateAltitude,
Duration ascendingNodeLocalTime,
int numberRevsToRepeat,
double ascendingNodeLongitude,
double gravitationalParameter,
double j2UnnormalizedValue,
double referenceDistance,
double planetaryMeanMotion,
bool isObliquityLessThan90Degrees
)
Public Shared Function CreateRepeatGroundTraceSunSynchronousOrbitUsingApproximateAltitude (
guessOrbitEpoch As JulianDate,
inertialFrame As ReferenceFrame,
fixedFrame As ReferenceFrame,
approximateAltitude As Double,
ascendingNodeLocalTime As Duration,
numberRevsToRepeat As Integer,
ascendingNodeLongitude As Double,
gravitationalParameter As Double,
j2UnnormalizedValue As Double,
referenceDistance As Double,
planetaryMeanMotion As Double,
isObliquityLessThan90Degrees As Boolean
) As J2Propagator
public:
static J2Propagator^ CreateRepeatGroundTraceSunSynchronousOrbitUsingApproximateAltitude(
JulianDate guessOrbitEpoch,
ReferenceFrame^ inertialFrame,
ReferenceFrame^ fixedFrame,
double approximateAltitude,
Duration ascendingNodeLocalTime,
int numberRevsToRepeat,
double ascendingNodeLongitude,
double gravitationalParameter,
double j2UnnormalizedValue,
double referenceDistance,
double planetaryMeanMotion,
bool isObliquityLessThan90Degrees
)
static member CreateRepeatGroundTraceSunSynchronousOrbitUsingApproximateAltitude :
guessOrbitEpoch : JulianDate *
inertialFrame : ReferenceFrame *
fixedFrame : ReferenceFrame *
approximateAltitude : float *
ascendingNodeLocalTime : Duration *
numberRevsToRepeat : int *
ascendingNodeLongitude : float *
gravitationalParameter : float *
j2UnnormalizedValue : float *
referenceDistance : float *
planetaryMeanMotion : float *
isObliquityLessThan90Degrees : bool -> J2Propagator
Parameters
- guessOrbitEpoch
- Type: AGI.Foundation.TimeJulianDate
An initial guess for the epoch associated with the initial conditions of the propagated orbit. - inertialFrame
- Type: AGI.Foundation.GeometryReferenceFrame
An inertial ReferenceFrame centered at the central body. - fixedFrame
- Type: AGI.Foundation.GeometryReferenceFrame
A fixed ReferenceFrame centered at the central body. - approximateAltitude
- Type: SystemDouble
Either enter the approximate desired altitude for the repeat ground trace orbit
or the approximate number of revolutions per day. The method iterates to find the closest exact match. - ascendingNodeLocalTime
- Type: AGI.Foundation.TimeDuration
The local solar time of the ascending node in central body seconds past central body midnight. - numberRevsToRepeat
- Type: SystemInt32
The number of revolutions until the ground trace exactly repeats. - ascendingNodeLongitude
- Type: SystemDouble
The longitude of the ascending node in the fixedFrame of the central body. - gravitationalParameter
- Type: SystemDouble
The gravitational parameter of the central body. - j2UnnormalizedValue
- Type: SystemDouble
The non-normalized J2 parameter of the central body. - referenceDistance
- Type: SystemDouble
The equatorial radius of the central body that also serves as a reference distance for the J2 parameter. - planetaryMeanMotion
- Type: SystemDouble
The mean motion of the central body about the Sun. (The central body must be orbiting the Sun.) - isObliquityLessThan90Degrees
- Type: SystemBoolean
Sets the orbit to be retrograde if true (for Earth and other planets with posigrade rotations
but retrograde Sun-synchronous orbits) or posigrade if false (for Uranus with a retrograde rotation but a posigrade Sun-synchronous orbit).
Venus also has a retrograde rotation, but does not have strong enough J2 perturbations to support Sun-synchronous orbits.
Return Value
Type:
J2Propagator
A
J2Propagator object that is initialized at its ascending node with the desired local solar time of ascending node,
orbital elements, and gravity field. Usually, its epoch will be different from the input guess epoch unless the longitude of the ascending node,
the local solar time at ascending node, and the input guess epoch are consistent with each other by design or chance.
Exceptions Exception | Condition |
---|
ArgumentNullException |
Thrown when inertialFrame or fixedFrame is .
|
ArgumentOutOfRangeException |
Thrown when approximateAltitude is negative,
when numberRevsToRepeat is zero or negative,
or when planetaryMeanMotion is less than or equal to zero.
|
ArithmeticException |
Thrown when calculated rotation rate is zero due to incorrect inertial or fixed frame input,
or when a Sun-synchronous orbit does not exist for the given input conditions.
|
See Also