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
    See Also:
    ImpulseManeuver, FieldImpulseManeuver, Maneuver
    • 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