public class JacobiansMapper extends AbstractJacobiansMapper
additional state arrays
.
This class does not hold the states by itself. Instances of this class are guaranteed to be immutable.
PartialDerivativesEquations
,
NumericalPropagator
,
SpacecraftState.getAdditionalState(String)
,
AbstractPropagator
Modifier and Type | Field and Description |
---|---|
static int |
STATE_DIMENSION
State dimension, fixed to 6.
|
Modifier and Type | Method and Description |
---|---|
protected double[][] |
getConversionJacobian(SpacecraftState state)
Get the conversion Jacobian between state parameters and parameters used for derivatives.
|
void |
getParametersJacobian(SpacecraftState state,
double[][] dYdP)
Get the Jacobian with respect to parameters from a one-dimensional additional state array.
|
void |
getStateJacobian(SpacecraftState state,
double[][] dYdY0)
Get the Jacobian with respect to state from a one-dimensional additional state array.
|
void |
setInitialJacobians(SpacecraftState state,
double[][] dY1dY0,
double[][] dY1dP,
double[] p)
Set the Jacobian with respect to state into a one-dimensional additional state array.
|
analyticalDerivatives, getAdditionalStateDimension, getName, getParameters
public static final int STATE_DIMENSION
protected double[][] getConversionJacobian(SpacecraftState state)
For DSST and TLE propagators, state parameters and parameters used for derivatives are the same, so the Jocabian is simply the identity.
For Numerical propagator, parameters used for derivatives are cartesian and they can be different from state parameters because the numerical propagator can accept different type of orbits.
state
- spacecraft statepublic void setInitialJacobians(SpacecraftState state, double[][] dY1dY0, double[][] dY1dP, double[] p)
This method converts the Jacobians to Cartesian parameters and put the converted data
in the one-dimensional p
array.
setInitialJacobians
in class AbstractJacobiansMapper
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 stateAbstractJacobiansMapper.getStateJacobian(SpacecraftState, double[][])
public void getStateJacobian(SpacecraftState state, double[][] dYdY0)
This method extract the data from the state
and put it in the
dYdY0
array.
For JacobiansMapper
and TLEJacobiansMapper
, the method provides
the Jacobian with respect to Cartesian elements.
For DSSTJacobiansMapper
the method provides the Jacobian with respect to
Equinoctial elements.
getStateJacobian
in class AbstractJacobiansMapper
state
- spacecraft statedYdY0
- placeholder where to put the Jacobian with respect to stateAbstractJacobiansMapper.getParametersJacobian(SpacecraftState, double[][])
public void getParametersJacobian(SpacecraftState state, double[][] dYdP)
This method extract the data from the state
and put it in the
dYdP
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.
getParametersJacobian
in class AbstractJacobiansMapper
state
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to parametersAbstractJacobiansMapper.getStateJacobian(SpacecraftState, double[][])
Copyright © 2002-2021 CS GROUP. All rights reserved.