Class AbstractFixedBoundaryCartesianSingleShooting

    • Method Detail

      • setScalePositionDefects

        public void setScalePositionDefects​(double scalePositionDefects)
        Setter for scale of position defects.
        Parameters:
        scalePositionDefects - new scale
      • getScalePositionDefects

        public double getScalePositionDefects()
        Getter for scale of position defects.
        Returns:
        scale
      • setScaleVelocityDefects

        public void setScaleVelocityDefects​(double scaleVelocityDefects)
        Setter for scale of velocity defects.
        Parameters:
        scaleVelocityDefects - new scale
      • getScaleVelocityDefects

        public double getScaleVelocityDefects()
        Getter for scale of velocity defects.
        Returns:
        scale
      • getTerminalCartesianState

        protected TimeStampedPVCoordinates getTerminalCartesianState()
        Getter for the target terminal Cartesian state vector.
        Returns:
        expected terminal state
      • setToleranceMassAdjoint

        public void setToleranceMassAdjoint​(double toleranceMassAdjoint)
        Setter for mass adjoint tolerance.
        Parameters:
        toleranceMassAdjoint - new tolerance value
      • 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
      • createStateWithMassAndAdjoint

        protected SpacecraftState createStateWithMassAndAdjoint​(double initialMass,
                                                                double[] initialAdjoint)
        Create initial state with input mass and adjoint vector.
        Parameters:
        initialMass - initial mass
        initialAdjoint - initial adjoint variables
        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
        Since:
        13.0
      • updateAdjoint

        protected abstract double[] updateAdjoint​(double[] originalInitialAdjoint,
                                                  FieldSpacecraftState<Gradient> fieldTerminalState)
        Update initial adjoint vector.
        Parameters:
        originalInitialAdjoint - original initial adjoint (before update)
        fieldTerminalState - final state of gradient propagation
        Returns:
        updated initial adjoint vector