Click or drag to resize

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: 22.2.414.0 (22.2.414.0)
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


Type: AGI.Foundation.TimeJulianDate
An initial guess for the epoch associated with the initial conditions of the propagated orbit.
Type: AGI.Foundation.GeometryReferenceFrame
An inertial ReferenceFrame centered at the central body.
Type: AGI.Foundation.GeometryReferenceFrame
A fixed ReferenceFrame centered at the central body.
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.
Type: AGI.Foundation.TimeDuration
The local solar time of the ascending node in central body seconds past central body midnight.
Type: SystemInt32
The number of revolutions until the ground trace exactly repeats.
Type: SystemDouble
The longitude of the ascending node in the fixedFrame of the central body.
Type: SystemDouble
The gravitational parameter of the central body.
Type: SystemDouble
The non-normalized J2 parameter of the central body.
Type: SystemDouble
The equatorial radius of the central body that also serves as a reference distance for the J2 parameter.
Type: SystemDouble
The mean motion of the central body about the Sun. (The central body must be orbiting the Sun.)
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.
ArgumentNullException Thrown if inertialFrame or fixedFrame is .
ArgumentOutOfRangeException Thrown if approximateAltitude is negative, if numberRevsToRepeat is zero or negative, or if planetaryMeanMotion is less than or equal to zero.
ArithmeticException Thrown if calculated rotation rate is zero due to incorrect inertial or fixed frame input. Also, thrown if a Sun-synchronous orbit does not exist for the given input conditions.
See Also