Class FieldLogarithmicBarrierCartesianFuel<T extends CalculusFieldElement<T>>
java.lang.Object
org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost<T>
org.orekit.control.indirect.adjoint.cost.FieldPenalizedCartesianFuelCost<T>
org.orekit.control.indirect.adjoint.cost.FieldLogarithmicBarrierCartesianFuel<T>
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldCartesianCost<T>
public class FieldLogarithmicBarrierCartesianFuel<T extends CalculusFieldElement<T>>
extends FieldPenalizedCartesianFuelCost<T>
Fuel cost penalized with a logarithmic term, which is a barrier so is not defined for epsilon equal to 0 or 1.
- Since:
- 13.0
- Author:
- Romain Serra
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost
FieldAbstractCartesianCost.FieldSwitchFunction -
Constructor Summary
ConstructorsConstructorDescriptionFieldLogarithmicBarrierCartesianFuel(String name, T massFlowRateFactor, T maximumThrustMagnitude, T epsilon) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionevaluateFieldPenaltyFunction(T controlNorm) Evaluate the penalty term (without the weight), assumed to be a function of the control norm.getFieldThrustAccelerationVector(T[] adjointVariables, T mass) Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.Method returning equivalent in non-Field.voidupdateFieldAdjointDerivatives(T[] adjointVariables, T mass, T[] adjointDerivatives) Update the adjoint derivatives if necessary.Methods inherited from class org.orekit.control.indirect.adjoint.cost.FieldPenalizedCartesianFuelCost
getEpsilon, getFieldHamiltonianContribution, getFieldThrustDirection, getMaximumThrustMagnitudeMethods inherited from class org.orekit.control.indirect.adjoint.cost.FieldAbstractCartesianCost
buildSwitchDetector, getAdjointDimension, getAdjointName, getFieldAdjointVelocityNorm, getMassFlowRateFactorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.control.indirect.adjoint.cost.FieldCartesianCost
getCostDerivativeProvider, getFieldEventDetectors
-
Constructor Details
-
FieldLogarithmicBarrierCartesianFuel
public FieldLogarithmicBarrierCartesianFuel(String name, T massFlowRateFactor, T maximumThrustMagnitude, T epsilon) Constructor.- Parameters:
name- adjoint namemassFlowRateFactor- mass flow rate factormaximumThrustMagnitude- maximum thrust magnitudeepsilon- penalty weight
-
-
Method Details
-
evaluateFieldPenaltyFunction
Evaluate the penalty term (without the weight), assumed to be a function of the control norm.- Specified by:
evaluateFieldPenaltyFunctionin classFieldPenalizedCartesianFuelCost<T extends CalculusFieldElement<T>>- Parameters:
controlNorm- Euclidean norm of control vector- Returns:
- penalty function
-
getFieldThrustAccelerationVector
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Parameters:
adjointVariables- adjoint vectormass- mass- Returns:
- thrust vector
-
updateFieldAdjointDerivatives
Update the adjoint derivatives if necessary.- Parameters:
adjointVariables- adjoint vectormass- massadjointDerivatives- derivatives to update
-
toCartesianCost
Method returning equivalent in non-Field.- Returns:
- cost function for non-Field applications
-