public abstract class AbstractJacobiansMapper extends Object
Modifier and Type | Field and Description |
---|---|
static int |
STATE_DIMENSION
State dimension, fixed to 6.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractJacobiansMapper(String name,
ParameterDriversList parameters)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract int |
getAdditionalStateDimension()
Compute the length of the one-dimensional additional state array needed.
|
protected abstract double[][] |
getConversionJacobian(SpacecraftState state)
Get the conversion Jacobian between state parameters and parameters used for derivatives.
|
String |
getName()
Get the name of the partial Jacobians.
|
int |
getParameters()
Get the number of 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.
|
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.
|
public static final int STATE_DIMENSION
protected AbstractJacobiansMapper(String name, ParameterDriversList parameters)
name
- name of the Jacobiansparameters
- selected parameters for Jacobian computationpublic String getName()
public int getParameters()
public abstract int getAdditionalStateDimension()
protected abstract double[][] getConversionJacobian(SpacecraftState state)
For a DSST propagator
, 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 abstract void setInitialJacobians(SpacecraftState state, double[][] dY1dY0, double[][] dY1dP, double[] p)
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 stategetStateJacobian(SpacecraftState, double[][])
public abstract void getStateJacobian(SpacecraftState state, double[][] dYdY0)
This method extract the data from the state
and put it in the
dYdY0
array.
state
- spacecraft statedYdY0
- placeholder where to put the Jacobian with respect to stategetParametersJacobian(SpacecraftState, double[][])
public abstract 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.
state
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to parametersgetStateJacobian(SpacecraftState, double[][])
Copyright © 2002-2020 CS GROUP. All rights reserved.