public class PartialDerivativesEquations extends Object implements AdditionalEquations
additional equations
computing the partial derivatives
of the state (orbit) with respect to initial state and force models parameters.
This set of equations are automatically added to a numerical propagator
in order to compute partial derivatives of the orbit along with the orbit itself. This is
useful for example in orbit determination applications.
Constructor and Description 

PartialDerivativesEquations(String name,
NumericalPropagator propagator)
Simple constructor.

Modifier and Type  Method and Description 

double[] 
computeDerivatives(SpacecraftState s,
double[] pDot)
Compute the derivatives related to the additional state parameters.

List<String> 
getAvailableParameters()
Get the names of the available parameters in the propagator.

JacobiansMapper 
getMapper()
Get a mapper between twodimensional Jacobians and onedimensional additional state.

String 
getName()
Get the name of the additional state.

void 
selectParamAndStep(String parameter,
double hP)
Select the parameters to consider for Jacobian processing.

void 
selectParameters(String... parameters)
Select the parameters to consider for Jacobian processing.

SpacecraftState 
setInitialJacobians(SpacecraftState s1,
double[][] dY1dY0,
double[][] dY1dP)
Set the initial value of the Jacobian with respect to state and parameter.

SpacecraftState 
setInitialJacobians(SpacecraftState s0,
int stateDimension,
int paramDimension)
Set the initial value of the Jacobian with respect to state and parameter.

public PartialDerivativesEquations(String name, NumericalPropagator propagator) throws OrekitException
Upon construction, this set of equations is automatically added to
the propagator by calling its AbstractIntegratedPropagator.addAdditionalEquations(AdditionalEquations)
method. So
there is no need to call this method explicitly for these equations.
name
 name of the partial derivatives equationspropagator
 the propagator that will handle the orbit propagationOrekitException
 if a set of equations with the same name is already presentpublic String getName()
getName
in interface AdditionalEquations
public List<String> getAvailableParameters()
The names returned depend on the force models set up in the propagator, including the Newtonian attraction from the central body.
public void selectParameters(String... parameters)
Parameters names have to be consistent with some
ForceModel
added elsewhere.
parameters
 parameters to consider for Jacobian processingNumericalPropagator.addForceModel(ForceModel)
,
setInitialJacobians(SpacecraftState, double[][], double[][])
,
ForceModel
,
Parameterizable
public void selectParamAndStep(String parameter, double hP)
Parameters names have to be consistent with some
ForceModel
added elsewhere.
parameter
 parameter to consider for Jacobian processinghP
 step to use for computing Jacobian column with respect to the specified parameterNumericalPropagator.addForceModel(ForceModel)
,
setInitialJacobians(SpacecraftState, double[][], double[][])
,
ForceModel
,
Parameterizable
public SpacecraftState setInitialJacobians(SpacecraftState s0, int stateDimension, int paramDimension) throws OrekitException
This method is equivalent to call setInitialJacobians(SpacecraftState,
double[][], double[][])
with dYdY0 set to the identity matrix and dYdP set
to a zero matrix.
The returned state must be added to the propagator (it is not done automatically, as the user may need to add more states to it).
s0
 initial statestateDimension
 state dimension, must be either 6 for orbit only or 7 for orbit and massparamDimension
 parameters dimensionOrekitException
 if the partial equation has not been registered in
the propagator or if matrices dimensions are incorrectselectedParameters
,
selectParamAndStep(String, double)
public SpacecraftState setInitialJacobians(SpacecraftState s1, double[][] dY1dY0, double[][] dY1dP) throws OrekitException
The returned state must be added to the propagator (it is not done automatically, as the user may need to add more states to it).
s1
 current statedY1dY0
 Jacobian of current state at time t₁ with respect
to state at some previous time t₀ (may be either 6x6 for orbit
only or 7x7 for orbit and mass)dY1dP
 Jacobian of current state at time t₁ with respect
to parameters (may be null if no parameters are selected)OrekitException
 if the partial equation has not been registered in
the propagator or if matrices dimensions are incorrectselectedParameters
,
selectParamAndStep(String, double)
public JacobiansMapper getMapper() throws OrekitException
OrekitException
 if the initial Jacobians have not been initialized yetsetInitialJacobians(SpacecraftState, int, int)
,
setInitialJacobians(SpacecraftState, double[][], double[][])
public double[] computeDerivatives(SpacecraftState s, double[] pDot) throws OrekitException
When this method is called, the spacecraft state contains the main
state (orbit, attitude and mass), all the states provided through
the additional
state providers
registered to the propagator, and the additional state
integrated using this equation. It does not contains any other
states to be integrated alongside during the same propagation.
computeDerivatives
in interface AdditionalEquations
s
 current state information: date, kinematics, attitude, and
additional statepDot
 placeholder where the derivatives of the additional parameters
should be putOrekitException
 if some specific error occursCopyright © 20022015 CS Systèmes d'information. All rights reserved.