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 SpacecraftState
getAugmentedInitialState(int i)
Compute the additional state from the additionalEquations.protected int
getNumberOfConstraints()
Get the total number of constraints.void
setClosedOrbitConstraint(boolean isClosed)
Set the constraint of a closed orbit or not.void
setEpochFreedom(int patchIndex, boolean isFree)
Set the epoch of a patch point to free or not.void
setScaleLength(double scaleLength)
Set the scale length.void
setScaleTime(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:
getAugmentedInitialState
in 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:
setEpochFreedom
in classAbstractMultipleShooting
- Parameters:
patchIndex
- Patch point index (zero-based)isFree
- constraint value
-
setScaleLength
public void setScaleLength(double scaleLength)
Set the scale length.- Overrides:
setScaleLength
in classAbstractMultipleShooting
- Parameters:
scaleLength
- scale length in meters
-
setScaleTime
public void setScaleTime(double scaleTime)
Set the scale time.- Overrides:
setScaleTime
in 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:
computeAdditionalJacobianMatrix
in classAbstractMultipleShooting
- Parameters:
propagatedSP
- propagatedSP- Returns:
- jacobianMatrix Jacobian sub-matrix
-
computeAdditionalConstraints
protected double[] computeAdditionalConstraints(List<SpacecraftState> propagatedSP)
Compute the additional constraints.- Specified by:
computeAdditionalConstraints
in classAbstractMultipleShooting
- Parameters:
propagatedSP
- propagated SpacecraftState- Returns:
- fxAdditional additional constraints
-
getNumberOfConstraints
protected int getNumberOfConstraints()
Get the total number of constraints.- Overrides:
getNumberOfConstraints
in classAbstractMultipleShooting
- Returns:
- the total number of constraints
-
-