DormandPrince

scalation.dynamics.DormandPrince
object DormandPrince extends Integrator

The DormandPrince object provides a state-of-the-art numerical ODE solver. Given an unknown, time-dependent function y(t) governed by an Ordinary Differential Equation (ODE) of the form d/dt y(t) = f(t, y) compute y(t) using a (4,5)-order Dormand-Prince Integrator (DOPRI) or ode45. Note: the integrateV method for a system of separable ODEs is mixed in from the Integrator trait.

Attributes

See also
Graph
Supertypes
trait Integrator
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def integrate(f: Derivative, y0: Double, t: Double, t0: Double, step: Double): Double

Compute y(t) governed by a differential equation using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t.

Compute y(t) governed by a differential equation using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t.

Value parameters

f

the derivative function f(t, y)

step

the middle step size

t

the time value at which to compute y(t)

t0

the initial time

y0

value of the y-function at time t0, y0 = y(t0)

Attributes

def integrate2(f: Derivative, y0: Double, t: Double, hmin: Double, hmax: Double, t0: Double, tol: Double, maxSteps: Int): Double

Compute y(t) governed by a differential equation using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t. The method provides more customization options.

Compute y(t) governed by a differential equation using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t. The method provides more customization options.

Value parameters

f

the derivative function f(t, y)

hmax

the maximum step size

hmin

the minimum step size

maxSteps

the maximum number of steps

t

the time value at which to compute y(t)

t0

the initial time

tol

the tolerance

y0

value of the y-function at time t0, y0 = y(t0)

Attributes

def integrateVV(f: Array[DerivativeV], y0: VectorD, t: Double, t0: Double, step: Double): VectorD

Compute y(t), a vector, governed by a system of differential equations using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t.

Compute y(t), a vector, governed by a system of differential equations using numerical integration of the derivative function f(t, y) using a (4,5)-order Dormand-Prince method to return the value of y(t) at time t.

Value parameters

f

the array of derivative functions [f(t, y)] where y is a vector

step

the step size

t

the time value at which to compute y(t)

t0

the initial time

y0

the value of the y-function at time t0, y0 = y(t0)

Attributes

Inherited methods

def getError: Double

Get the error estimate.

Get the error estimate.

Attributes

Inherited from:
Integrator
def integrateV(f: Array[Derivative], y0: VectorD, t: Double, t0: Double, step: Double): VectorD

Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions. Each derivative function takes a scalar t and a scalar y_j = y(j).

Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions. Each derivative function takes a scalar t and a scalar y_j = y(j).

Value parameters

f

the array of derivative functions [f_j(t, y_j)]

step

the step size

t

the time value at which to compute y(t)

t0

the initial time

y0

the initial value vector, y0 = y(t0)

Attributes

Inherited from:
Integrator

Concrete fields

val a21: Double

Butcher tableau @see http://en.wikipedia.org/wiki/Dormand–Prince_method

val a31: Double
val a32: Double
val a41: Double
val a42: Double
val a43: Double
val a51: Double
val a52: Double
val a53: Double
val a54: Double
val a61: Double
val a62: Double
val a63: Double
val a64: Double
val a65: Double
val a71: Double
val a72: Double
val a73: Double
val a74: Double
val a75: Double
val a76: Double
val b1: Double
val b1p: Double
val b2: Double
val b2p: Double
val b3: Double
val b3p: Double
val b4: Double
val b4p: Double
val b5: Double
val b5p: Double
val b6: Double
val b6p: Double
val b7: Double
val b7p: Double
val c2: Double
val c3: Double
val c4: Double
val c5: Double
val c6: Double
val c7: Double

Inherited fields

protected val defaultStepSize: Double

The default step size for the t dimension

The default step size for the t dimension

Attributes

Inherited from:
Integrator
protected var error: Double

Estimate of the error in calculating y

Estimate of the error in calculating y

Attributes

Inherited from:
Integrator