Interface SecondaryEquations


public interface SecondaryEquations
This interface allows users to add secondary differential equations to a primary set of differential equations.

In some cases users may need to integrate some problem-specific equations along with a primary set of differential equations. One example is optimal control where adjoined parameters linked to the minimized hamiltonian must be integrated.

This interface allows users to add such equations to a primary set of first order differential equations thanks to the ExpandableStatefulODE.addSecondaryEquations(SecondaryEquations) method.

Since:
3.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    computeDerivatives(double t, double[] primary, double[] primaryDot, double[] secondary, double[] secondaryDot)
    Compute the derivatives related to the secondary state parameters.
    int
    Get the dimension of the secondary state parameters.
  • Method Details

    • getDimension

      int getDimension()
      Get the dimension of the secondary state parameters.
      Returns:
      dimension of the secondary state parameters
    • computeDerivatives

      void computeDerivatives(double t, double[] primary, double[] primaryDot, double[] secondary, double[] secondaryDot) throws MaxCountExceededException, DimensionMismatchException
      Compute the derivatives related to the secondary state parameters.
      Parameters:
      t - current value of the independent time variable
      primary - array containing the current value of the primary state vector
      primaryDot - array containing the derivative of the primary state vector
      secondary - array containing the current value of the secondary state vector
      secondaryDot - placeholder array where to put the derivative of the secondary state vector
      Throws:
      MaxCountExceededException - if the number of functions evaluations is exceeded
      DimensionMismatchException - if arrays dimensions do not match equations settings