public class DSSTSolarRadiationPressure extends AbstractGaussianContribution
DSSTPropagator.
The solar radiation pressure acceleration is computed through the
acceleration model of
SolarRadiationPressure.
AbstractGaussianContribution.FieldFourierCjSjCoefficients<T extends org.hipparchus.CalculusFieldElement<T>>, AbstractGaussianContribution.FieldGaussianShortPeriodicCoefficients<T extends org.hipparchus.CalculusFieldElement<T>>, AbstractGaussianContribution.FieldIntegrableFunction<T extends org.hipparchus.CalculusFieldElement<T>>, AbstractGaussianContribution.FieldSlot<T extends org.hipparchus.CalculusFieldElement<T>>, AbstractGaussianContribution.FieldUijVijCoefficients<T extends org.hipparchus.CalculusFieldElement<T>>, AbstractGaussianContribution.FourierCjSjCoefficients, AbstractGaussianContribution.GaussianShortPeriodicCoefficients, AbstractGaussianContribution.GaussQuadrature, AbstractGaussianContribution.IntegrableFunction, AbstractGaussianContribution.Slot, AbstractGaussianContribution.UijVijCoefficientsDATATION_ACCURACY| Constructor and Description |
|---|
DSSTSolarRadiationPressure(double dRef,
double pRef,
double cr,
double area,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
double mu)
Constructor with customizable reference values but spherical spacecraft.
|
DSSTSolarRadiationPressure(double cr,
double area,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
double mu)
Simple constructor with default reference values and spherical spacecraft.
|
DSSTSolarRadiationPressure(double dRef,
double pRef,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
RadiationSensitive spacecraft,
double mu)
Complete constructor.
|
DSSTSolarRadiationPressure(ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
RadiationSensitive spacecraft,
double mu)
Simple constructor with default reference values, but custom spacecraft.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getEquatorialRadius()
Get the central body equatorial radius.
|
protected <T extends org.hipparchus.CalculusFieldElement<T>> |
getLLimits(FieldSpacecraftState<T> state,
FieldAuxiliaryElements<T> auxiliaryElements)
Compute the limits in L, the true longitude, for integration.
|
protected double[] |
getLLimits(SpacecraftState state,
AuxiliaryElements auxiliaryElements)
Compute the limits in L, the true longitude, for integration.
|
protected List<ParameterDriver> |
getParametersDriversWithoutMu()
Get the drivers for force model parameters except the one for the central
attraction coefficient.
|
RadiationSensitive |
getSpacecraft()
Get spacecraft shape.
|
getMeanElementRate, getMeanElementRate, getMeanElementRate, getMeanElementRate, getParametersDrivers, init, init, initializeShortPeriodTerms, initializeShortPeriodTerms, registerAttitudeProvider, updateShortPeriodTerms, updateShortPeriodTermsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitextractParameters, extractParameters, getEventDetectors, getFieldEventDetectorsgetNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedgetEventDetectors, getFieldEventDetectorspublic DSSTSolarRadiationPressure(double cr,
double area,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
double mu)
When this constructor is used, the reference values are:
The spacecraft has a spherical shape.
cr - satellite radiation pressure coefficient (assuming total specular reflection)area - cross sectional area of satellitesun - Sun modelcentralBody - central body (for shadow computation)mu - central attraction coefficientpublic DSSTSolarRadiationPressure(ExtendedPVCoordinatesProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, double mu)
When this constructor is used, the reference values are:
sun - Sun modelcentralBody - central body (for shadow computation)spacecraft - spacecraft modelmu - central attraction coefficientpublic DSSTSolarRadiationPressure(double dRef,
double pRef,
double cr,
double area,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
double mu)
Note that reference solar radiation pressure pRef in N/m² is linked
to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light
(299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6
N/m² solar radiation pressure.
dRef - reference distance for the solar radiation pressure (m)pRef - reference solar radiation pressure at dRef (N/m²)cr - satellite radiation pressure coefficient (assuming total specular reflection)area - cross sectional area of satellitesun - Sun modelcentralBody - central body (for shadow computation)mu - central attraction coefficientpublic DSSTSolarRadiationPressure(double dRef,
double pRef,
ExtendedPVCoordinatesProvider sun,
OneAxisEllipsoid centralBody,
RadiationSensitive spacecraft,
double mu)
Note that reference solar radiation pressure pRef in N/m² is linked
to solar flux SF in W/m² using formula pRef = SF/c where c is the speed of light
(299792458 m/s). So at 1UA a 1367 W/m² solar flux is a 4.56 10-6
N/m² solar radiation pressure.
dRef - reference distance for the solar radiation pressure (m)pRef - reference solar radiation pressure at dRef (N/m²)sun - Sun modelcentralBody - central body shape model (for umbra/penumbra computation)spacecraft - spacecraft modelmu - central attraction coefficientpublic RadiationSensitive getSpacecraft()
protected List<ParameterDriver> getParametersDriversWithoutMu()
The driver for central attraction coefficient is automatically added at the
last element of the ParameterDriver array into
AbstractGaussianContribution.getParametersDrivers() method.
getParametersDriversWithoutMu in class AbstractGaussianContributionprotected double[] getLLimits(SpacecraftState state, AuxiliaryElements auxiliaryElements)
getLLimits in class AbstractGaussianContributionstate - current state information: date, kinematics,
attitudeauxiliaryElements - auxiliary elements related to the current orbitprotected <T extends org.hipparchus.CalculusFieldElement<T>> T[] getLLimits(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements)
getLLimits in class AbstractGaussianContributionT - type of the elementsstate - current state information: date, kinematics,
attitudeauxiliaryElements - auxiliary elements related to the current orbitpublic double getEquatorialRadius()
Copyright © 2002-2023 CS GROUP. All rights reserved.