38
2 Description of the Wolfram SystemModeler
DASSL is useful for solving two classes of problems that cannot be solved by
standard methods. The first class is represented by tasks that cannot be brought
to a standard form y
= f (t, y). The tasks of the second class are theoretically
reducible to the standard form, but such a transformation leads to serious problems.
For example, conversion Ay
= By requires multiplication by an inverse matrix
A
−1 . If matrix A is sparse, then the matrix A
−1 will no longer exist, so the solution
to the original problem is more preferable. In particular, DASSL allows solving
differential–algebraic equations when the matrix ∂ F/∂ y
is degenerate.
DASSL is based on the backward differentiation formula (BDF), which is part
of a family of implicit multi-step numerical integration methods [13, 18]. At each
time step, left finite differences (backward differences) are used to approximate time
derivatives (backward differentiation):
y
(t n ) ≈
y(t n ) − y(t n−1 )
t n
≈
y n − y n−1
t n
.
Hereinafter, y n is an approximation of the exact value y(t n ) and t n = t n − t n−1 is a
variable (in the general case) time step. Nonlinear system obtained at each time step
F
t n , y n ,
y n − y n−1
t n
= 0
solved by Newton’s method:
y
m+1
n
= y
m
n −
∂ F
∂ y +
y n − y n−1
t n
∂ F
∂ y
−1
F
t n , y
m
n ,
y
m
n − y n−1
t n
,
where y
m
n is the approximation y n obtained at step m. To accelerate convergence, the
nonlinear system is written as
F(t, y, ˆ
a y + β) = 0,
where ˆ
a is the constant characterizing the change in step and β is the vector, depending
on the solution at the previous step. The values t, y, ˆ
a, and β are calculated at t = t n .
The converted system is solved by the modified Newton method.
A more detailed description of the software is presented in [13]. Since DASSL
is quite stable for a wide range of tasks, in Wolfram SystemModeler it is chosen by
default.
CVODES
C-language variable-coefficients ODE solver (CVODES) [21, 22] is a software tool
for solving the Cauchy problem for systems of ordinary differential equations of the
first order (both rigid and non-rigid) with respect to y ∈ R
N , specified explicitly
y
= f (t, y), y(t 0 ) = y 0 .
2 Description of the Wolfram SystemModeler
DASSL is useful for solving two classes of problems that cannot be solved by
standard methods. The first class is represented by tasks that cannot be brought
to a standard form y
= f (t, y). The tasks of the second class are theoretically
reducible to the standard form, but such a transformation leads to serious problems.
For example, conversion Ay
= By requires multiplication by an inverse matrix
A
−1 . If matrix A is sparse, then the matrix A
−1 will no longer exist, so the solution
to the original problem is more preferable. In particular, DASSL allows solving
differential–algebraic equations when the matrix ∂ F/∂ y
is degenerate.
DASSL is based on the backward differentiation formula (BDF), which is part
of a family of implicit multi-step numerical integration methods [13, 18]. At each
time step, left finite differences (backward differences) are used to approximate time
derivatives (backward differentiation):
y
(t n ) ≈
y(t n ) − y(t n−1 )
t n
≈
y n − y n−1
t n
.
Hereinafter, y n is an approximation of the exact value y(t n ) and t n = t n − t n−1 is a
variable (in the general case) time step. Nonlinear system obtained at each time step
F
t n , y n ,
y n − y n−1
t n
= 0
solved by Newton’s method:
y
m+1
n
= y
m
n −
∂ F
∂ y +
y n − y n−1
t n
∂ F
∂ y
−1
F
t n , y
m
n ,
y
m
n − y n−1
t n
,
where y
m
n is the approximation y n obtained at step m. To accelerate convergence, the
nonlinear system is written as
F(t, y, ˆ
a y + β) = 0,
where ˆ
a is the constant characterizing the change in step and β is the vector, depending
on the solution at the previous step. The values t, y, ˆ
a, and β are calculated at t = t n .
The converted system is solved by the modified Newton method.
A more detailed description of the software is presented in [13]. Since DASSL
is quite stable for a wide range of tasks, in Wolfram SystemModeler it is chosen by
default.
CVODES
C-language variable-coefficients ODE solver (CVODES) [21, 22] is a software tool
for solving the Cauchy problem for systems of ordinary differential equations of the
first order (both rigid and non-rigid) with respect to y ∈ R
N , specified explicitly
y
= f (t, y), y(t 0 ) = y 0 .
