Page 212 - Numerical methods for chemical engineering
P. 212
198 4 Initial value problems
T
If (∂G/∂z ) is singular, then as t → 0, B(x) also becomes singular. To see this, consider
a system with two differential and two algebraic equations. Then, as t → 0, writing
b ij = ( t)a ij ,wehave
α −1 [( t)a 12 ][( t)a 13 ][( t)a 14 ]
[( t)a 21 ] [( t)a 23 ][( t)a 24 ]
α −1
B ≈ (4.211)
[( t)a 31 ][( t)a 32 ][( t)a 33 ][( t)a 34 ]
[( t)a 41 ][( t)a 42 ][( t)a 43 ][( t)a 44 ]
The determinant of this matrix is
4 4 4 4
b
b
b
b
det(B) = ε i 1 ,i 2 ,i 3 ,i 4 1,i 1 2,i 2 3,i 3 4,i 4 (4.212)
i 1 =1 i 2 =1 i 3 =1 i 4 =1
As t → 0, the terms with i 1 = 1, i 2 = 2 dominate the others, and
4 4 4 4
2
b
b
b
det(B) ≈ ε 1,2,i 3 ,i 4 (α −1 )(α −1 )b 3,i 3 4,i 4 = α −1 ε i 3 ,i 4 3,i 3 4,i 4 (4.213)
i 3 =1 i 4 =1 i 3 =1 i 4 =1
T
2
Thus, det(B) ≈ α det(B 22 ), and if B 22 = (∂G/∂z ) is singular, so is B(x) and Newton’s
−1
method (4.207) fails, even in the limit as t → 0.
T
If, however, (∂G/∂z ) is nonsingular, then B(x) will not be singular as t → 0, and the
T
linear system at each Newton update has a unique solution. If (∂G/∂z ) is nonsingular,
it is also easy to determine a set of consistent initial conditions, i.e., one that satisfies all
algebraic equations. We set y, and then compute z using Newton’s method to solve
0 = G(y, z) (4.214)
T
If (∂G/∂z ) is nonsingular, we can take a single time derivative,
d ˙ y = F(y, z) ∂ F ∂ F ∂G ∂G
⇒ ¨ y = ˙ y + ˙ z 0 = ˙ y + ˙ z
dt 0 = G(y, z) ∂y T ∂z T ∂y T ∂z T
(4.215)
to obtain an equivalent system with a nonsingular mass matrix,
I 0 F(y, z)
˙ y
∂G
∂G (4.216)
0 ˙ z = − F(y, z)
∂z T ∂y T
Definition The index of a DAE system is the number of differentiations required to convert
it into an ODE system with a nonsingular mass matrix.
T
For the example above with nonsingular (∂G/∂z ), the index is 1. High-index DAE
systems are not uncommon, and one must perform the necessary reduction in index to 1
through differentiations in order to use the BDF method presented above. Also, for high-
index problems, it can be challenging to identify a consistent set of initial questions.
In MATLAB, ode15s can simulate index-1 DAE systems. In other languages, the package
DASSL by Petzold and coworkers is popular and performs well. A further discussion of
DAEs may be found in Ascher & Petzold (1998).