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, updateShortPeriodTerms
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, getParameters
public 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 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 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-2022 CS GROUP. All rights reserved.