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 MultipleShooting
protected 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.