public abstract class AbstractMultipleShooting extends Object implements MultipleShooting
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractMultipleShooting(List<SpacecraftState> initialGuessList,
List<NumericalPropagator> propagatorList,
double tolerance,
int maxIter,
boolean isAutonomous,
String additionalName)
Simple Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addConstraint(int patchIndex,
int componentIndex,
double constraintValue)
Add a constraint on one component of one patch point.
|
List<SpacecraftState> |
compute()
Return the list of corrected patch points.
|
protected abstract double[] |
computeAdditionalConstraints(List<SpacecraftState> propagatedSP)
Compute the additional constraints.
|
protected abstract double[][] |
computeAdditionalJacobianMatrix(List<SpacecraftState> propagatedSP)
Compute a part of the Jacobian matrix from additional constraints.
|
protected double[][] |
computeEpochJacobianMatrix(List<SpacecraftState> propagatedSP)
Compute a part of the Jacobian matrix with derivatives from epoch.
|
protected abstract SpacecraftState |
getAugmentedInitialState(int i)
Compute the additional state from the additionalEquations.
|
protected Map<Integer,Double> |
getConstraintsMap()
Get the map of patch points components which are constrained.
|
protected boolean[] |
getFreeCompsMap()
Get the map of free state components.
|
protected int |
getNumberOfConstraints()
Get the total number of constraints.
|
protected int |
getNumberOfFreeComponents()
Get the number of free state components.
|
protected List<SpacecraftState> |
getPatchedSpacecraftState()
Get the list of patched spacecraft states.
|
protected SpacecraftState |
getPatchPoint(int i)
Get a patch point.
|
void |
setEpochFreedom(int patchIndex,
boolean isFree)
Set the epoch of a patch point to free or not.
|
void |
setPatchPointComponentFreedom(int patchIndex,
int componentIndex,
boolean isFree)
Set a component of a patch point to free or not.
|
void |
setScaleLength(double scaleLength)
Set the scale length.
|
void |
setScaleTime(double scaleTime)
Set the scale time.
|
protected void |
updateAdditionalConstraints(int startIndex,
double[] fxAdditional)
Update the array of additional constraints.
|
protected AbstractMultipleShooting(List<SpacecraftState> initialGuessList, List<NumericalPropagator> propagatorList, double tolerance, int maxIter, boolean isAutonomous, String additionalName)
Standard constructor for multiple shooting
initialGuessList - initial patch points to be correctedpropagatorList - list of propagators associated to each patch pointtolerance - convergence tolerance on the constraint vectormaxIter - maximum number of iterationsisAutonomous - true if the dynamical system is autonomous (i.e. not dependent on the epoch)additionalName - name of the additional equationsprotected SpacecraftState getPatchPoint(int i)
i - index of the patch pointpublic void setPatchPointComponentFreedom(int patchIndex,
int componentIndex,
boolean isFree)
patchIndex - Patch point index (zero-based)componentIndex - Index of the component to be constrained (zero-based)isFree - constraint valuepublic void setEpochFreedom(int patchIndex,
boolean isFree)
patchIndex - Patch point index (zero-based)isFree - constraint valuepublic void setScaleTime(double scaleTime)
scaleTime - scale time in secondspublic void setScaleLength(double scaleLength)
scaleLength - scale length in meterspublic void addConstraint(int patchIndex,
int componentIndex,
double constraintValue)
patchIndex - Patch point index (zero-based)componentIndex - Index of the component which is constrained (zero-based)constraintValue - constraint valuepublic List<SpacecraftState> compute()
compute in interface MultipleShootingprotected double[][] computeEpochJacobianMatrix(List<SpacecraftState> propagatedSP)
propagatedSP - propagatedSPprotected void updateAdditionalConstraints(int startIndex,
double[] fxAdditional)
startIndex - start indexfxAdditional - array of additional constraintsprotected abstract double[] computeAdditionalConstraints(List<SpacecraftState> propagatedSP)
propagatedSP - propagated SpacecraftStateprotected abstract double[][] computeAdditionalJacobianMatrix(List<SpacecraftState> propagatedSP)
propagatedSP - propagatedSPprotected abstract SpacecraftState getAugmentedInitialState(int i)
i - index of the stateprotected int getNumberOfFreeComponents()
protected int getNumberOfConstraints()
protected boolean[] getFreeCompsMap()
protected Map<Integer,Double> getConstraintsMap()
protected List<SpacecraftState> getPatchedSpacecraftState()
Copyright © 2002-2023 CS GROUP. All rights reserved.