Class J2DifferentialEffect
- java.lang.Object
-
- org.orekit.propagation.analytical.J2DifferentialEffect
-
- All Implemented Interfaces:
AdapterPropagator.DifferentialEffect
public class J2DifferentialEffect extends Object implements AdapterPropagator.DifferentialEffect
Analytical model for J2 effect.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.
- Author:
- Luc Maisonobe
- See Also:
SmallManeuverAnalyticalModel
-
-
Constructor Summary
Constructors Constructor 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Orbit
apply(Orbit orbit1)
Compute the effect of the maneuver on an orbit.SpacecraftState
apply(SpacecraftState state1)
Apply the effect to aspacecraft state
.
-
-
-
Constructor Detail
-
J2DifferentialEffect
public J2DifferentialEffect(SpacecraftState original, AdapterPropagator.DifferentialEffect directEffect, boolean applyBefore, UnnormalizedSphericalHarmonicsProvider gravityField)
Simple constructor.The
applyBefore
parameter is mainly used when the differential effect is associated with a maneuver. In this case, the parameter must be set tofalse
.- Parameters:
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 use
-
J2DifferentialEffect
public J2DifferentialEffect(Orbit orbit0, Orbit orbit1, boolean applyBefore, UnnormalizedSphericalHarmonicsProvider gravityField)
Simple constructor.The
applyBefore
parameter is mainly used when the differential effect is associated with a maneuver. In this case, the parameter must be set tofalse
.- Parameters:
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 use
-
J2DifferentialEffect
public J2DifferentialEffect(SpacecraftState original, AdapterPropagator.DifferentialEffect directEffect, boolean applyBefore, double referenceRadius, double mu, double j2)
Simple constructor.The
applyBefore
parameter is mainly used when the differential effect is associated with a maneuver. In this case, the parameter must be set tofalse
.- Parameters:
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)
-
J2DifferentialEffect
public J2DifferentialEffect(Orbit orbit0, Orbit orbit1, boolean applyBefore, double referenceRadius, double mu, double j2)
Simple constructor.The
applyBefore
parameter is mainly used when the differential effect is associated with a maneuver. In this case, the parameter must be set tofalse
.- Parameters:
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)
-
-
Method Detail
-
apply
public Orbit apply(Orbit orbit1)
Compute the effect of the maneuver on an orbit.- Parameters:
orbit1
- original orbit at t₁, without maneuver- Returns:
- orbit at t₁, taking the maneuver into account if t₁ > t₀
- See Also:
apply(SpacecraftState)
-
apply
public SpacecraftState apply(SpacecraftState state1)
Apply the effect to aspacecraft 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.
- Specified by:
apply
in interfaceAdapterPropagator.DifferentialEffect
- Parameters:
state1
- original state without the effect- Returns:
- updated state at the same date, taking the effect into account if meaningful
-
-