public class DSSTAtmosphericDrag extends AbstractGaussianContribution
DSSTPropagator
.
The drag acceleration is computed through the acceleration model of
DragForce
.
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 |
---|
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.
|
DSSTAtmosphericDrag(DragForce force,
double mu)
Simple constructor with custom force.
|
Modifier and Type | Method and Description |
---|---|
Atmosphere |
getAtmosphere()
Get the atmospheric model.
|
DragForce |
getDrag()
Get drag force.
|
Stream<EventDetector> |
getEventDetectors()
Get the discrete events related to the model.
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getFieldEventDetectors(org.hipparchus.Field<T> field)
Get the discrete events related to the model.
|
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.
|
double |
getRbar()
Get the critical distance.
|
DragSensitive |
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
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public DSSTAtmosphericDrag(DragForce force, double mu)
force
- atmospheric drag force modelmu
- central attraction coefficientpublic DSSTAtmosphericDrag(Atmosphere atmosphere, double cd, double area, double mu)
atmosphere
- atmospheric modelcd
- drag coefficientarea
- cross sectionnal area of satellitemu
- central attraction coefficientpublic DSSTAtmosphericDrag(Atmosphere atmosphere, DragSensitive spacecraft, double mu)
atmosphere
- atmospheric modelspacecraft
- spacecraft modelmu
- central attraction coefficientpublic Atmosphere getAtmosphere()
public double getRbar()
The critical distance from the center of the central body aims at defining the atmosphere entry/exit.
public Stream<EventDetector> getEventDetectors()
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.
public <T extends org.hipparchus.CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(org.hipparchus.Field<T> field)
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.
T
- extends CalculusFieldElement<T>field
- field to which the state belongsprotected 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 orbitprotected 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
public DragSensitive getSpacecraft()
public DragForce getDrag()
Copyright © 2002-2023 CS GROUP. All rights reserved.