Class AbstractIndirectShooting

java.lang.Object
org.orekit.control.indirect.shooting.AbstractIndirectShooting
Direct Known Subclasses:
AbstractFixedInitialCartesianSingleShooting

public abstract class AbstractIndirectShooting extends Object
Abstract class for indirect shooting methods with numerical propagation.
Since:
12.2
Author:
Romain Serra
  • Field Details

    • DEFAULT_TOLERANCE_MASS_ADJOINT

      public static final double DEFAULT_TOLERANCE_MASS_ADJOINT
      Default value for convergence tolerance on mass adjoint variable.
      See Also:
  • Constructor Details

    • AbstractIndirectShooting

      protected AbstractIndirectShooting(ShootingPropagationSettings propagationSettings)
      Constructor.
      Parameters:
      propagationSettings - propagation settings
  • Method Details

    • getPropagationSettings

      public ShootingPropagationSettings getPropagationSettings()
      Getter for the propagation settings.
      Returns:
      propagation settings
    • solve

      public abstract ShootingBoundaryOutput solve(double initialMass, double[] initialGuess)
      Solve for the boundary conditions, given an initial mass and an initial guess for the adjoint variables.
      Parameters:
      initialMass - initial mass
      initialGuess - initial guess
      Returns:
      boundary problem solution
    • buildInternalPropagator

      protected NumericalPropagator buildInternalPropagator(SpacecraftState initialState)
      Create numerical propagator for internal use only.
      Parameters:
      initialState - initial state
      Returns:
      numerical propagator
      Since:
      14.0
    • buildBasicPropagator

      protected NumericalPropagator buildBasicPropagator(SpacecraftState initialState)
      Create numerical propagator without adjoint derivatives.
      Parameters:
      initialState - initial state
      Returns:
      numerical propagator
      Since:
      14.0
    • buildFieldIntegrator

      protected <T extends CalculusFieldElement<T>> FieldExplicitRungeKuttaIntegrator<T> buildFieldIntegrator(FieldSpacecraftState<T> initialState)
      Create Field integrator.
      Type Parameters:
      T - field type
      Parameters:
      initialState - initial state
      Returns:
      integrator.