public class J2DifferentialEffect extends Object implements AdapterPropagator.DifferentialEffect
This class computes the differential effect of J2 due to an initial orbit offset. A typical case is when an inclination maneuver changes an orbit inclination at time t₀. As ascending node drift rate depends on inclination, the change induces a time-dependent change in ascending node for later dates.
SmallManeuverAnalyticalModel
Constructor and Description |
---|
J2DifferentialEffect(Orbit orbit0,
Orbit orbit1,
boolean applyBefore,
double referenceRadius,
double mu,
double j2)
Simple constructor.
|
J2DifferentialEffect(Orbit orbit0,
Orbit orbit1,
boolean applyBefore,
UnnormalizedSphericalHarmonicsProvider gravityField)
Simple constructor.
|
J2DifferentialEffect(SpacecraftState original,
AdapterPropagator.DifferentialEffect directEffect,
boolean applyBefore,
double referenceRadius,
double mu,
double j2)
Simple constructor.
|
J2DifferentialEffect(SpacecraftState original,
AdapterPropagator.DifferentialEffect directEffect,
boolean applyBefore,
UnnormalizedSphericalHarmonicsProvider gravityField)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
Orbit |
apply(Orbit orbit1)
Compute the effect of the maneuver on an orbit.
|
SpacecraftState |
apply(SpacecraftState state1)
Apply the effect to a
spacecraft state . |
public J2DifferentialEffect(SpacecraftState original, AdapterPropagator.DifferentialEffect directEffect, boolean applyBefore, UnnormalizedSphericalHarmonicsProvider gravityField)
The applyBefore
parameter is mainly used when the differential
effect is associated with a maneuver. In this case, the parameter must be
set to false
.
original
- original state at reference datedirectEffect
- direct effect changing the orbitapplyBefore
- if true, effect is applied both before and after
reference date, if false it is only applied after reference dategravityField
- gravity field to usepublic J2DifferentialEffect(Orbit orbit0, Orbit orbit1, boolean applyBefore, UnnormalizedSphericalHarmonicsProvider gravityField)
The applyBefore
parameter is mainly used when the differential
effect is associated with a maneuver. In this case, the parameter must be
set to false
.
orbit0
- original orbit at reference dateorbit1
- shifted orbit at reference dateapplyBefore
- if true, effect is applied both before and after
reference date, if false it is only applied after reference dategravityField
- gravity field to usepublic J2DifferentialEffect(SpacecraftState original, AdapterPropagator.DifferentialEffect directEffect, boolean applyBefore, double referenceRadius, double mu, double j2)
The applyBefore
parameter is mainly used when the differential
effect is associated with a maneuver. In this case, the parameter must be
set to false
.
original
- original state at reference datedirectEffect
- direct effect changing the orbitapplyBefore
- if true, effect is applied both before and after
reference date, if false it is only applied after reference datereferenceRadius
- reference radius of the Earth for the potential model (m)mu
- central attraction coefficient (m³/s²)j2
- un-normalized zonal coefficient (about +1.08e-3 for Earth)public J2DifferentialEffect(Orbit orbit0, Orbit orbit1, boolean applyBefore, double referenceRadius, double mu, double j2)
The applyBefore
parameter is mainly used when the differential
effect is associated with a maneuver. In this case, the parameter must be
set to false
.
orbit0
- original orbit at reference dateorbit1
- shifted orbit at reference dateapplyBefore
- if true, effect is applied both before and after
reference date, if false it is only applied after reference datereferenceRadius
- reference radius of the Earth for the potential model (m)mu
- central attraction coefficient (m³/s²)j2
- un-normalized zonal coefficient (about +1.08e-3 for Earth)public Orbit apply(Orbit orbit1)
orbit1
- original orbit at t₁, without maneuverapply(SpacecraftState)
public SpacecraftState apply(SpacecraftState state1)
spacecraft state
.
Applying the effect may be a no-op in some cases. A typical example is maneuvers, for which the state is changed only for time after the maneuver occurrence.
apply
in interface AdapterPropagator.DifferentialEffect
state1
- original state without the effectCopyright © 2002-2020 CS Group. All rights reserved.