LifetimeOrbitPropagator Class 
Namespace: AGI.Foundation.Propagators
The LifetimeOrbitPropagator type exposes the following members.
Name  Description  

LifetimeOrbitPropagator  Initializes a new instance. 
Name  Description  

AtmosphericDensity 
Gets or sets the model for atmospheric density. This includes the data to use for geomagnetic flux
and solar radiation. However, this instance will be copied and the TargetPoint
will be replaced during propagation with the position determined by this propagator.
 
CentralBody 
Gets or sets the instance to use to define the principal frame and shape of the central body.
By default, this is the EarthCentralBody from the CentralBodiesFacet.
 
DecayAltitude 
Gets or sets the altitude to use to determine when a satellite will permanently decay.
This is the point at which the orbit has decayed and calculations stop.
By default, this is 65,000 meters.
 
DragCoefficient 
Gets or sets the coefficient of drag associated with the aerodynamic profile of the satellite.
The propagator takes into account the ScalarAtmosphericDensity and DragCrossSectionalArea
and the drag coefficient provides a proportional measure of how much the body is affected by atmospheric drag.
This value must not be negative and is usually in the range between 2.0 and 2.2.
 
DragCrossSectionalArea 
Gets or sets the mean area of the satellite which is presented perpendicular to the relative velocity
of the atmosphere and produces drag. The area is measured in square meters and is often different
from the area used for reflectivity.
 
DurationLimit 
Gets or sets the maximum total time to spend propagating, based on the OrbitLimitType.
By default, this is set to 10 years.
 
InitialConditions 
Gets or sets the mean elements representing the initial conditions of the orbit. These elements
commonly represent the position in the "True of Date" frame.
 
InitialEpoch 
Gets or sets the time at which the InitialConditions are valid.
 
IsFrozen 
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an
ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.)  
NumberOfGaussianQuadratures 
Gets or sets the number of Gaussian quadratures to use when integrating. Like the OrbitsPerCalculation,
this parameter directly affects the performance of the propagator as well as the accuracy of its results.
The drag integration routine is performed by N 9point Gaussian quadratures per orbit, where N is the number set here.
By default, this is set to 6 to ensure accuracy, but can be lowered to improve performance. To determine lifetime,
the routine approximately integrates the slowly varying orbit elements over time. It does this by integrating
over one orbit to determine the rateofchange of each variable, and then assumes this rate is constant for N number of
OrbitsPerCalculation. The integration of 1 orbit is done over N subarcs when N is the number of quadratures.
The subarcs are of constant angular measure (in true anomaly, not time). To increase accuracy, make N larger.
Each subarc is integrated using a 9point Gaussian quadrature (i.e. there are 9 sample points within each subarc).
Highly eccentric satellites, which are in higher drag regimes for very short times compared with their period will need
to take much higher numbers of gaussian quadratures to ensure that drag is sampled adequately.
 
OrbitCountLimit 
Gets or sets the number of orbits past which to stop propagation. This limits the runtime
of the propagator, based on the OrbitLimitType.
By default, this is set to 100,000 orbits.
 
OrbitLimitType 
Gets or sets the limitation for when the lifetime propagator calculation should stop its iteration.
 
OrbitsPerCalculation 
Gets or sets the number of complete orbits to propagate as part of a single iteration of the integration
of the orbital parameters over time. This parameter allows you to control the performance of the propagator directly.
The fewer orbits per calculation, the more precise the estimate will be, but at the expense of computation time. The
higher number of orbits per calculation, the less precise the estimate will be, but calculations complete much faster.
By default, this is set to 1 orbit, but 10 can be used for a faster approximation.
 
ReflectiveCrossSectionalArea 
Gets or sets the mean area presented to the illuminating body (the Sun) during propagation, in square meters.
This area is often different from the cross section used for drag.
 
ReflectivityCoefficient 
Gets or sets the coefficient of reflectivity for the satellite. A value of zero indicates the
satellite is transparent to solar radiation. A value of one indicates the satellite completely
absorbs all the solar radiation perfectly. A value of 5/3 means that it is flat and reflects all incoming light diffusely.
A value of 2 means that it is flat and reflects all incoming light specularly.
 
SatelliteMass 
Gets or sets the mass of the satellite, in kilograms.
 
UseRotatingAtmosphere 
Gets or sets a value indicating whether to model the atmosphere as rotating rather than static. This models the westtoeast winds
induced by atmospheric rotation over the Earth. By default, this is false.
 
UseSecondOrderOblatenessCorrection 
Gets or sets a value indicating whether to use second order oblateness (J2) correction when propagating the mean orbital elements.
By default, this is true.

Name  Description  

Clone 
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)  
ComputeLifetime 
Compute the set of metrics describing the time history of the orbit as well
as the number of orbit revolutions and the time at which the orbit is expected to decay.
Note that if the propagation reaches the OrbitCountLimit or DurationLimit
the results will not represent a decayed orbit. This can also happen if there is a problem
with the initial state or something else went wrong during propagation. Check the
Status in order to determine whether the calculation
completed successfully.
 
ComputeLifetime(ITrackCalculationProgress) 
Compute the set of metrics describing the time history of the orbit as well
as the number of orbit revolutions and the time at which the orbit is expected to decay.
Note that if the propagation reaches the OrbitCountLimit or DurationLimit
the results will not represent a decayed orbit. This can also happen if there is a problem
with the initial state or something else went wrong during propagation. Check the
Status in order to determine whether the calculation
completed successfully.
 
EnumerateDependencies 
Enumerates the dependencies of this object by calling
EnumerateT(T) for each object that this object directly depends upon.
Derived classes which contain additional dependencies MUST override this method, call the base
implementation, and enumerate dependencies introduced by the derived class.
(Overrides DefinitionalObjectEnumerateDependencies(DependencyEnumerator).)  
Equals  Determines whether the specified object is equal to the current object. (Inherited from Object.)  
Freeze 
Freezes this object. Further attempts to modify it will result
in an ObjectFrozenException.
(Inherited from DefinitionalObject.)  
GetDefinitionHashCode 
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)  
GetHashCode  Serves as the default hash function. (Inherited from Object.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
IsSameDefinition 
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)  
ToString  Returns a string that represents the current object. (Inherited from Object.) 