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.UijVijCoefficients
DATATION_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, updateShortPeriodTerms
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectors
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public 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 AbstractGaussianContribution
protected double[] getLLimits(SpacecraftState state, AuxiliaryElements auxiliaryElements)
getLLimits
in class AbstractGaussianContribution
state
- 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 AbstractGaussianContribution
T
- 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.