de.grogra.numeric
Class CVodeAdapter

java.lang.Object
  extended by de.grogra.numeric.CVodeAdapter
All Implemented Interfaces:
Solver

public class CVodeAdapter
extends java.lang.Object
implements Solver

Wrapper to CVODE library. It implements the Solver interface and delegates computation to the CVODE library, which is part of SUNDIALS.

Author:
Reinhard Hemmerling

Constructor Summary
CVodeAdapter()
           
 
Method Summary
 void integrate(ODE ode, double t0, double[] y0, double t1, double[] y1)
          Integrate ode from t0 to t1.
 void setMonitor(int n, Monitor monitor)
          Set monitor functions.
 void setOptions(java.util.Map options)
          Set additional options for the integration process.
 void setTolerances(double[] absTol, double[] relTol)
          Set element-specific absolute and relative tolerance values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CVodeAdapter

public CVodeAdapter()
Method Detail

integrate

public void integrate(ODE ode,
                      double t0,
                      double[] y0,
                      double t1,
                      double[] y1)
               throws NumericException
Description copied from interface: Solver
Integrate ode from t0 to t1. Initial state is passed in y0. Final state is stored in memory provided by y1 (can be the same as y0).

Specified by:
integrate in interface Solver
Parameters:
ode - equations
t0 - initial time
y0 - initial state
t1 - final time
y1 - memory to return state at t1, may refer to same object as y0
Throws:
NumericException

setMonitor

public void setMonitor(int n,
                       Monitor monitor)
                throws NumericException
Description copied from interface: Solver
Set monitor functions. A previously set monitor will be replaced by this one. A monitor can be disabled by passing zero for parameter n. The parameter monitor may be null in this case.

Specified by:
setMonitor in interface Solver
Throws:
NumericException

setOptions

public void setOptions(java.util.Map options)
Description copied from interface: Solver
Set additional options for the integration process. Options are provided as mapping from keys to values. Note that supported keys and the data format of associated values depends on the implementation of the solver.

Specified by:
setOptions in interface Solver

setTolerances

public void setTolerances(double[] absTol,
                          double[] relTol)
Description copied from interface: Solver
Set element-specific absolute and relative tolerance values. A value of null for either array indicates that element-specific tolerances should be disabled for this tolerance type. An value of zero in any of the arrays indicates that the integrator should provide a default tolerance value instead. Note that if any of the specified are really used is up to the implementation of the integrator.

Specified by:
setTolerances in interface Solver
Parameters:
absTol - element-specific absolute tolerance values, or null
relTol - element-specific relative tolerance values, or null