Class DSSTSolarRadiationPressure
- All Implemented Interfaces:
EventDetectorsProvider,DSSTForceModel,ParameterDriversProvider
DSSTPropagator.
The solar radiation pressure acceleration is computed through the
acceleration model of
SolarRadiationPressure.
- Author:
- Pascal Parraud
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.propagation.semianalytical.dsst.forces.AbstractGaussianContribution
AbstractGaussianContribution.FieldFourierCjSjCoefficients<T extends CalculusFieldElement<T>>, AbstractGaussianContribution.FieldGaussianShortPeriodicCoefficients<T extends CalculusFieldElement<T>>, AbstractGaussianContribution.FieldIntegrableFunction<T extends CalculusFieldElement<T>>, AbstractGaussianContribution.FieldSlot<T extends CalculusFieldElement<T>>, AbstractGaussianContribution.FieldUijVijCoefficients<T extends CalculusFieldElement<T>>, AbstractGaussianContribution.FourierCjSjCoefficients, AbstractGaussianContribution.GaussianShortPeriodicCoefficients, AbstractGaussianContribution.GaussQuadrature, AbstractGaussianContribution.IntegrableFunction, AbstractGaussianContribution.Slot, AbstractGaussianContribution.UijVijCoefficients -
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsConstructorDescriptionDSSTSolarRadiationPressure(double dRef, double pRef, double cr, double area, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, double mu) Constructor with customizable reference values but spherical spacecraft.DSSTSolarRadiationPressure(double cr, double area, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, double mu) Simple constructor with default reference values and spherical spacecraft.DSSTSolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, double mu) Complete constructor.DSSTSolarRadiationPressure(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, double mu) Simple constructor with default reference values, but custom spacecraft. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGet the central body equatorial radius.protected <T extends CalculusFieldElement<T>>
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> Get the drivers for force model parameters except the one for the central attraction coefficient.Get spacecraft shape.Methods inherited from class org.orekit.propagation.semianalytical.dsst.forces.AbstractGaussianContribution
getMeanElementRate, getMeanElementRate, getMeanElementRate, getMeanElementRate, getParametersDrivers, init, init, initializeShortPeriodTerms, initializeShortPeriodTerms, registerAttitudeProvider, updateShortPeriodTerms, updateShortPeriodTermsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.semianalytical.dsst.forces.DSSTForceModel
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectorsMethods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
DSSTSolarRadiationPressure
public DSSTSolarRadiationPressure(double cr, double area, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, double mu) Simple constructor with default reference values and spherical spacecraft.When this constructor is used, the reference values are:
- dref = 149597870000.0 m
- pref = 4.56 10-6 N/m²
The spacecraft has a spherical shape.
- Parameters:
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 coefficient- Since:
- 12.0
-
DSSTSolarRadiationPressure
public DSSTSolarRadiationPressure(ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, double mu) Simple constructor with default reference values, but custom spacecraft.When this constructor is used, the reference values are:
- dref = 149597870000.0 m
- pref = 4.56 10-6 N/m²
- Parameters:
sun- Sun modelcentralBody- central body (for shadow computation)spacecraft- spacecraft modelmu- central attraction coefficient- Since:
- 12.0
-
DSSTSolarRadiationPressure
public DSSTSolarRadiationPressure(double dRef, double pRef, double cr, double area, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, double mu) Constructor with customizable reference values but spherical spacecraft.Note that reference solar radiation pressure
pRefin 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.- Parameters:
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 coefficient- Since:
- 12.0
-
DSSTSolarRadiationPressure
public DSSTSolarRadiationPressure(double dRef, double pRef, ExtendedPositionProvider sun, OneAxisEllipsoid centralBody, RadiationSensitive spacecraft, double mu) Complete constructor.Note that reference solar radiation pressure
pRefin 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.- Parameters:
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 coefficient- Since:
- 12.0
-
-
Method Details
-
getSpacecraft
Get spacecraft shape.- Returns:
- the spacecraft shape.
-
getParametersDriversWithoutMu
Get the drivers for force model parameters except the one for the central attraction coefficient.The driver for central attraction coefficient is automatically added at the last element of the
ParameterDriverarray intoAbstractGaussianContribution.getParametersDrivers()method.- Specified by:
getParametersDriversWithoutMuin classAbstractGaussianContribution- Returns:
- drivers for force model parameters
-
getLLimits
Compute the limits in L, the true longitude, for integration.- Specified by:
getLLimitsin classAbstractGaussianContribution- Parameters:
state- current state information: date, kinematics, attitudeauxiliaryElements- auxiliary elements related to the current orbit- Returns:
- the integration limits in L
-
getLLimits
protected <T extends CalculusFieldElement<T>> T[] getLLimits(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements) Compute the limits in L, the true longitude, for integration.- Specified by:
getLLimitsin classAbstractGaussianContribution- Type Parameters:
T- type of the elements- Parameters:
state- current state information: date, kinematics, attitudeauxiliaryElements- auxiliary elements related to the current orbit- Returns:
- the integration limits in L
-
getEquatorialRadius
public double getEquatorialRadius()Get the central body equatorial radius.- Returns:
- central body equatorial radius (m)
-