Class DSSTAtmosphericDrag
java.lang.Object
org.orekit.propagation.semianalytical.dsst.forces.AbstractGaussianContribution
org.orekit.propagation.semianalytical.dsst.forces.DSSTAtmosphericDrag
- All Implemented Interfaces:
EventDetectorsProvider,DSSTForceModel,ParameterDriversProvider
Atmospheric drag contribution to the
DSSTPropagator.
The drag acceleration is computed through the acceleration model of
DragForce.
- 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
ConstructorsConstructorDescriptionDSSTAtmosphericDrag(DragForce force, double mu) Simple constructor with custom force.DSSTAtmosphericDrag(Atmosphere atmosphere, double cd, double area, double mu) Simple constructor assuming spherical spacecraft.DSSTAtmosphericDrag(Atmosphere atmosphere, DragSensitive spacecraft, double mu) Simple constructor with custom spacecraft. -
Method Summary
Modifier and TypeMethodDescriptionGet the atmospheric model.getDrag()Get drag force.Get the discrete events related to the model.<T extends CalculusFieldElement<T>>
Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.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.doublegetRbar()Get the critical distance.Get spacecraft shape.voidsetRbar(double rbar) Set the critical distance from the center of the central body at which the atmosphere is considered to end, i.e. beyond this distance atmospheric drag is not considered.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, extractParametersMethods 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
-
DSSTAtmosphericDrag
Simple constructor with custom force.- Parameters:
force- atmospheric drag force modelmu- central attraction coefficient
-
DSSTAtmosphericDrag
Simple constructor assuming spherical spacecraft.- Parameters:
atmosphere- atmospheric modelcd- drag coefficientarea- cross sectionnal area of satellitemu- central attraction coefficient
-
DSSTAtmosphericDrag
Simple constructor with custom spacecraft.- Parameters:
atmosphere- atmospheric modelspacecraft- spacecraft modelmu- central attraction coefficient
-
-
Method Details
-
getAtmosphere
Get the atmospheric model.- Returns:
- atmosphere model
-
getRbar
public double getRbar()Get the critical distance.The critical distance from the center of the central body aims at defining the atmosphere entry/exit.
- Returns:
- the critical distance from the center of the central body (m)
-
setRbar
public void setRbar(double rbar) Set the critical distance from the center of the central body at which the atmosphere is considered to end, i.e. beyond this distance atmospheric drag is not considered.- Parameters:
rbar- the critical distance from the center of the central body (m)
-
getEventDetectors
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Returns:
- stream of event detectors
-
getFieldEventDetectors
public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field) Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.
- Type Parameters:
T- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-
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
-
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
-
getSpacecraft
Get spacecraft shape.- Returns:
- spacecraft shape
-
getDrag
Get drag force.- Returns:
- drag force
-