public class RosenbrockSolver extends AdaptiveStepsizeIntegrator
References: William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical recipes in C. Cambridge Univ. Press Cambridge, 1992, pp. 738-747.
This solver has been adapted from ODE Toolkit: a free application for solving systems of ordinary differential equations.
Modifier and Type | Field and Description |
---|---|
static double |
a21
Constants for solving
|
static double |
a31
Constants for solving
|
static double |
a32
Constants for solving
|
static double |
a41
Constants for solving
|
static double |
a42
Constants for solving
|
static double |
a43
Constants for solving
|
static double |
a51
Constants for solving
|
static double |
a52
Constants for solving
|
static double |
a53
Constants for solving
|
static double |
a54
Constants for solving
|
static double |
c2
Constants for solving
|
static double |
c21
Constants for solving
|
static double |
c3
Constants for solving
|
static double |
c31
Constants for solving
|
static double |
c32
Constants for solving
|
static double |
c4
Constants for solving
|
static double |
c41
Constants for solving
|
static double |
c42
Constants for solving
|
static double |
c43
Constants for solving
|
static double |
c51
Constants for solving
|
static double |
c52
Constants for solving
|
static double |
c53
Constants for solving
|
static double |
c54
Constants for solving
|
static double |
c61
Constants for solving
|
static double |
c62
Constants for solving
|
static double |
c63
Constants for solving
|
static double |
c64
Constants for solving
|
static double |
c65
Constants for solving
|
static double |
d1 |
static double |
d2 |
static double |
d3 |
static double |
d4 |
static double |
fac1
Constants used to adapt the stepsize according to the error in the last step (see rodas.f)
|
static double |
fac2
Constants used to adapt the stepsize according to the error in the last step (see rodas.f)
|
static double |
gam
Constants for solving
|
static double |
PWR
Constants used to adapt the stepsize according to the error in the last step (see rodas.f)
|
static double |
RELMIN
the minimum acceptable value of relTol - attempts to obtain higher accuracy than this are
usually very expensive
|
static double |
SAFETY
Constants used to adapt the stepsize according to the error in the last step (see rodas.f)
|
PROGRESS, RESULT
Constructor and Description |
---|
RosenbrockSolver()
default constructor
|
RosenbrockSolver(int size,
double stepsize) |
RosenbrockSolver(RosenbrockSolver solver)
clone constructor
|
Modifier and Type | Method and Description |
---|---|
RosenbrockSolver |
clone() |
double[] |
computeChange(DESystem DES,
double[] y2,
double time,
double currentStepSize,
double[] change,
boolean steadyState)
Computes the change for a given system at the current time with the current setting for the
integration step size.
|
int |
getKiSAOterm()
For details about the Kinetic Simulation Algorithm Ontology (KiSAO) see
http://biomodels.net/kisao/.
|
String |
getName()
This gives a human-readable name of this solver that can be displayed in a graphical user
interface.
|
int |
getNumEquations() |
double |
step(DESystem DES)
This function tries to make a time step.
|
double |
unitRoundoff()
Returns an approximation to the error involved with the current arithmetic implementation
|
getAbsTol, getRelTol, setAbsTol, setRelTol
addPropertyChangeListener, computeDelayedValue, eventOccurred, firePropertyChange, g, getSerialversionuid, getStepSize, inBetweenSteps, isIncludeIntermediates, isNonnegative, isUnstable, processEvents, processEventsAndRules, processRules, removePropertyChangeListener, reset, resetState, setIncludeIntermediates, setNonnegative, setStepSize, setUnstableFlag, solve, solve, solve, solve, solve, solve, solve, solve, steadystate
public static final double SAFETY
public static final double fac1
public static final double fac2
public static final double PWR
public static final double c2
public static final double c3
public static final double c4
public static final double a21
public static final double a31
public static final double a32
public static final double a41
public static final double a42
public static final double a43
public static final double a51
public static final double a52
public static final double a53
public static final double a54
public static final double gam
public static final double c21
public static final double c31
public static final double c32
public static final double c41
public static final double c42
public static final double c43
public static final double c51
public static final double c52
public static final double c53
public static final double c54
public static final double c61
public static final double c62
public static final double c63
public static final double c64
public static final double c65
public static final double d1
public static final double d2
public static final double d3
public static final double d4
public static final double RELMIN
public RosenbrockSolver()
public RosenbrockSolver(int size, double stepsize)
size
- stepsize
- public RosenbrockSolver(RosenbrockSolver solver)
solver
- public RosenbrockSolver clone()
AbstractDESSolver
clone
in interface DESSolver
clone
in class AbstractDESSolver
public double step(DESystem DES) throws org.apache.commons.math.ode.DerivativeException
DES
- the differential equation systemorg.apache.commons.math.ode.DerivativeException
public double unitRoundoff()
public String getName()
AbstractDESSolver
getName
in class AbstractDESSolver
public int getNumEquations()
public double[] computeChange(DESystem DES, double[] y2, double time, double currentStepSize, double[] change, boolean steadyState) throws org.apache.commons.math.ode.DerivativeException
AbstractDESSolver
computeChange
in class AbstractDESSolver
DES
- The system to be simulated.y2
- The current state of the system.time
- The current simulation time.currentStepSize
- The current integration step size.change
- The vector for the resulting change of the system.org.apache.commons.math.ode.DerivativeException
public int getKiSAOterm()
DESSolver
Copyright © 2007–2021. All rights reserved.