Class AbstractVariableStepIntegratorBuilder<T extends AdaptiveStepsizeIntegrator>

java.lang.Object
org.orekit.propagation.conversion.AbstractIntegratorBuilder<T>
org.orekit.propagation.conversion.AbstractVariableStepIntegratorBuilder<T>
Type Parameters:
T - type of the integrator
All Implemented Interfaces:
ODEIntegratorBuilder
Direct Known Subclasses:
AdamsBashforthIntegratorBuilder, AdamsMoultonIntegratorBuilder, DormandPrince54IntegratorBuilder, DormandPrince853IntegratorBuilder, GraggBulirschStoerIntegratorBuilder, HighamHall54IntegratorBuilder

public abstract class AbstractVariableStepIntegratorBuilder<T extends AdaptiveStepsizeIntegrator> extends AbstractIntegratorBuilder<T>
Abstract class for integrator builder using variable step size.
Since:
12.2
Author:
Romain Serra
  • Constructor Details

    • AbstractVariableStepIntegratorBuilder

      protected AbstractVariableStepIntegratorBuilder(double minStep, double maxStep, ToleranceProvider toleranceProvider)
      Constructor.
      Parameters:
      minStep - minimum step size (s)
      maxStep - maximum step size (s)
      toleranceProvider - integration tolerance provider
      Since:
      13.0
  • Method Details

    • getMaxStep

      public double getMaxStep()
      Getter for the maximum step.
      Returns:
      max stepsize
      Since:
      13.0
    • getMinStep

      public double getMinStep()
      Getter for the minimum step.
      Returns:
      min stepsize
      Since:
      13.0
    • getTolerances

      protected double[][] getTolerances(Orbit orbit, OrbitType orbitType)
      Computes tolerances.
      Parameters:
      orbit - initial orbit
      orbitType - orbit type for integration
      Returns:
      integrator tolerances
    • getTolerances

      protected double[][] getTolerances(AbsolutePVCoordinates absolutePVCoordinates)
      Computes tolerances.
      Parameters:
      absolutePVCoordinates - position-velocity vector
      Returns:
      integrator tolerances
      Since:
      13.0
    • buildIntegrator

      public T buildIntegrator(Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
      Build a first order integrator.
      Specified by:
      buildIntegrator in interface ODEIntegratorBuilder
      Specified by:
      buildIntegrator in class AbstractIntegratorBuilder<T extends AdaptiveStepsizeIntegrator>
      Parameters:
      orbit - reference orbit
      orbitType - orbit type to use
      angleType - position angle type to use
      Returns:
      a first order integrator ready to use
    • buildIntegrator

      public T buildIntegrator(AbsolutePVCoordinates absolutePVCoordinates)
      Build a first order integrator. Non-orbit version.
      Specified by:
      buildIntegrator in interface ODEIntegratorBuilder
      Overrides:
      buildIntegrator in class AbstractIntegratorBuilder<T extends AdaptiveStepsizeIntegrator>
      Parameters:
      absolutePVCoordinates - absolute position-velocity vector
      Returns:
      a first order integrator ready to use
    • buildIntegrator

      protected abstract T buildIntegrator(double[][] tolerances)
      Builds an integrator from input absolute and relative tolerances.
      Parameters:
      tolerances - tolerance array
      Returns:
      integrator
      Since:
      13.0
    • getDefaultToleranceProvider

      protected static ToleranceProvider getDefaultToleranceProvider(double dP)
      Get a default tolerance provider.
      Parameters:
      dP - expected position error (m)
      Returns:
      tolerance provider
      Since:
      13.0