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:
CartesianAdjointEquationTerm
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractCartesianAdjointNonCentralBodyTerm(double mu, ExtendedPositionProvider bodyPositionProvider)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <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, getNewtonianVelocityAdjointContribution
-
Methods inherited from class org.orekit.control.indirect.adjoint.AbstractCartesianAdjointGravitationalTerm
getFieldRatesContribution, getMu, getRatesContribution
-
Methods inherited from class org.orekit.control.indirect.adjoint.AbstractCartesianAdjointEquationTerm
buildFieldGradientCartesianVector, buildGradientCartesianVector, getAcceleration, getFieldAcceleration, getFieldHamiltonianContribution, getHamiltonianContribution
-
-
-
-
Constructor Detail
-
AbstractCartesianAdjointNonCentralBodyTerm
protected AbstractCartesianAdjointNonCentralBodyTerm(double mu, ExtendedPositionProvider bodyPositionProvider)Constructor.- Parameters:
mu- body gravitational parameter.bodyPositionProvider- body position provider
-
-
Method Detail
-
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
protected Vector3D getBodyPosition(AbsoluteDate date, Frame frame)
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
protected double[] formRelativePosition(AbsoluteDate date, double[] stateVariables, Frame frame)
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
-
-