Interface DragSensitive

All Known Implementing Classes:
BoxAndSolarArraySpacecraft, IsotropicDrag

public interface DragSensitive
Interface for spacecraft that are sensitive to atmospheric drag forces.
Author:
Luc Maisonobe, Pascal Parraud
See Also:
  • Field Details

    • GLOBAL_DRAG_FACTOR

      static final String GLOBAL_DRAG_FACTOR
      Parameter name for global multiplicative factor.
      Since:
      12.0
      See Also:
    • DRAG_COEFFICIENT

      static final String DRAG_COEFFICIENT
      Parameter name for drag coefficient.
      See Also:
    • LIFT_RATIO

      static final String LIFT_RATIO
      Parameter name for lift ration enabling Jacobian processing.

      The lift ratio is the proportion of atmosphere modecules that will experience specular reflection when hitting spacecraft instead of experiencing diffuse reflection. The ratio is between 0 and 1, 0 meaning there are no specular reflection, only diffuse reflection, and hence no lift effect.

      Since:
      9.0
      See Also:
  • Method Details

    • dependsOnAttitudeRate

      default boolean dependsOnAttitudeRate()
      Check if model depends on attitude's rotation rate or acceleration at a given, fixed date. If false, it essentially means that at most the attitude's rotation is used when computing the acceleration vector. The default implementation returns false as common models for orbital mechanics do not.
      Returns:
      true if force model depends on attitude derivatives
      Since:
      12.1
    • getDragParametersDrivers

      List<ParameterDriver> getDragParametersDrivers()
      Get the drivers for supported parameters.
      Returns:
      parameters drivers
      Since:
      8.0
    • dragAcceleration

      Vector3D dragAcceleration(SpacecraftState state, double density, Vector3D relativeVelocity, double[] parameters)
      Compute the acceleration due to drag.

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

      Parameters:
      state - current state
      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²)
      Since:
      12.0
    • dragAcceleration

      <T extends CalculusFieldElement<T>> FieldVector3D<T> dragAcceleration(FieldSpacecraftState<T> state, T density, FieldVector3D<T> relativeVelocity, T[] parameters)
      Compute the acceleration due to drag.

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

      Type Parameters:
      T - instance of a CalculusFieldElement
      Parameters:
      state - current state
      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²)
      Since:
      12.0