0% found this document useful (0 votes)
13 views

Modeling_Simulation_Lecture8

Uploaded by

zarandluxurey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Modeling_Simulation_Lecture8

Uploaded by

zarandluxurey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

12/22/2020

Ali M. Sahlodin
Department of Chemical Engineering
AmirKabir University of Technology
1397 S.H

 Stability of ODEs
 Stability of ODE solvers
 Forward (explicit) Euler
 Backward (implicit) Euler

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


2

1
12/22/2020

 Implicit Euler for DAEs


 Multi-step methods for DAEs
 Backward differentiation formula (BDF)
 Order and stability
 Predictor-corrector method
 Order selection
 Fixed- vs. variable-step BDF

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


3

From Mathworks website

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


4

2
12/22/2020

Manual car-BDF solver analogy!

Better stability: lower gear/BDF order

Faster driving/integration: Higher gear/BDF order (still accurate with larger


steps)
Both start from the 1st gear/order (why?)

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


5

 Importance of a good initial guess

Cycling solution Solution divergence

Courtesy of Benoit Chachuat

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


6

3
12/22/2020

 Solver failure

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


7

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


8

4
12/22/2020

Equations K. E. Brenan, S. L. Campbell, and L. R. Petzold 1995


Numerical Solution of Initial-Value Problems in Differential-Algebraic
 Corrector equation

 Modified Newton’s method

 Iteration matrix

Iteration matrix evaluated at predicted y and y’


Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.
9

 Iteration matrix: dominant cost of integration


 Partial differentiation
 Matrix inversion
 Simplify matrix inversion: LU factorization

 How to reduce computational cost?


 Do not update G at every step!
 May converge in more iterations
 But, each iteration is less expensive

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


10

5
12/22/2020

 Symbolic differentiation
 Exact derivatives
 Difficult/impossible to obtain

 Finite differences
 Approximate derivatives
 Easy to implement

 Automatic differentiation
 Exact derivatives
 Easy to implement and use

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


11

 Break down the function into its constituting


elements

https://en.wikipedia.org/wiki/Automatic_
differentiation

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


12

6
12/22/2020

Calculate both the function and its derivative at the same time

https://en.wikipedia.org/wiki/Automatic_
differentiation

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


13

 Operator overloading: define new data type that


carries both variable and its derivative
 Evaluate derivatives along with function evaluations
 less efficient
 Easy to implement (C++, object-oriented and template)

 Source code transformation: generate derivative


code from original program
 More efficient
 More difficult to implement

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


14

7
12/22/2020

http://www.autodiff.org/

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


15

 Set your solver to use user-supplied


derivatives (instead of finite difference)
 Have the automatic differentiation package
take the function derivatives
 Supply the derivatives to the solver

Advanced simulation packages have built-in automatic differentiation


capabilities
User provides the original model only!

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


16

8
12/22/2020

y  y,   diag (107 , 107 ,..., 107 ), n  5000

Without user-supplied Jacobian With user-supplied Jacobian

94 successful steps
0 failed attempts 94 successful steps
5190 function evaluations 0 failed attempts
1 partial derivatives 190 function evaluations
18 LU decompositions 1 partial derivatives
188 solutions of linear systems 18 LU decompositions
CPU time = 369.3594 188 solutions of linear systems
Elapsed time is 100.947378 CPU time = 81.8750
seconds. Elapsed time is 28.116323 seconds.

•Finite differencing requires a Large number of function evaluations


•User-supplied Jacobian saves a lot of time for large systems! (how?)

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


17

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


18

9
12/22/2020

From “Nonlinear and Dynamic Optimization”, Benoit Chachuat


 Octave (daspk, dassl, ode15s, ode15i)
 Modelica (OpenModelica)
 MATLAB (ODE15i, ODE15s)

Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech.


19

10

You might also like