Class CartesianFuel

    • Constructor Detail

      • CartesianFuel

        public CartesianFuel​(String name,
                             double massFlowRateFactor,
                             double maximumThrustMagnitude)
        Constructor with default detection settings.
        Parameters:
        name - name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
      • CartesianFuel

        public CartesianFuel​(String name,
                             double massFlowRateFactor,
                             double maximumThrustMagnitude,
                             EventDetectionSettings eventDetectionSettings)
        Constructor.
        Parameters:
        name - name
        massFlowRateFactor - mass flow rate factor
        maximumThrustMagnitude - maximum thrust magnitude
        eventDetectionSettings - singularity event detection settings
    • Method Detail

      • getEventDetectionSettings

        public EventDetectionSettings getEventDetectionSettings()
        Getter for event detection settings.
        Returns:
        detection settings.
      • getThrustAccelerationVector

        public Vector3D getThrustAccelerationVector​(double[] adjointVariables,
                                                    double mass)
        Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        thrust vector
      • getFieldThrustAccelerationVector

        public <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldThrustAccelerationVector​(T[] adjointVariables,
                                                                                                     T mass)
        Computes the thrust acceleration vector in propagation frame from the adjoint variables and the mass.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        thrust vector
      • updateAdjointDerivatives

        public void updateAdjointDerivatives​(double[] adjointVariables,
                                             double mass,
                                             double[] adjointDerivatives)
        Update the adjoint derivatives if necessary.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        adjointDerivatives - derivatives to update
      • updateFieldAdjointDerivatives

        public <T extends CalculusFieldElement<T>> void updateFieldAdjointDerivatives​(T[] adjointVariables,
                                                                                      T mass,
                                                                                      T[] adjointDerivatives)
        Update the adjoint derivatives if necessary.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        adjointDerivatives - derivatives to update
      • getHamiltonianContribution

        public double getHamiltonianContribution​(double[] adjointVariables,
                                                 double mass)
        Computes the Hamiltonian contribution of the cost function.
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        contribution to Hamiltonian
      • getFieldHamiltonianContribution

        public <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution​(T[] adjointVariables,
                                                                                     T mass)
        Computes the Hamiltonian contribution of the cost function.
        Type Parameters:
        T - field type
        Parameters:
        adjointVariables - adjoint vector
        mass - mass
        Returns:
        contribution to Hamiltonian
      • getEventDetectors

        public Stream<EventDetector> getEventDetectors()
        Get the discrete events related to the model.

        This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

        Returns:
        stream of event detectors
      • getFieldEventDetectors

        public <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors​(Field<T> field)
        Get the discrete events related to the model.

        This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

        Type Parameters:
        T - extends CalculusFieldElement<T>
        Parameters:
        field - field to which the state belongs
        Returns:
        stream of event detectors