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 protected
AbstractCartesianAdjointNonCentralBodyTerm(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.protected double[]
formRelativePosition(AbsoluteDate date, double[] stateVariables, Frame frame)
Form relative position vector w.r.t.protected Vector3D
getBodyPosition(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:
getPositionAdjointContribution
in 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:
getPositionAdjointFieldContribution
in 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
-
-