public class ODEMultistepSolver extends java.lang.Object implements ODEAdaptiveSolver
Modifier and Type | Class and Description |
---|---|
protected class |
ODEMultistepSolver.InternalODE
A class that saves an internal state that may be different from the orginal ODE.
|
Modifier and Type | Field and Description |
---|---|
protected boolean |
enableExceptions |
protected int |
err_code |
protected java.lang.String |
err_msg |
protected double |
fixedStepSize |
protected ODEMultistepSolver.InternalODE |
internalODE |
protected int |
maxIterations |
protected ODEAdaptiveSolver |
odeEngine |
BISECTION_EVENT_NOT_FOUND, DID_NOT_CONVERGE, NO_ERROR
Modifier | Constructor and Description |
---|---|
protected |
ODEMultistepSolver()
Constructs a ODEMultistepSolver without an ODE so that a factory method
can create a custom solver.
|
|
ODEMultistepSolver(ODE ode)
Constructs an ODEMultiStep ODE solver for a system of ordinary differential equations.
|
Modifier and Type | Method and Description |
---|---|
void |
enableRuntimeExpecptions(boolean enable)
Enables runtime exceptions if the solver does not converge.
|
int |
getErrorCode()
Gets the error code.
|
double |
getStepSize()
Gets the step size.
|
double |
getTolerance()
Gets the tolerance of the adaptive ODE solver.
|
void |
initialize(double stepSize)
Initializes the ODE solver.
|
static ODEAdaptiveSolver |
MultistepRK45(ODE ode)
A factory method that creates a multisetp solver using the RK45 engine.
|
void |
setMaximumNumberOfErrorMessages(int n)
Sets the number of error messages if ODE solver did not converge.
|
void |
setMaxIterations(int n)
Sets the maximum number of iterations.
|
protected ODEMultistepSolver.InternalODE |
setODE(ODE ode)
Sets the ODE for this solver.
|
void |
setStepSize(double stepSize)
Sets the fixed step size.
|
void |
setTolerance(double tol)
Sets the tolerance of the adaptive ODE solver.
|
double |
step()
Steps (advances) the differential equations by the stepSize.
|
protected int err_code
protected int maxIterations
protected boolean enableExceptions
protected java.lang.String err_msg
protected ODEAdaptiveSolver odeEngine
protected double fixedStepSize
protected ODEMultistepSolver.InternalODE internalODE
public ODEMultistepSolver(ODE ode)
ode
- protected ODEMultistepSolver()
protected ODEMultistepSolver.InternalODE setODE(ODE ode)
ode
- ODEpublic static ODEAdaptiveSolver MultistepRK45(ODE ode)
ode
- ODEpublic void enableRuntimeExpecptions(boolean enable)
enable
- booleanpublic void setMaxIterations(int n)
n
- maximumpublic void setTolerance(double tol)
setTolerance
in interface ODEAdaptiveSolver
tol
- the tolerancepublic double getTolerance()
getTolerance
in interface ODEAdaptiveSolver
public int getErrorCode()
getErrorCode
in interface ODEAdaptiveSolver
public double step()
public void initialize(double stepSize)
initialize
in interface ODESolver
stepSize
- public void setStepSize(double stepSize)
setStepSize
in interface ODESolver
stepSize
- public void setMaximumNumberOfErrorMessages(int n)
n
- intpublic double getStepSize()
getStepSize
in interface ODESolver