Class CR3BPMultipleShooter

  • All Implemented Interfaces:
    MultipleShooting

    public class CR3BPMultipleShooter
    extends AbstractMultipleShooting
    Multiple shooting method applicable for orbits, either propagation in CR3BP, or in an ephemeris model.
    Author:
    William Desprats, Alberto Fossà
    See Also:
    "TRAJECTORY DESIGN AND ORBIT MAINTENANCE STRATEGIES IN MULTI-BODY DYNAMICAL REGIMES by Thomas A. Pavlak, Purdue University"
    • Constructor Detail

      • CR3BPMultipleShooter

        public CR3BPMultipleShooter​(List<SpacecraftState> initialGuessList,
                                    List<NumericalPropagator> propagatorList,
                                    List<STMEquations> stmEquations,
                                    double tolerance,
                                    int maxIter)
        Simple Constructor.

        Standard constructor for multiple shooting which can be used with the CR3BP model.

        Parameters:
        initialGuessList - initial patch points to be corrected
        propagatorList - list of propagators associated to each patch point
        stmEquations - list of additional derivatives providers linked to propagatorList
        tolerance - convergence tolerance on the constraint vector
        maxIter - maximum number of iterations
    • Method Detail

      • getAugmentedInitialState

        protected SpacecraftState getAugmentedInitialState​(int i)
        Compute the additional state from the additionalEquations.
        Specified by:
        getAugmentedInitialState in class AbstractMultipleShooting
        Parameters:
        i - index of the state
        Returns:
        augmentedSP SpacecraftState with the additional state within.
      • setEpochFreedom

        public void setEpochFreedom​(int patchIndex,
                                    boolean isFree)
        Set the epoch of a patch point to free or not.
        Overrides:
        setEpochFreedom in class AbstractMultipleShooting
        Parameters:
        patchIndex - Patch point index (zero-based)
        isFree - constraint value
      • setScaleLength

        public void setScaleLength​(double scaleLength)
        Set the scale length.
        Overrides:
        setScaleLength in class AbstractMultipleShooting
        Parameters:
        scaleLength - scale length in meters
      • setScaleTime

        public void setScaleTime​(double scaleTime)
        Set the scale time.
        Overrides:
        setScaleTime in class AbstractMultipleShooting
        Parameters:
        scaleTime - scale time in seconds
      • setClosedOrbitConstraint

        public void setClosedOrbitConstraint​(boolean isClosed)
        Set the constraint of a closed orbit or not.
        Parameters:
        isClosed - true if orbit should be closed