public abstract class AbstractMultipleShooting extends Object implements MultipleShooting
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractMultipleShooting(List<SpacecraftState> initialGuessList,
List<NumericalPropagator> propagatorList,
List<AdditionalEquations> additionalEquations,
double arcDuration,
double tolerance,
String additionalName)
Simple Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addConstraint(int patchNumber,
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(SpacecraftState initialState,
AdditionalEquations additionalEquations2)
Compute the additional state from the additionalEquations.
|
protected Map<Integer,Double> |
getConstraintsMap()
Get the map of patch points components which are constrained.
|
protected boolean[] |
getFreeEpochMap()
Get the flags representing the free epoch of patch points.
|
protected boolean[] |
getFreePatchPointMap()
Get the flags representing the free components of patch points.
|
protected int |
getNumberOfConstraints()
Get the number of constraints.
|
protected int |
getNumberOfFreeEpoch()
Get the number of free epoch.
|
protected int |
getNumberOfFreeVariables()
Get the number of free variables.
|
protected List<SpacecraftState> |
getPatchedSpacecraftState()
Get the list of patched spacecraft states.
|
protected List<NumericalPropagator> |
getPropagatorList()
Get the list of propagators.
|
protected boolean |
isClosedOrbit()
Get he flag representing if the orbit is closed.
|
void |
setClosedOrbitConstraint(boolean isClosed)
Set the constraint of a closed orbit or not.
|
void |
setEpochFreedom(int patchNumber,
boolean isFree)
Set the epoch a patch point to free or not.
|
void |
setPatchPointComponentFreedom(int patchNumber,
int componentIndex,
boolean isFree)
Set a component of a patch point to free or not.
|
protected void |
updateAdditionalConstraints(int startIndex,
double[] fxAdditional)
Update the array of additional constraints.
|
protected AbstractMultipleShooting(List<SpacecraftState> initialGuessList, List<NumericalPropagator> propagatorList, List<AdditionalEquations> additionalEquations, double arcDuration, double tolerance, String additionalName)
Standard constructor for multiple shooting
initialGuessList - initial patch points to be corrected.propagatorList - list of propagators associated to each patch point.additionalEquations - list of additional equations linked to propagatorList.arcDuration - initial guess of the duration of each arc.tolerance - convergence tolerance on the constraint vector.additionalName - name of the additional equationspublic void setPatchPointComponentFreedom(int patchNumber,
int componentIndex,
boolean isFree)
patchNumber - Patch point with constraintcomponentIndex - Component of the patch points which are constrained.isFree - constraint valuepublic void addConstraint(int patchNumber,
int componentIndex,
double constraintValue)
patchNumber - Patch point with constraintcomponentIndex - Component of the patch points which are constrained.constraintValue - constraint valuepublic void setEpochFreedom(int patchNumber,
boolean isFree)
patchNumber - Patch pointisFree - 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(SpacecraftState initialState, AdditionalEquations additionalEquations2)
initialState - SpacecraftState without the additional stateadditionalEquations2 - Additional Equations.public void setClosedOrbitConstraint(boolean isClosed)
isClosed - true if orbit should be closedprotected int getNumberOfFreeVariables()
protected int getNumberOfFreeEpoch()
protected int getNumberOfConstraints()
protected boolean[] getFreePatchPointMap()
protected boolean[] getFreeEpochMap()
protected Map<Integer,Double> getConstraintsMap()
protected List<SpacecraftState> getPatchedSpacecraftState()
protected List<NumericalPropagator> getPropagatorList()
protected boolean isClosedOrbit()
Copyright © 2002-2020 CS GROUP. All rights reserved.