Class IsotropicDrag

    • Constructor Summary

      Constructors 
      Constructor Description
      IsotropicDrag​(double crossSection, double dragCoeff)
      Constructor with drag coefficient min/max set to ±∞.
      IsotropicDrag​(double crossSection, double dragCoeff, double dragCoeffMin, double dragCoeffMax)
      Constructor with drag coefficient min/max set by user.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.hipparchus.geometry.euclidean.threed.Vector3D dragAcceleration​(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters)
      Compute the acceleration due to drag.
      org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> dragAcceleration​(AbsoluteDate date, Frame frame, org.hipparchus.geometry.euclidean.threed.Vector3D position, org.hipparchus.geometry.euclidean.threed.Rotation rotation, double mass, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters, String paramName)
      Compute acceleration due to drag, with parameters derivatives.
      <T extends org.hipparchus.RealFieldElement<T>>
      org.hipparchus.geometry.euclidean.threed.FieldVector3D<T>
      dragAcceleration​(FieldAbsoluteDate<T> date, Frame frame, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation, T mass, T density, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity, T[] parameters)
      Compute the acceleration due to drag.
      ParameterDriver[] getDragParametersDrivers()
      Get the drivers for supported parameters.
    • Constructor Detail

      • IsotropicDrag

        public IsotropicDrag​(double crossSection,
                             double dragCoeff)
        Constructor with drag coefficient min/max set to ±∞.
        Parameters:
        crossSection - Surface (m²)
        dragCoeff - drag coefficient
      • IsotropicDrag

        public IsotropicDrag​(double crossSection,
                             double dragCoeff,
                             double dragCoeffMin,
                             double dragCoeffMax)
        Constructor with drag coefficient min/max set by user.
        Parameters:
        crossSection - Surface (m²)
        dragCoeff - drag coefficient
        dragCoeffMin - Minimum value of drag coefficient
        dragCoeffMax - Maximum value of drag coefficient
    • Method Detail

      • dragAcceleration

        public org.hipparchus.geometry.euclidean.threed.Vector3D dragAcceleration​(AbsoluteDate date,
                                                                                  Frame frame,
                                                                                  org.hipparchus.geometry.euclidean.threed.Vector3D position,
                                                                                  org.hipparchus.geometry.euclidean.threed.Rotation rotation,
                                                                                  double mass,
                                                                                  double density,
                                                                                  org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity,
                                                                                  double[] parameters)
        Compute the acceleration due to drag.

        The computation includes all spacecraft specific characteristics like shape, area and coefficients.

        Specified by:
        dragAcceleration in interface DragSensitive
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        density - atmospheric density at spacecraft position
        relativeVelocity - relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)
        parameters - values of the force model parameters
        Returns:
        spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
      • dragAcceleration

        public <T extends org.hipparchus.RealFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> dragAcceleration​(FieldAbsoluteDate<T> date,
                                                                                                                                         Frame frame,
                                                                                                                                         org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
                                                                                                                                         org.hipparchus.geometry.euclidean.threed.FieldRotation<T> rotation,
                                                                                                                                         T mass,
                                                                                                                                         T density,
                                                                                                                                         org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity,
                                                                                                                                         T[] parameters)
        Compute the acceleration due to drag.

        The computation includes all spacecraft specific characteristics like shape, area and coefficients.

        Specified by:
        dragAcceleration in interface DragSensitive
        Type Parameters:
        T - instance of a RealFieldElement
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        density - atmospheric density at spacecraft position
        relativeVelocity - relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)
        parameters - values of the force model parameters
        Returns:
        spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
      • dragAcceleration

        public org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.DerivativeStructure> dragAcceleration​(AbsoluteDate date,
                                                                                                                                                    Frame frame,
                                                                                                                                                    org.hipparchus.geometry.euclidean.threed.Vector3D position,
                                                                                                                                                    org.hipparchus.geometry.euclidean.threed.Rotation rotation,
                                                                                                                                                    double mass,
                                                                                                                                                    double density,
                                                                                                                                                    org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity,
                                                                                                                                                    double[] parameters,
                                                                                                                                                    String paramName)
        Compute acceleration due to drag, with parameters derivatives.
        Specified by:
        dragAcceleration in interface DragSensitive
        Parameters:
        date - current date
        frame - inertial reference frame for state (both orbit and attitude)
        position - position of spacecraft in reference frame
        rotation - orientation (attitude) of the spacecraft with respect to reference frame
        mass - current mass
        density - atmospheric density at spacecraft position
        relativeVelocity - relative velocity of atmosphere with respect to spacecraft, in the same inertial frame as spacecraft orbit (m/s)
        parameters - values of the force model parameters
        paramName - name of the parameter with respect to which derivatives are required
        Returns:
        spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)