Package org.apache.commons.math3.ode
Class FieldEquationsMapper<T extends RealFieldElement<T>>
java.lang.Object
org.apache.commons.math3.ode.FieldEquationsMapper<T>
- Type Parameters:
T
- the type of the field elements
- All Implemented Interfaces:
Serializable
public class FieldEquationsMapper<T extends RealFieldElement<T>>
extends Object
implements Serializable
Class mapping the part of a complete state or derivative that pertains
to a set of differential equations.
Instances of this class are guaranteed to be immutable.
- Since:
- 3.6
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionT[]
extractEquationData
(int index, T[] complete) Extract equation data from a complete state or derivative array.int
Get the number of equations mapped.int
Return the dimension of the complete set of equations.void
insertEquationData
(int index, T[] equationData, T[] complete) Insert equation data into a complete state or derivative array.T[]
mapDerivative
(FieldODEStateAndDerivative<T> state) Map a state derivative to a complete flat array.T[]
mapState
(FieldODEState<T> state) Map a state to a complete flat array.mapStateAndDerivative
(T t, T[] y, T[] yDot) Map flat arrays to a state and derivative.
-
Method Details
-
getNumberOfEquations
public int getNumberOfEquations()Get the number of equations mapped.- Returns:
- number of equations mapped
-
getTotalDimension
public int getTotalDimension()Return the dimension of the complete set of equations.The complete set of equations correspond to the primary set plus all secondary sets.
- Returns:
- dimension of the complete set of equations
-
mapState
Map a state to a complete flat array.- Parameters:
state
- state to map- Returns:
- flat array containing the mapped state, including primary and secondary components
-
mapDerivative
Map a state derivative to a complete flat array.- Parameters:
state
- state to map- Returns:
- flat array containing the mapped state derivative, including primary and secondary components
-
mapStateAndDerivative
public FieldODEStateAndDerivative<T> mapStateAndDerivative(T t, T[] y, T[] yDot) throws DimensionMismatchException Map flat arrays to a state and derivative.- Parameters:
t
- timey
- state array to map, including primary and secondary componentsyDot
- state derivative array to map, including primary and secondary components- Returns:
- mapped state
- Throws:
DimensionMismatchException
- if an array does not match total dimension
-
extractEquationData
public T[] extractEquationData(int index, T[] complete) throws MathIllegalArgumentException, DimensionMismatchException Extract equation data from a complete state or derivative array.- Parameters:
index
- index of the equation, must be between 0 included andgetNumberOfEquations()
(excluded)complete
- complete state or derivative array from which equation data should be retrieved- Returns:
- equation data
- Throws:
MathIllegalArgumentException
- if index is out of rangeDimensionMismatchException
- if complete state has not enough elements
-
insertEquationData
public void insertEquationData(int index, T[] equationData, T[] complete) throws DimensionMismatchException Insert equation data into a complete state or derivative array.- Parameters:
index
- index of the equation, must be between 0 included andgetNumberOfEquations()
(excluded)equationData
- equation data to be inserted into the complete arraycomplete
- placeholder where to put equation data (only the part corresponding to the equation will be overwritten)- Throws:
DimensionMismatchException
- if either array has not enough elements
-