Class IsotropicDrag

java.lang.Object
org.orekit.forces.drag.IsotropicDrag
All Implemented Interfaces:
DragSensitive

public class IsotropicDrag extends Object implements DragSensitive
This class models isotropic drag effects.

The model of this spacecraft is a simple spherical model, this means that all coefficients are constant and do not depend on the direction.

Since:
7.1
Author:
Luc Maisonobe
See Also:
  • Constructor Details

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

    • getDragParametersDrivers

      public List<ParameterDriver> getDragParametersDrivers()
      Get the drivers for supported parameters.
      Specified by:
      getDragParametersDrivers in interface DragSensitive
      Returns:
      parameters drivers
    • dragAcceleration

      public 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.

      Specified by:
      dragAcceleration in interface DragSensitive
      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²)
    • dragAcceleration

      public <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.

      Specified by:
      dragAcceleration in interface DragSensitive
      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²)