public class DSSTSolarRadiationPressure extends AbstractGaussianContribution
DSSTPropagator.
The solar radiation pressure acceleration is computed through the
acceleration model of
SolarRadiationPressure.
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| Constructor and Description |
|---|
DSSTSolarRadiationPressure(double dRef,
double pRef,
double cr,
double area,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
double mu)
Constructor with customizable reference values but spherical spacecraft.
|
DSSTSolarRadiationPressure(double cr,
double area,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
double mu)
Simple constructor with default reference values and spherical spacecraft.
|
DSSTSolarRadiationPressure(double dRef,
double pRef,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
RadiationSensitive spacecraft,
double mu)
Complete constructor.
|
DSSTSolarRadiationPressure(ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
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.
|
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model.
|
<T extends CalculusFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
protected <T extends 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, waitgetParameters, getParameterspublic DSSTSolarRadiationPressure(double cr,
double area,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
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 modelequatorialRadius - central body equatorial radius (for shadow computation)mu - central attraction coefficientpublic DSSTSolarRadiationPressure(ExtendedPVCoordinatesProvider sun, double equatorialRadius, RadiationSensitive spacecraft, double mu)
When this constructor is used, the reference values are:
sun - Sun modelequatorialRadius - central body equatorial radius (for shadow computation)spacecraft - spacecraft modelmu - central attraction coefficientpublic DSSTSolarRadiationPressure(double dRef,
double pRef,
double cr,
double area,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
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 modelequatorialRadius - central body equatorial radius (for shadow computation)mu - central attraction coefficientpublic DSSTSolarRadiationPressure(double dRef,
double pRef,
ExtendedPVCoordinatesProvider sun,
double equatorialRadius,
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 modelequatorialRadius - central body equatorial radius (for shadow computation)spacecraft - spacecraft modelmu - central attraction coefficientpublic RadiationSensitive getSpacecraft()
public EventDetector[] getEventsDetectors()
public <T extends CalculusFieldElement<T>> FieldEventDetector<T>[] getFieldEventsDetectors(Field<T> field)
T - type of the elementsfield - field used by defaultprotected 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 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-2022 CS GROUP. All rights reserved.