Class IsotropicDragBuilder

java.lang.Object
org.orekit.forces.drag.IsotropicDragBuilder

public class IsotropicDragBuilder extends Object
Builder for IsotropicDrag allowing to set coefficients on different time spans.
Since:
14.0
Author:
Luc Maisonobe
  • Constructor Details

    • IsotropicDragBuilder

      public IsotropicDragBuilder(double crossSection)
      Constructor for an initially empty builder, with min/max set to ±∞.
      Parameters:
      crossSection - Surface (m²)
    • IsotropicDragBuilder

      public IsotropicDragBuilder(double crossSection, double dragCoeffMin, double dragCoeffMax)
      Constructor for an initially empty builder.

      The builder build() method cannot be called right after construction. Some drag coefficients must be set before, either by calling the addDragCoeff(dragCoeff) method once, or by calling the addDragCoeff(dragCoeff, earliestValidityDate, latestValidityDate) method as many times as needed to cover the usage range before the build() method can be called.

      Parameters:
      crossSection - Surface (m²)
      dragCoeffMin - minimum value of drag coefficient
      dragCoeffMax - maximum value of drag coefficient
  • Method Details

    • addDragCoeff

      public IsotropicDragBuilder addDragCoeff(double dragCoeff)
      Add a coefficient throughout timeline.

      Calling this method is equivalent to call addDragCoeff(dragCoeff, AbsoluteDate.PAST_INFINITY, AbsoluteDate.FUTURE_INFINITY).

      Parameters:
      dragCoeff - drag coefficient
      Returns:
      the instance itself, allowing use of the fluent interface pattern
    • addDragCoeff

      public IsotropicDragBuilder addDragCoeff(double dragCoeff, AbsoluteDate earliestValidityDate, AbsoluteDate latestValidityDate)
      Add a coefficient valid for a time span.
      Parameters:
      dragCoeff - drag coefficient
      earliestValidityDate - date after which the coefficient is valid
      latestValidityDate - date before which the coefficient is valid
      Returns:
      the instance itself, allowing use of the fluent interface pattern
    • build

      public IsotropicDrag build()
      Build a drag model.

      If only one coefficient has been set, its name will be DragSensitive.DRAG_COEFFICIENT. If several coefficients have been set, their names will be built by prepending ParameterDriversSequenceBuilder.SPAN_PREFIX to DragSensitive.DRAG_COEFFICIENT and then appending an index counting from 1.

      Returns:
      built model