Class AbstractCartesianAdjointNonCentralBodyTerm
java.lang.Object
org.orekit.control.indirect.adjoint.AbstractCartesianAdjointEquationTerm
org.orekit.control.indirect.adjoint.AbstractCartesianAdjointGravitationalTerm
org.orekit.control.indirect.adjoint.AbstractCartesianAdjointNewtonianTerm
org.orekit.control.indirect.adjoint.AbstractCartesianAdjointNonCentralBodyTerm
- All Implemented Interfaces:
CartesianAdjointEquationTerm
- Direct Known Subclasses:
CartesianAdjointSingleBodyTerm,CartesianAdjointThirdBodyTerm
public abstract class AbstractCartesianAdjointNonCentralBodyTerm
extends AbstractCartesianAdjointNewtonianTerm
Abstract class defining the contributions of a point-mass, single body gravity in the adjoint equations for Cartesian coordinates.
- Since:
- 12.2
- Author:
- Romain Serra
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractCartesianAdjointNonCentralBodyTerm(double mu, ExtendedPositionProvider bodyPositionProvider) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected <T extends CalculusFieldElement<T>>
T[]formFieldRelativePosition(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame) Form relative position vector w.r.t. body.protected double[]formRelativePosition(AbsoluteDate date, double[] stateVariables, Frame frame) Form relative position vector w.r.t. body.protected Vector3DgetBodyPosition(AbsoluteDate date, Frame frame) Get body's position.protected <T extends CalculusFieldElement<T>>
FieldVector3D<T> getFieldBodyPosition(FieldAbsoluteDate<T> date, Frame frame) Get body's position.double[]getPositionAdjointContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame) Computes the contribution to position adjoint derivatives.<T extends CalculusFieldElement<T>>
T[]getPositionAdjointFieldContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame) Computes the contribution to position adjoint derivatives.Methods inherited from class org.orekit.control.indirect.adjoint.AbstractCartesianAdjointNewtonianTerm
getFieldNewtonianAcceleration, getFieldNewtonianVelocityAdjointContribution, getNewtonianAcceleration, getNewtonianVelocityAdjointContributionMethods inherited from class org.orekit.control.indirect.adjoint.AbstractCartesianAdjointGravitationalTerm
getFieldRatesContribution, getMu, getRatesContributionMethods inherited from class org.orekit.control.indirect.adjoint.AbstractCartesianAdjointEquationTerm
buildFieldGradientCartesianVector, buildGradientCartesianVector, getAcceleration, getFieldAcceleration, getFieldHamiltonianContribution, getHamiltonianContribution
-
Constructor Details
-
AbstractCartesianAdjointNonCentralBodyTerm
protected AbstractCartesianAdjointNonCentralBodyTerm(double mu, ExtendedPositionProvider bodyPositionProvider) Constructor.- Parameters:
mu- body gravitational parameter.bodyPositionProvider- body position provider
-
-
Method Details
-
getPositionAdjointContribution
public double[] getPositionAdjointContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame) Computes the contribution to position adjoint derivatives.- Specified by:
getPositionAdjointContributionin classAbstractCartesianAdjointGravitationalTerm- Parameters:
date- datestateVariables- state variablesadjointVariables- adjoint variablesframe- propagation frame- Returns:
- contribution to position adjoint derivatives
-
getPositionAdjointFieldContribution
public <T extends CalculusFieldElement<T>> T[] getPositionAdjointFieldContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame) Computes the contribution to position adjoint derivatives.- Specified by:
getPositionAdjointFieldContributionin classAbstractCartesianAdjointGravitationalTerm- Type Parameters:
T- field type- Parameters:
date- datestateVariables- state variablesadjointVariables- adjoint variablesframe- propagation frame- Returns:
- contribution to position adjoint derivatives
-
getBodyPosition
Get body's position.- Parameters:
date- dateframe- frame- Returns:
- position vector
-
getFieldBodyPosition
protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldBodyPosition(FieldAbsoluteDate<T> date, Frame frame) Get body's position.- Type Parameters:
T- field type- Parameters:
date- dateframe- frame- Returns:
- position vector
-
formRelativePosition
Form relative position vector w.r.t. body.- Parameters:
date- datestateVariables- Cartesian variablesframe- frame where Cartesian coordinates apply- Returns:
- relative position vector as array
-
formFieldRelativePosition
protected <T extends CalculusFieldElement<T>> T[] formFieldRelativePosition(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame) Form relative position vector w.r.t. body.- Type Parameters:
T- field type- Parameters:
date- datestateVariables- Cartesian variablesframe- frame where Cartesian coordinates apply- Returns:
- relative position vector as array
-