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)
      • 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

        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