package dynamics
The dynamics
package contains classes, traits and objects for
system dynamics simulations using Ordinary Differential Equations (ODEs).
- Alphabetic
- By Inheritance
- dynamics
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Integrator extends Error
The
Integrator
trait provides a template for writing numerical integrators (e.g., Runge-Kutta 'RK4' or Dormand-Prince 'DOPRI') to produce trajectories for first-order Ordinary Differential Equations 'ODE's.The
Integrator
trait provides a template for writing numerical integrators (e.g., Runge-Kutta 'RK4' or Dormand-Prince 'DOPRI') to produce trajectories for first-order Ordinary Differential Equations 'ODE's. The ODE is of the form:d/dt y(t) = f(t, y) with initial condition y0 = y(t0)
If 'f' is a linear function of the form 'a(t) * y(t) + b(t)', then the ODE is linear, if 'a(t) = a' (i.e., a constant) the ODE has constant coefficients and if 'b(t) = 0' the ODE is homogeneous. Note this package provides a solver (not an integrator) as an option for linear, constant coefficient, homogeneous, first-order ODE.
- See also
scalation.dynamics.LinearDiffEq.scala
-
class
LinearDiffEq extends Error
The
LinearDiffEq
class may be used for solving a system of linear differential equations that are ordinary and first-order with constant coefficients of the formThe
LinearDiffEq
class may be used for solving a system of linear differential equations that are ordinary and first-order with constant coefficients of the formd/dt y(t) = a * y(t)
'y(t)' is the vector function of time and 'a' is the coefficient matrix. The initial value vector 'y0 = y(0)' must also be given. Note, higher-order differential equations may be converted to first-order by introducing additional variables. The above equation is the homogeneous case. Caveats: the following cases are not currently handled: (1) The non-homogeneous equation: 'd/dt y(t) = a * y(t) + f(t)'. (2) Complex or repeated eigenvalues.
-
class
NLS_ODE extends Predictor with Error
Given an Ordinary Differential Equation 'ODE' parameterized using the vector 'b' with Initial Value 'IV' 'y0', estimate the parameter values 'b' for the ODE using weighted Non-linear Least Squares 'NLS'.
Given an Ordinary Differential Equation 'ODE' parameterized using the vector 'b' with Initial Value 'IV' 'y0', estimate the parameter values 'b' for the ODE using weighted Non-linear Least Squares 'NLS'.
ODE: dy/dt = f(t, y) IV: y(t0) = y0
Times series data: z(t0), z(t1), ... z(tn)
-
class
SSA extends Error
The
SSA
class implements the Gillespie Stochastic Simulation Algorithm 'SSA'.
Value Members
-
object
Derivatives
The
Derivatives
object is used to define types of time derivative functions. -
object
DormandPrince extends Integrator
The
DormandPrince
object provides a state-of-the-art numerical ODE solver.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 formd/dt y(t) = f(t, y)
compute 'y(t)' using a (4,5)-order Dormand-Prince Integrator 'DOPRI'. Note: the 'integrateV' method for a system of separable ODEs is mixed in from the
Integrator
trait.- See also
http://adorio-research.org/wordpress/?p=6565
-
object
DormandPrinceTest extends App
The
DormandPrinceTest
object is used to test theDormandPrince
object. -
object
LinearDiffEqTest extends App
The
LinearDiffEqTest
object to test theLinearDiffEq
class using example atThe
LinearDiffEqTest
object to test theLinearDiffEq
class using example at- See also
biomed.tamu.edu/faculty/wu/BMEN_452/Eigenvalue%20Problems.doc The eigenvalues should be (-3, -1) The constant matrix should be [ (.375, .625), (-.75, 1.25) ]
-
object
NLS_ODETest extends App
The
VectorDTest
object tests the operations provided byVectorD
.The
VectorDTest
object tests the operations provided byVectorD
. > runMain scalation.dynamics.NLS_ODETest -
object
Radau extends Integrator
The
Radau
object implements Radau IIA, which is a simple Ordinary Differential Equation 'ODE' solver for moderately stiff systems.The
Radau
object implements Radau IIA, which is a simple Ordinary Differential Equation 'ODE' solver for moderately stiff systems. Solve for 'y' givend/dt y = f(t, y).
-
object
RadauTest extends App
This object is used to test the Radau5 object.
-
object
RungeKutta extends Integrator
The
RungeKutta
object provides an implementation of a classical numerical ODE solver.The
RungeKutta
object provides an implementation of a classical 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 4th-order Runge-Kutta Integrator 'RK4'. Note: the 'integrateV' method for a system of separable ODEs is mixed in from the
Integrator
trait. -
object
RungeKuttaTest extends App
The
RungeKuttaTest
object is used to test theRungeKutta
object. -
object
SSATest extends App
The
SSATest
object tests theSSA
class.