Description
J4 Perturbation propagator interface.
Object Model
Public Methods
Propagate |
Propagates the satellite's
path using the specified time interval. |
Public Properties
EphemerisInterval |
The propagator's ephemeris
interval. |
InitialState |
Get the initial state. |
StartTime |
This property is
deprecated. Use EphemerisInterval to configure the propagation
interval. Start time. Uses DateFomat Dimension. |
Step |
Step size. Uses Time
Dimension. |
StopTime |
This property is
deprecated. Use EphemerisInterval to configure the propagation
interval. Stop time. Uses DateFormat Dimension. |
UseScenarioAnalysisTime |
This property is
deprecated. Use the new Timeline API components to configure the
propagator's analysis time. Whether the scenario analysis
start/stop times shall be used. |
Interfaces
Example
Configure the J4
Perturbation propagator to a circular orbit
[C#] |
Copy Code
|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ4Perturbation);
IAgVePropagatorJ4Perturbation prop = satellite.Propagator as IAgVePropagatorJ4Perturbation;
IAgOrbitStateClassical keplerian = prop.InitialState.Representation.ConvertTo(AgEOrbitStateType.eOrbitStateClassical) as IAgOrbitStateClassical;
keplerian.SizeShapeType = AgEClassicalSizeShape.eSizeShapeAltitude;
IAgClassicalSizeShapeAltitude size = keplerian.SizeShape as IAgClassicalSizeShapeAltitude;
size.ApogeeAltitude = altitude;
size.PerigeeAltitude = altitude;
keplerian.Orientation.Inclination = incl;
keplerian.Orientation.ArgOfPerigee = 0;
keplerian.Orientation.AscNodeType = AgEOrientationAscNode.eAscNodeRAAN;
(keplerian.Orientation.AscNode as IAgOrientationAscNodeRAAN).Value = 0;
keplerian.LocationType = AgEClassicalLocation.eLocationTrueAnomaly;
(keplerian.Location as IAgClassicalLocationTrueAnomaly).Value = 0;
prop.InitialState.Representation.Assign(keplerian);
prop.Propagate();
|
|
Configure the J4
Perturbation propagator to a critically inclined orbit
[C#] |
Copy Code
|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ4Perturbation);
IAgVePropagatorJ4Perturbation prop = satellite.Propagator as IAgVePropagatorJ4Perturbation;
IAgOrbitStateClassical keplerian = prop.InitialState.Representation.ConvertTo(AgEOrbitStateType.eOrbitStateClassical) as IAgOrbitStateClassical;
keplerian.SizeShapeType = AgEClassicalSizeShape.eSizeShapeAltitude;
IAgClassicalSizeShapeAltitude size = keplerian.SizeShape as IAgClassicalSizeShapeAltitude;
size.ApogeeAltitude = apogeeAlt;
size.PerigeeAltitude = perigeeAlt;
keplerian.Orientation.Inclination = 63.434949;
keplerian.Orientation.ArgOfPerigee = 270.000000;
keplerian.Orientation.AscNodeType = AgEOrientationAscNode.eAscNodeLAN;
(keplerian.Orientation.AscNode as IAgOrientationAscNodeLAN).Value = ascNodeLon;
keplerian.LocationType = AgEClassicalLocation.eLocationTrueAnomaly;
(keplerian.Location as IAgClassicalLocationTrueAnomaly).Value = 90.000000;
prop.InitialState.Representation.Assign(keplerian);
prop.Propagate();
|
|
Configure the J4
Perturbation propagator to a circular orbit
[Visual Basic .NET] |
Copy Code
|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ4Perturbation)
Dim prop As IAgVePropagatorJ4Perturbation =
TryCast(satellite.Propagator, IAgVePropagatorJ4Perturbation)
Dim keplerian As IAgOrbitStateClassical =
TryCast(prop.InitialState.Representation.ConvertTo(AgEOrbitStateType.eOrbitStateClassical),
IAgOrbitStateClassical)
keplerian.SizeShapeType =
AgEClassicalSizeShape.eSizeShapeAltitude
Dim size As IAgClassicalSizeShapeAltitude =
TryCast(keplerian.SizeShape, IAgClassicalSizeShapeAltitude)
size.ApogeeAltitude = altitude
size.PerigeeAltitude = altitude
keplerian.Orientation.Inclination = incl
keplerian.Orientation.ArgOfPerigee = 0
keplerian.Orientation.AscNodeType =
AgEOrientationAscNode.eAscNodeRAAN
TryCast(keplerian.Orientation.AscNode,
IAgOrientationAscNodeRAAN).Value = 0
keplerian.LocationType =
AgEClassicalLocation.eLocationTrueAnomaly
TryCast(keplerian.Location, IAgClassicalLocationTrueAnomaly).Value
= 0
prop.InitialState.Representation.Assign(keplerian)
prop.Propagate()
|
|
Configure the J4
Perturbation propagator to a critically inclined orbit
[Visual Basic .NET] |
Copy Code
|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ4Perturbation)
Dim prop As IAgVePropagatorJ4Perturbation =
TryCast(satellite.Propagator, IAgVePropagatorJ4Perturbation)
Dim keplerian As IAgOrbitStateClassical =
TryCast(prop.InitialState.Representation.ConvertTo(AgEOrbitStateType.eOrbitStateClassical),
IAgOrbitStateClassical)
keplerian.SizeShapeType =
AgEClassicalSizeShape.eSizeShapeAltitude
Dim size As IAgClassicalSizeShapeAltitude =
TryCast(keplerian.SizeShape, IAgClassicalSizeShapeAltitude)
size.ApogeeAltitude = apogeeAlt
size.PerigeeAltitude = perigeeAlt
keplerian.Orientation.Inclination = 63.434949
keplerian.Orientation.ArgOfPerigee = 270
keplerian.Orientation.AscNodeType =
AgEOrientationAscNode.eAscNodeLAN
TryCast(keplerian.Orientation.AscNode,
IAgOrientationAscNodeLAN).Value = ascNodeLon
keplerian.LocationType =
AgEClassicalLocation.eLocationTrueAnomaly
TryCast(keplerian.Location, IAgClassicalLocationTrueAnomaly).Value
= 90
prop.InitialState.Representation.Assign(keplerian)
prop.Propagate()
|
|
Set satellite
propagator to J4 and assign cartesian position
[MATLAB] |
Copy Code
|
% IAgSatellite satellite: Satellite object
satellite.SetPropagatorType('ePropagatorJ4Perturbation');
propagator = satellite.Propagator;
propagator.InitialState.Representation.AssignCartesian('eCoordinateSystemICRF',6678.14,0,0,0,6.78953,3.68641)
propagator.Propagate;
|
|
CoClasses that Implement
IAgVePropagatorJ4Perturbation