Systems of differential-algebraic equations (DAEs) arise in many areas including electrical circuit simulation, chemical engineering, and robotics. The difficulty of solving a DAE is characterized by its index. For index-1 DAEs, there are several solvers, while a high-index DAE is numerically much more difficult to solve. The DAETS solver by Nedialkov and Pryce integrates numerically high-index DAEs. This solver is based on explicit Taylor series method and is efficient on non-stiff to mildly stiff problems, but can have severe stepsize
restrictions on highly stiff problems.
Hermite-Obreschkoff (HO) methods can be viewed as a generalization of Taylor series methods. The former have smaller error than the latter and can be A- or L- stable. In this thesis, we develop an implicit HO method for numerical solution of stiff high-index DAEs. Our method reduces a given DAE to a system of generally nonlinear equations and a constrained optimization problem. We employ Pryce’s structural analysis to determine the constraints of the problem and to organize the computations of higher-order Taylor coefficients (TCs) and their gradients. Then, we use automatic differentiation to compute these TCs and gradients, which are needed for evaluating the resulting system and its Jacobian. We design an adaptive variable-stepsize and variable-order algorithm and implement it in C++ using literate programming. The theory and implementation are interwoven in this thesis, which can be verified for correctness by a human expert. We report numerical results on stiff DAEs illustrating the accuracy and performance of our method, and in particular, its ability to take large steps on stiff problems. / Thesis / Doctor of Philosophy (PhD)
Identifer | oai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/25244 |
Date | January 2020 |
Creators | Zolfaghari, Reza |
Contributors | Nedialkov, Nedialko, Computational Engineering and Science |
Source Sets | McMaster University |
Language | English |
Detected Language | English |
Type | Thesis |
Page generated in 0.0022 seconds