Class LogarithmicBarrierCartesianFuel
java.lang.Object
org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
org.orekit.control.indirect.adjoint.cost.PenalizedCartesianFuelCost
org.orekit.control.indirect.adjoint.cost.LogarithmicBarrierCartesianFuel
- All Implemented Interfaces:
CartesianCost
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
-
Constructor Summary
ConstructorsConstructorDescriptionLogarithmicBarrierCartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude, double epsilon) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondoubleevaluatePenaltyFunction(double controlNorm) Evaluate the penalty term (without the weight), assumed to be a function of the control norm.getThrustAccelerationVector(double[] adjointVariables, double mass) Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.voidupdateAdjointDerivatives(double[] adjointVariables, double mass, double[] adjointDerivatives) Update the adjoint derivatives if necessary.Methods inherited from class org.orekit.control.indirect.adjoint.cost.PenalizedCartesianFuelCost
getEpsilon, getHamiltonianContribution, getMaximumThrustMagnitude, getThrustDirectionMethods inherited from class org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
buildSwitchDetector, getAdjointDimension, getAdjointName, getAdjointVelocityNorm, 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.CartesianCost
getCostDerivativeProvider, getEventDetectors
-
Constructor Details
-
LogarithmicBarrierCartesianFuel
public LogarithmicBarrierCartesianFuel(String name, double massFlowRateFactor, double maximumThrustMagnitude, double epsilon) Constructor.- Parameters:
name- adjoint namemassFlowRateFactor- mass flow rate factormaximumThrustMagnitude- maximum thrust magnitudeepsilon- penalty weight
-
-
Method Details
-
evaluatePenaltyFunction
public double evaluatePenaltyFunction(double controlNorm) Evaluate the penalty term (without the weight), assumed to be a function of the control norm.- Specified by:
evaluatePenaltyFunctionin classPenalizedCartesianFuelCost- Parameters:
controlNorm- Euclidean norm of control vector- Returns:
- penalty function
-
getThrustAccelerationVector
Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.- Parameters:
adjointVariables- adjoint vectormass- mass- Returns:
- thrust vector
-
updateAdjointDerivatives
public void updateAdjointDerivatives(double[] adjointVariables, double mass, double[] adjointDerivatives) Update the adjoint derivatives if necessary.- Parameters:
adjointVariables- adjoint vectormass- massadjointDerivatives- derivatives to update
-