public class ExpandableODE extends Object
One typical use case is the computation of the Jacobian matrix for some ODE. In this case, the primary set of equations corresponds to the raw ODE, and we add to this set another bunch of secondary equations which represent the Jacobian matrix of the primary set.
We want the integrator to use only the primary set to estimate the
errors and hence the step sizes. It should not use the secondary
equations in this computation. The integrator
will
be able to know where the primary set ends and so where the secondary sets begin.
OrdinaryDifferentialEquation
,
VariationalEquation
Constructor and Description 

ExpandableODE(OrdinaryDifferentialEquation primary)
Build an expandable set from its primary ODE set.

Modifier and Type  Method and Description 

int 
addSecondaryEquations(SecondaryODE secondary)
Add a set of secondary equations to be integrated along with the primary set.

double[] 
computeDerivatives(double t,
double[] y)
Get the current time derivative of the complete state vector.

EquationsMapper 
getMapper()
Get the mapper for the set of equations.

OrdinaryDifferentialEquation 
getPrimary()
Get the primary set of differential equations to be integrated.

void 
init(ODEState s0,
double finalTime)
Initialize equations at the start of an ODE integration.

public ExpandableODE(OrdinaryDifferentialEquation primary)
primary
 the primary set of differential equations to be integrated.public OrdinaryDifferentialEquation getPrimary()
public EquationsMapper getMapper()
public int addSecondaryEquations(SecondaryODE secondary)
secondary
 secondary equations setFieldODEState.getSecondaryState(int)
and
FieldODEStateAndDerivative.getSecondaryDerivative(int)
(beware index
0 corresponds to primary state, secondary states start at 1)public void init(ODEState s0, double finalTime)
s0
 state at integration startfinalTime
 target time for the integrationMathIllegalStateException
 if the number of functions evaluations is exceededMathIllegalArgumentException
 if arrays dimensions do not match equations settingspublic double[] computeDerivatives(double t, double[] y) throws MathIllegalArgumentException, MathIllegalStateException
t
 current value of the independent time variabley
 array containing the current value of the complete state vectorMathIllegalStateException
 if the number of functions evaluations is exceededMathIllegalArgumentException
 if arrays dimensions do not match equations settingsCopyright © 20162022 CS GROUP. All rights reserved.