Class CR3BPMultipleShooter
- java.lang.Object
-
- org.orekit.utils.AbstractMultipleShooting
-
- org.orekit.propagation.numerical.cr3bp.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 Summary
Constructors Constructor Description CR3BPMultipleShooter(List<SpacecraftState> initialGuessList, List<NumericalPropagator> propagatorList, List<STMEquations> stmEquations, double tolerance, int maxIter)Simple Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double[]computeAdditionalConstraints(List<SpacecraftState> propagatedSP)Compute the additional constraints.protected double[][]computeAdditionalJacobianMatrix(List<SpacecraftState> propagatedSP)Compute a part of the Jacobian matrix from additional constraints.protected SpacecraftStategetAugmentedInitialState(int i)Compute the additional state from the additionalEquations.protected intgetNumberOfConstraints()Get the total number of constraints.voidsetClosedOrbitConstraint(boolean isClosed)Set the constraint of a closed orbit or not.voidsetEpochFreedom(int patchIndex, boolean isFree)Set the epoch of a patch point to free or not.voidsetScaleLength(double scaleLength)Set the scale length.voidsetScaleTime(double scaleTime)Set the scale time.-
Methods inherited from class org.orekit.utils.AbstractMultipleShooting
addConstraint, compute, computeEpochJacobianMatrix, getConstraintsMap, getFreeCompsMap, getNumberOfFreeComponents, getPatchedSpacecraftState, getPatchPoint, setPatchPointComponentFreedom, updateAdditionalConstraints
-
-
-
-
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 correctedpropagatorList- list of propagators associated to each patch pointstmEquations- list of additional derivatives providers linked to propagatorListtolerance- convergence tolerance on the constraint vectormaxIter- maximum number of iterations
-
-
Method Detail
-
getAugmentedInitialState
protected SpacecraftState getAugmentedInitialState(int i)
Compute the additional state from the additionalEquations.- Specified by:
getAugmentedInitialStatein classAbstractMultipleShooting- 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:
setEpochFreedomin classAbstractMultipleShooting- Parameters:
patchIndex- Patch point index (zero-based)isFree- constraint value
-
setScaleLength
public void setScaleLength(double scaleLength)
Set the scale length.- Overrides:
setScaleLengthin classAbstractMultipleShooting- Parameters:
scaleLength- scale length in meters
-
setScaleTime
public void setScaleTime(double scaleTime)
Set the scale time.- Overrides:
setScaleTimein classAbstractMultipleShooting- 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
-
computeAdditionalJacobianMatrix
protected double[][] computeAdditionalJacobianMatrix(List<SpacecraftState> propagatedSP)
Compute a part of the Jacobian matrix from additional constraints.- Specified by:
computeAdditionalJacobianMatrixin classAbstractMultipleShooting- Parameters:
propagatedSP- propagatedSP- Returns:
- jacobianMatrix Jacobian sub-matrix
-
computeAdditionalConstraints
protected double[] computeAdditionalConstraints(List<SpacecraftState> propagatedSP)
Compute the additional constraints.- Specified by:
computeAdditionalConstraintsin classAbstractMultipleShooting- Parameters:
propagatedSP- propagated SpacecraftState- Returns:
- fxAdditional additional constraints
-
getNumberOfConstraints
protected int getNumberOfConstraints()
Get the total number of constraints.- Overrides:
getNumberOfConstraintsin classAbstractMultipleShooting- Returns:
- the total number of constraints
-
-