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) throws OrekitException
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 useOrekitException
- if gravity field does not contain J2 coefficientpublic J2DifferentialEffect(Orbit orbit0, Orbit orbit1, boolean applyBefore, UnnormalizedSphericalHarmonicsProvider gravityField) throws OrekitException
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 useOrekitException
- if gravity field does not contain J2 coefficientpublic J2DifferentialEffect(SpacecraftState original, AdapterPropagator.DifferentialEffect directEffect, boolean applyBefore, double referenceRadius, double mu, double j2) throws OrekitException
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)OrekitException
- if direct effect cannot be appliedpublic 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-2017 CS Systèmes d'information. All rights reserved.