Class AbstractVariableStepFieldIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>

java.lang.Object
org.orekit.propagation.conversion.FieldAbstractIntegratorBuilder<T,W>
org.orekit.propagation.conversion.AbstractVariableStepFieldIntegratorBuilder<T,W>
Type Parameters:
T - type of the field elements
W - type of the field integrator
All Implemented Interfaces:
FieldODEIntegratorBuilder<T>
Direct Known Subclasses:
AbstractLimitedVariableStepFieldIntegratorBuilder, DormandPrince54FieldIntegratorBuilder, DormandPrince853FieldIntegratorBuilder, HighamHall54FieldIntegratorBuilder

public abstract class AbstractVariableStepFieldIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>> extends FieldAbstractIntegratorBuilder<T,W>
Abstract class for integrator builder using variable step size.
Author:
Vincent Cucchietti
  • Constructor Details

    • AbstractVariableStepFieldIntegratorBuilder

      protected AbstractVariableStepFieldIntegratorBuilder(double minStep, double maxStep, ToleranceProvider toleranceProvider)
      Constructor with expected velocity error.
      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
    • getToleranceProvider

      public ToleranceProvider getToleranceProvider()
      Getter for the integration tolerance provider.
      Returns:
      tolerance provider
      Since:
      13.0
    • getTolerances

      protected double[][] getTolerances(Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
      Computes tolerances.
      Parameters:
      orbit - initial orbit
      orbitType - orbit type to use
      angleType - position angle type to use
      Returns:
      integrator tolerances
      Since:
      13.0
    • getTolerances

      protected double[][] getTolerances(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
      Computes tolerances.
      Parameters:
      fieldAbsolutePVCoordinates - position-velocity vector
      Returns:
      integrator tolerances
      Since:
      13.0
    • buildIntegrator

      public W buildIntegrator(Field<T> field, Orbit orbit, OrbitType orbitType, PositionAngleType angleType)
      Build a first order integrator.
      Specified by:
      buildIntegrator in interface FieldODEIntegratorBuilder<T extends CalculusFieldElement<T>>
      Specified by:
      buildIntegrator in class FieldAbstractIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>
      Parameters:
      field - field
      orbit - reference orbit
      orbitType - orbit type to use
      angleType - position angle type to use
      Returns:
      a first order integrator ready to use
    • buildIntegrator

      public W buildIntegrator(FieldAbsolutePVCoordinates<T> fieldAbsolutePVCoordinates)
      Build a first order integrator. Non-orbit version.
      Specified by:
      buildIntegrator in interface FieldODEIntegratorBuilder<T extends CalculusFieldElement<T>>
      Overrides:
      buildIntegrator in class FieldAbstractIntegratorBuilder<T extends CalculusFieldElement<T>,W extends AdaptiveStepsizeFieldIntegrator<T>>
      Parameters:
      fieldAbsolutePVCoordinates - absolute position-velocity
      Returns:
      a first order integrator ready to use
    • buildIntegrator

      protected abstract W buildIntegrator(Field<T> field, double[][] tolerances)
      Build integrator from absolute and relative tolerances.
      Parameters:
      field - field
      tolerances - array of tolerances
      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