Class DSSTAtmosphericDrag

    • Constructor Detail

      • DSSTAtmosphericDrag

        public DSSTAtmosphericDrag​(DragForce force,
                                   double mu)
        Simple constructor with custom force.
        Parameters:
        force - atmospheric drag force model
        mu - central attraction coefficient
      • DSSTAtmosphericDrag

        public DSSTAtmosphericDrag​(Atmosphere atmosphere,
                                   double cd,
                                   double area,
                                   double mu)
        Simple constructor assuming spherical spacecraft.
        Parameters:
        atmosphere - atmospheric model
        cd - drag coefficient
        area - cross sectionnal area of satellite
        mu - central attraction coefficient
      • DSSTAtmosphericDrag

        public DSSTAtmosphericDrag​(Atmosphere atmosphere,
                                   DragSensitive spacecraft,
                                   double mu)
        Simple constructor with custom spacecraft.
        Parameters:
        atmosphere - atmospheric model
        spacecraft - spacecraft model
        mu - central attraction coefficient
    • Method Detail

      • getAtmosphere

        public Atmosphere 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)
      • getEventDetectors

        public Stream<EventDetector> 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

        protected double[] getLLimits​(SpacecraftState state,
                                      AuxiliaryElements auxiliaryElements)
        Compute the limits in L, the true longitude, for integration.
        Specified by:
        getLLimits in class AbstractGaussianContribution
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - 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:
        getLLimits in class AbstractGaussianContribution
        Type Parameters:
        T - type of the elements
        Parameters:
        state - current state information: date, kinematics, attitude
        auxiliaryElements - auxiliary elements related to the current orbit
        Returns:
        the integration limits in L
      • getSpacecraft

        public DragSensitive getSpacecraft()
        Get spacecraft shape.
        Returns:
        spacecraft shape
      • getDrag

        public DragForce getDrag()
        Get drag force.
        Returns:
        drag force