Class AbstractCartesianAdjointEquationTerm
- java.lang.Object
-
- org.orekit.control.indirect.adjoint.AbstractCartesianAdjointEquationTerm
-
- All Implemented Interfaces:
CartesianAdjointEquationTerm
- Direct Known Subclasses:
AbstractCartesianAdjointGravitationalTerm
,CartesianAdjointInertialTerm
public abstract class AbstractCartesianAdjointEquationTerm extends Object implements CartesianAdjointEquationTerm
Abstract class to define terms in the adjoint equations and Hamiltonian for Cartesian coordinates.- Since:
- 12.2
- Author:
- Romain Serra
- See Also:
CartesianAdjointDerivativesProvider
,FieldCartesianAdjointDerivativesProvider
-
-
Constructor Summary
Constructors Constructor Description AbstractCartesianAdjointEquationTerm()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static <T extends CalculusFieldElement<T>>
FieldGradient<T>[]buildFieldGradientCartesianVector(T[] stateVariables)
Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.protected static Gradient[]
buildGradientCartesianVector(double[] stateVariables)
Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.protected abstract Vector3D
getAcceleration(AbsoluteDate date, double[] stateVariables, Frame frame)
Compute the acceleration vector.protected abstract <T extends CalculusFieldElement<T>>
FieldVector3D<T>getFieldAcceleration(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame)
Compute the acceleration vector.<T extends CalculusFieldElement<T>>
TgetFieldHamiltonianContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
Computes the contribution to the Hamiltonian.<T extends CalculusFieldElement<T>>
T[]getFieldRatesContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
Computes the contribution to the rates of the adjoint variables.double
getHamiltonianContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
Computes the contribution to the Hamiltonian.double[]
getRatesContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
Computes the contribution to the rates of the adjoint variables.
-
-
-
Method Detail
-
getRatesContribution
public double[] getRatesContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
Computes the contribution to the rates of the adjoint variables.- Specified by:
getRatesContribution
in interfaceCartesianAdjointEquationTerm
- Parameters:
date
- datestateVariables
- state variablesadjointVariables
- adjoint variablesframe
- propagation frame- Returns:
- contribution to the adjoint derivative vector
-
getHamiltonianContribution
public double getHamiltonianContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
Computes the contribution to the Hamiltonian.- Specified by:
getHamiltonianContribution
in interfaceCartesianAdjointEquationTerm
- Parameters:
date
- datestateVariables
- state variablesadjointVariables
- adjoint variablesframe
- propagation frame- Returns:
- contribution to the Hamiltonian
-
getAcceleration
protected abstract Vector3D getAcceleration(AbsoluteDate date, double[] stateVariables, Frame frame)
Compute the acceleration vector.- Parameters:
date
- datestateVariables
- state variablesframe
- propagation frame- Returns:
- acceleration vector
-
getFieldRatesContribution
public <T extends CalculusFieldElement<T>> T[] getFieldRatesContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
Computes the contribution to the rates of the adjoint variables.- Specified by:
getFieldRatesContribution
in interfaceCartesianAdjointEquationTerm
- Type Parameters:
T
- field type- Parameters:
date
- datestateVariables
- state variablesadjointVariables
- adjoint variablesframe
- propagation frame- Returns:
- contribution to the adjoint derivative vector
-
getFieldHamiltonianContribution
public <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
Computes the contribution to the Hamiltonian.- Specified by:
getFieldHamiltonianContribution
in interfaceCartesianAdjointEquationTerm
- Type Parameters:
T
- field type- Parameters:
date
- datestateVariables
- state variablesadjointVariables
- adjoint variablesframe
- propagation frame- Returns:
- contribution to the Hamiltonian
-
getFieldAcceleration
protected abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldAcceleration(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame)
Compute the acceleration vector.- Type Parameters:
T
- field type- Parameters:
date
- datestateVariables
- state variablesframe
- propagation frame- Returns:
- acceleration vector
-
buildGradientCartesianVector
protected static Gradient[] buildGradientCartesianVector(double[] stateVariables)
Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.- Parameters:
stateVariables
- Cartesian variables- Returns:
- vector of independent variables
-
buildFieldGradientCartesianVector
protected static <T extends CalculusFieldElement<T>> FieldGradient<T>[] buildFieldGradientCartesianVector(T[] stateVariables)
Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.- Type Parameters:
T
- field type- Parameters:
stateVariables
- Cartesian variables- Returns:
- vector of independent variables
-
-