Class UnboundedCartesianEnergyNeglectingMass
java.lang.Object
org.orekit.control.indirect.adjoint.cost.AbstractCartesianCost
org.orekit.control.indirect.adjoint.cost.UnboundedCartesianEnergyNeglectingMass
- All Implemented Interfaces:
CartesianCost
Class for unbounded energy cost with Cartesian coordinates neglecting the mass consumption.
Under this assumption, the mass is constant and there is no need to consider the corresponding adjoint variable.
Here, the control vector is chosen as the acceleration given by thrusting, expressed in the propagation frame.
This leads to the optimal thrust force being equal to the adjoint velocity vector times the mass.
- Since:
- 12.2
- Author:
- Romain Serra
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the detectors needed for propagation.doublegetHamiltonianContribution(double[] adjointVariables, double mass) Computes the Hamiltonian contribution to the cost function.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.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
-
Constructor Details
-
UnboundedCartesianEnergyNeglectingMass
Constructor.- Parameters:
name- name
-
-
Method Details
-
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
-
getHamiltonianContribution
public double getHamiltonianContribution(double[] adjointVariables, double mass) Computes the Hamiltonian contribution to the cost function. It equals the Lagrange-form integrand multiplied by -1.- Parameters:
adjointVariables- adjoint vectormass- mass- Returns:
- contribution to Hamiltonian
-
getEventDetectors
Get the detectors needed for propagation.- Returns:
- event detectors
-