STK ObjectsSend comments on this topic.
IAgVePropagatorJ4Perturbation Interface

Description

J4 Perturbation propagator interface.

Public Methods

Public Method PropagatePropagates the satellite's path using the specified time interval.

Public Properties

Public Property EphemerisIntervalThe propagator's ephemeris interval.
Public Property InitialStateGet the initial state.
Public Property PropagationFrameThe propagation frame
Public Property StepStep size. Uses Time Dimension.
Public Property SupportedPropagationFramesReturns supported propagation frames

Interfaces

Implemented Interface
IAgVePropagator

CoClasses that Implement IAgVePropagatorJ4Perturbation

Example

Configure the J4 Perturbation propagator to a circular orbit
[C#]
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#]
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]
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]
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
[Python - STK API]
# IAgSatellite satellite: Satellite object
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ4Perturbation)
propagator = satellite.Propagator
propagator.InitialState.Representation.AssignCartesian(AgECoordinateSystem.eCoordinateSystemICRF, 6678.14, 0, 0, 0, 6.78953, 3.68641)
propagator.Propagate()

Set satellite propagator to J4 and assign cartesian position
[MATLAB]
% 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();


        
© 2024 Analytical Graphics, Inc. All Rights Reserved.