Class AbstractFixedInitialCartesianSingleShooting

    • Constructor Detail

      • AbstractFixedInitialCartesianSingleShooting

        protected AbstractFixedInitialCartesianSingleShooting​(ShootingPropagationSettings propagationSettings,
                                                              SpacecraftState initialSpacecraftStateTemplate)
        Constructor with boundary conditions as orbits.
        Parameters:
        propagationSettings - propagation settings
        initialSpacecraftStateTemplate - template for initial propagation state
    • Method Detail

      • getScales

        protected double[] getScales()
        Protected getter for the differentiation scales.
        Returns:
        scales for variable scales
      • getMaximumIterationCount

        public abstract int getMaximumIterationCount()
        Returns the maximum number of iterations.
        Returns:
        maximum iterations
      • solve

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

        public ShootingBoundaryOutput solve​(double initialMass,
                                            double[] initialGuess,
                                            double[] userScales)
        Solve for the boundary conditions, given an initial mass and an initial guess for the adjoint variables. Uses scales for automatic differentiation.
        Parameters:
        initialMass - initial mass
        initialGuess - initial guess
        userScales - scales
        Returns:
        boundary problem solution
      • computeCandidateSolution

        public abstract ShootingBoundaryOutput computeCandidateSolution​(SpacecraftState initialState,
                                                                        int iterationCount)
        Form solution container with input initial state.
        Parameters:
        initialState - initial state
        iterationCount - iteration count
        Returns:
        candidate solution
      • createInitialStateWithMass

        protected SpacecraftState createInitialStateWithMass​(double initialMass)
        Create initial state with input mass.
        Parameters:
        initialMass - initial mass
        Returns:
        state
      • createFieldInitialStateWithMassAndAdjoint

        protected FieldSpacecraftState<Gradient> createFieldInitialStateWithMassAndAdjoint​(double initialMass,
                                                                                           double[] initialAdjoint)
        Create initial Gradient state with input mass and adjoint vector, the latter being the independent variables.
        Parameters:
        initialMass - initial mass
        initialAdjoint - initial adjoint variables
        Returns:
        state
      • createFieldState

        protected <T extends CalculusFieldElement<T>> FieldSpacecraftState<T> createFieldState​(FieldAbsoluteDate<T> date,
                                                                                               T[] cartesian,
                                                                                               T mass,
                                                                                               T[] adjoint)
        Create state.
        Type Parameters:
        T - field type
        Parameters:
        date - epoch
        cartesian - Cartesian variables
        mass - mass
        adjoint - adjoint variables
        Returns:
        state
      • updateShootingVariables

        protected abstract double[] updateShootingVariables​(double[] originalShootingVariables,
                                                            FieldSpacecraftState<Gradient> fieldTerminalState)
        Update shooting variables.
        Parameters:
        originalShootingVariables - original shooting variables (before update)
        fieldTerminalState - final state of gradient propagation
        Returns:
        updated shooting variables