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 theExpandableStatefulODE.addSecondaryEquations(SecondaryEquations)
method.- Since:
- 3.0
- See Also:
ExpandableStatefulODE
-
-
Method Summary
All Methods Instance Methods Abstract Methods 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
getDimension()
Get the dimension of the secondary state parameters.
-
-
-
Method Detail
-
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 variableprimary
- array containing the current value of the primary state vectorprimaryDot
- array containing the derivative of the primary state vectorsecondary
- array containing the current value of the secondary state vectorsecondaryDot
- placeholder array where to put the derivative of the secondary state vector- Throws:
MaxCountExceededException
- if the number of functions evaluations is exceededDimensionMismatchException
- if arrays dimensions do not match equations settings
-
-