Class AbstractJacobiansMapper
- java.lang.Object
-
- org.orekit.propagation.integration.AbstractJacobiansMapper
-
- All Implemented Interfaces:
MatricesHarvester
- Direct Known Subclasses:
DSSTJacobiansMapper
,JacobiansMapper
,TLEJacobiansMapper
public abstract class AbstractJacobiansMapper extends Object implements MatricesHarvester
Base class for jacobian mapper.- Since:
- 10.0
- Author:
- Bryan Cazabonne
-
-
Field Summary
Fields Modifier and Type Field Description static int
STATE_DIMENSION
State dimension, fixed to 6.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractJacobiansMapper(String name, ParameterDriversList parameters)
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
analyticalDerivatives(SpacecraftState s)
Deprecated.as of 11.1, not used anymoreint
getAdditionalStateDimension()
Compute the length of the one-dimensional additional state array needed.List<String>
getJacobiansColumnsNames()
Get the names of the parameters in the matrix returned byMatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState)
.String
getName()
Get the name of the partial Jacobians.int
getParameters()
Get the number of parameters.RealMatrix
getParametersJacobian(SpacecraftState s)
Get the Jacobian with respect to propagation parameters.abstract void
getParametersJacobian(SpacecraftState state, double[][] dYdP)
Get the Jacobian with respect to parameters from a one-dimensional additional state array.abstract void
getStateJacobian(SpacecraftState state, double[][] dYdY0)
Get the Jacobian with respect to state from a one-dimensional additional state array.RealMatrix
getStateTransitionMatrix(SpacecraftState s)
Extract state transition matrix from state.abstract void
setInitialJacobians(SpacecraftState state, double[][] dY1dY0, double[][] dY1dP, double[] p)
Set the Jacobian with respect to state into a one-dimensional additional state array.void
setReferenceState(SpacecraftState reference)
Set up reference state.
-
-
-
Field Detail
-
STATE_DIMENSION
public static final int STATE_DIMENSION
State dimension, fixed to 6.- Since:
- 9.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractJacobiansMapper
protected AbstractJacobiansMapper(String name, ParameterDriversList parameters)
Simple constructor.- Parameters:
name
- name of the Jacobiansparameters
- selected parameters for Jacobian computation
-
-
Method Detail
-
getName
public String getName()
Get the name of the partial Jacobians.- Returns:
- name of the Jacobians
-
getParameters
public int getParameters()
Get the number of parameters.- Returns:
- number of parameters
-
getAdditionalStateDimension
public int getAdditionalStateDimension()
Compute the length of the one-dimensional additional state array needed.- Returns:
- length of the one-dimensional additional state array
-
analyticalDerivatives
@Deprecated public void analyticalDerivatives(SpacecraftState s)
Deprecated.as of 11.1, not used anymoreNot used anymore.- Parameters:
s
- spacecraft state
-
setReferenceState
public void setReferenceState(SpacecraftState reference)
Set up reference state.This method is called whenever the global propagation reference state changes. This corresponds to the start of propagation in batch least squares orbit determination or at prediction step for each measurement in Kalman filtering. Its goal is to allow the harvester to compute some internal data. Analytical models like TLE use it to compute analytical derivatives, semi-analytical models like DSST use it to compute short periodic terms, numerical models do not use it at all.
- Specified by:
setReferenceState
in interfaceMatricesHarvester
- Parameters:
reference
- reference state to set
-
getStateTransitionMatrix
public RealMatrix getStateTransitionMatrix(SpacecraftState s)
Extract state transition matrix from state.- Specified by:
getStateTransitionMatrix
in interfaceMatricesHarvester
- Parameters:
s
- spacecraft state- Returns:
- state transition matrix, with semantics consistent with propagation,
or null if no state transition matrix is available
orbit type
.
-
getParametersJacobian
public RealMatrix getParametersJacobian(SpacecraftState s)
Get the Jacobian with respect to propagation parameters.- Specified by:
getParametersJacobian
in interfaceMatricesHarvester
- Parameters:
s
- spacecraft state- Returns:
- Jacobian with respect to propagation parameters, or null if there are no parameters
-
getJacobiansColumnsNames
public List<String> getJacobiansColumnsNames()
Get the names of the parameters in the matrix returned byMatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState)
.Beware that the names of the parameters are fully known only once all force models have been set up and their parameters properly selected. Applications that retrieve the matrices harvester first and select the force model parameters to retrieve afterwards (but obviously before starting propagation) must take care to wait until the parameters have been set up before they call this method. Calling the method too early would return wrong results.
The names are returned in the Jacobians matrix columns order
- Specified by:
getJacobiansColumnsNames
in interfaceMatricesHarvester
- Returns:
- names of the parameters (i.e. columns) of the Jacobian matrix
-
setInitialJacobians
public abstract void setInitialJacobians(SpacecraftState state, double[][] dY1dY0, double[][] dY1dP, double[] p)
Set the Jacobian with respect to state into a one-dimensional additional state array.- Parameters:
state
- spacecraft statedY1dY0
- Jacobian of current state at time t₁ with respect to state at some previous time t₀dY1dP
- Jacobian of current state at time t₁ with respect to parameters (may be null if there are no parameters)p
- placeholder where to put the one-dimensional additional state- See Also:
getStateJacobian(SpacecraftState, double[][])
-
getStateJacobian
public abstract void getStateJacobian(SpacecraftState state, double[][] dYdY0)
Get the Jacobian with respect to state from a one-dimensional additional state array.This method extract the data from the
state
and put it in thedYdY0
array.- Parameters:
state
- spacecraft statedYdY0
- placeholder where to put the Jacobian with respect to state- See Also:
getParametersJacobian(SpacecraftState, double[][])
-
getParametersJacobian
public abstract void getParametersJacobian(SpacecraftState state, double[][] dYdP)
Get the Jacobian with respect to parameters from a one-dimensional additional state array.This method extract the data from the
state
and put it in thedYdP
array.If no parameters have been set in the constructor, the method returns immediately and does not reference
dYdP
which can safely be null in this case.- Parameters:
state
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to parameters- See Also:
getStateJacobian(SpacecraftState, double[][])
-
-