## Enum Control3DVectorCostType

• All Implemented Interfaces:
Serializable, Comparable<Control3DVectorCostType>

public enum Control3DVectorCostType
extends Enum<Control3DVectorCostType>
Enumerate on types of cost for 3D control vector (thrust as a force or acceleration, including an impulse) at a given time. It is typically a norm (for a single, gimbaled thruster it would be the Euclidean one) and relates to the mass flow rate. See ROSS, I. Michael. Space Trajectory Optimization and L1-norm Optimal Control Problems. Modern astrodynamics, 2006, vol. 1, p. 155.

It is used widely across the org.orekit.forces.maneuvers package.

Note that norms in finite-dimensional vector spaces are all equivalent in a topological sense.

Since:
12.0
Author:
Romain Serra
ImpulseManeuver, FieldImpulseManeuver, Maneuver
• ### Enum Constant Summary

Enum Constants
Enum Constant Description
INF_NORM
Infinite norm also known as Max.
NONE
Zero cost (free control).
ONE_NORM
1-norm.
TWO_NORM
2-norm also known as Euclidean.
• ### Method Summary

All Methods
Modifier and Type Method Description
abstract <T extends CalculusFieldElement<T>>T evaluate​(FieldVector3D<T> controlVector)
Evaluate the cost of the input seen as a 3D control vector.
abstract double evaluate​(Vector3D controlVector)
Evaluate the cost of the input seen as a 3D control vector.
static Control3DVectorCostType valueOf​(String name)
Returns the enum constant of this type with the specified name.
static Control3DVectorCostType[] values()
Returns an array containing the constants of this enum type, in the order they are declared.
• ### Methods inherited from class java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
• ### Methods inherited from class java.lang.Object

getClass, notify, notifyAll, wait, wait, wait
• ### Enum Constant Detail

• #### NONE

public static final Control3DVectorCostType NONE
Zero cost (free control).
• #### ONE_NORM

public static final Control3DVectorCostType ONE_NORM
1-norm.
• #### TWO_NORM

public static final Control3DVectorCostType TWO_NORM
2-norm also known as Euclidean.
• #### INF_NORM

public static final Control3DVectorCostType INF_NORM
Infinite norm also known as Max.
• ### Method Detail

• #### values

public static Control3DVectorCostType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (Control3DVectorCostType c : Control3DVectorCostType.values())
System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared
• #### valueOf

public static Control3DVectorCostType valueOf​(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null
• #### evaluate

public abstract double evaluate​(Vector3D controlVector)
Evaluate the cost of the input seen as a 3D control vector.
Parameters:
controlVector - vector
Returns:
cost of vector
• #### evaluate

public abstract <T extends CalculusFieldElement<T>> T evaluate​(FieldVector3D<T> controlVector)
Evaluate the cost of the input seen as a 3D control vector.
Type Parameters:
T - CalculusFieldElement used
Parameters:
controlVector - vector
Returns:
cost of vector