Class BrouwerLyddanePropagatorBuilder
- All Implemented Interfaces:
Cloneable,PropagatorBuilder
By default, Brouwer-Lyddane model considers only the perturbations due to zonal harmonics. However, for low Earth orbits, the magnitude of the perturbative acceleration due to atmospheric drag can be significant. Warren Phipps' 1992 thesis considered the atmospheric drag by time derivatives of the mean mean anomaly using the catch-all coefficient M2.
Usually, M2 is adjusted during an orbit determination process, and it represents the
combination of all un-modeled secular along-track effects (i.e. not just the atmospheric drag).
The behavior of M2 is closed to the TLE.getBStar() parameter for the TLE.
If the value of M2 is equal to 0.0, the along-track
secular effects are not considered in the dynamical model. Typical values for M2 are not known.
It depends on the orbit type. However, the value of M2 must be very small (e.g. between 1.0e-14 and 1.0e-15).
The unit of M2 is rad/s².
To estimate the M2 parameter, it is necessary to call the AbstractPropagatorBuilder.getPropagationParametersDrivers() method
as follows:
for (ParameterDriver driver : builder.getPropagationParametersDrivers().getDrivers()) {
if (BrouwerLyddanePropagator.M2_NAME.equals(driver.getName())) {
driver.setSelected(true);
}
}
- Since:
- 11.1
- Author:
- Melina Vanel, Bryan Cazabonne
-
Constructor Summary
ConstructorsConstructorDescriptionBrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, double referenceRadius, double mu, TideSystem tideSystem, double c20, double c30, double c40, double c50, double M2) Build a new instance.BrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, UnnormalizedSphericalHarmonicsProvider provider, double M2) Build a new instance.BrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, UnnormalizedSphericalHarmonicsProvider provider, AttitudeProvider attitudeProvider, double M2) Build a new instance. -
Method Summary
Modifier and TypeMethodDescriptionbuildPropagator(double[] normalizedParameters) Build a propagator.clone().doubleGet the value of the M2 parameter.Methods inherited from class org.orekit.propagation.conversion.AbstractAnalyticalPropagatorBuilder
addImpulseManeuver, buildLeastSquaresModel, clearImpulseManeuvers, getImpulseManeuversMethods inherited from class org.orekit.propagation.conversion.AbstractPropagatorBuilder
addAdditionalDerivativesProvider, addPropagationParameters, buildPropagator, deselectDynamicParameters, getAdditionalDerivativesProviders, getAttitudeProvider, getMass, getOrbitalParameterFactory, getPropagationParametersDrivers, getSelectedNormalizedParameters, resetOrbit, setAttitudeProvider, setMass, setParameters
-
Constructor Details
-
BrouwerLyddanePropagatorBuilder
public BrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, UnnormalizedSphericalHarmonicsProvider provider, double M2) Build a new instance.- Parameters:
factory- factory for initial orbitprovider- for un-normalized zonal coefficientsM2- value of empirical drag coefficient in rad/s². If equal toBrouwerLyddanePropagator.M2drag is not computed- Since:
- 14.0
- See Also:
-
BrouwerLyddanePropagatorBuilder
public BrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, double referenceRadius, double mu, TideSystem tideSystem, double c20, double c30, double c40, double c50, double M2) Build a new instance.- Parameters:
factory- factory for initial orbitreferenceRadius- reference radius of the Earth for the potential model (m)mu- central attraction coefficient (m³/s²)tideSystem- tide systemc20- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50- un-normalized zonal coefficient (about +2.28e-7 for Earth)M2- value of empirical drag coefficient in rad/s². If equal toBrouwerLyddanePropagator.M2drag is not computed- Since:
- 14.0
- See Also:
-
BrouwerLyddanePropagatorBuilder
public BrouwerLyddanePropagatorBuilder(AbstractOrbitFactory<? extends Orbit> factory, UnnormalizedSphericalHarmonicsProvider provider, AttitudeProvider attitudeProvider, double M2) Build a new instance.- Parameters:
factory- factory for initial orbitprovider- for un-normalized zonal coefficientsattitudeProvider- attitude law to useM2- value of empirical drag coefficient in rad/s². If equal toBrouwerLyddanePropagator.M2drag is not computed
-
-
Method Details
-
clone
..- Overrides:
clonein classAbstractPropagatorBuilder<BrouwerLyddanePropagator,Orbit, AbstractOrbitFactory<Orbit>>
-
buildPropagator
Build a propagator.- Specified by:
buildPropagatorin interfacePropagatorBuilder- Specified by:
buildPropagatorin classAbstractPropagatorBuilder<BrouwerLyddanePropagator,Orbit, AbstractOrbitFactory<Orbit>> - Parameters:
normalizedParameters- normalized values for the selected parameters- Returns:
- an initialized propagator
-
getM2Value
public double getM2Value()Get the value of the M2 parameter.M2 represents the combination of all un-modeled secular along-track effects (e.g. drag). It is usually fitted during an orbit determination.
- Returns:
- the value of the M2 parameter
- Since:
- 12.2
-