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:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 Vector3DgetAcceleration(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.doublegetHamiltonianContribution(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.
-
Constructor Details
-
AbstractCartesianAdjointEquationTerm
public AbstractCartesianAdjointEquationTerm()
-
-
Method Details
-
getRatesContribution
public double[] getRatesContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame) Computes the contribution to the rates of the adjoint variables.- Specified by:
getRatesContributionin 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:
getHamiltonianContributionin 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:
getFieldRatesContributionin 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:
getFieldHamiltonianContributionin 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
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
-