Hur simuleras Differenial-Algebraiska Ekvaioner? Jonas Elbornsson December 2, 2000 1 Inledning Dea är en sammanfaning av meoder för simulering av Differenial-Algebraiska Ekvaioner (DAE) för kursen i Modellering given av Reglereknik HT 2000. Förs beskrivskorfaa meoder för simulering av OrdinäraDifferenial-Ekvaioner (ODE) efersom simuleringsmeoderna för DAE bygger på dessa. En DAE kan innehålla både differenialekvaioner och saiska samband och kan allmän beskrivas av F(ẏ, y) =0 (1) 2 Simuleringsmeoder för ODE Här beskrivs meoder för a lösa ODE, dvs sysem av ypen 2.1 Eulers meod ẏ = f(, y) (2) y( 0 )=y 0 (3) Eulers meod går u på a man inegrerar differenialekvaionen över e kor idsinervall, h: y( + h) =y()+ f(τ,y)dτ (4) Sedan approximeras inegralen med värde i ändpunken Dea ger simuleringsformeln f(τ,y)dτ hf(, y()) (5) y n+1 = y n + hf(, y n ) (6) y( 0 )=y 0 (7) 1
2.2 Runge-Kua-meoder Idén med Runge-Kua-meoder är a förbära simuleringsnoggrannheengenom a inegralen skaas noggrannare. f(τ,y(τ))dτ h f( + c i h, y( + c i h)) (8) y( + c i h)måse approximeras efersom de ine är kända vid idpunken. En s-segs Runge-kua-meod ges av k 1 = hf( n,y n +a 11 k 1 + +a 1s k s ) (9) k 2 = hf( n + c 2 h, y n + a 21 k 1 + +a 2s k s ) (10). (11) k s = hf( n + c s h, y n + a s1 k 1 + +a s,s 1 k s 1 ) (12) y n+1 = y n + b 1 k 1 + +b s k s (13) Om a ij 0,j inågonsans är Runge-Kua-meoden implici och e olinjär ekvaionssysem måse lösas för varje ieraion. 2.3 Mulisegsmeoder Mulisegsmeoder skiljer sig från Euler och Runge-Kua genom a flera gamla y-värden används isälle för bara e. α i y n+1 = h β i f( n+i,y n+i ) (14) De försa k värdena av y måse vara kända eller beräknas med någon ensegsmeod. Även här finns explicia och implicia varianer. 3 Simuleringmeoder för index 1 problem Index 1 problem kan skrivas på formen ẏ = f(y, z) 0=g(y, z) (15) Eulers meod kan användas direk på dea sysem genom a lösa ekvaionssyseme 0 = g(y n,z n ) numerisk map z n i varje seg. Eulers meod har dock dålig noggrannhe. 3.1 Runge-Kua-meoder Runge-Kua-meoder kan användas på index 1 problem genom e lie rick. Beraka syseme ẏ = f(y, z) εż = g(y, z) (16) 2
Då ε 0övergår 16 ill DAE:n 15. På syseme 16 kan Runge-Kua användas. Välj en Runge-Kua-meod med koefficiener a ij,b j och applicera på syseme 16. Y ni = y n + h a ij f(y nj,z nj ) (17) εz ni = εz n + h y n+1 = y n + h a ij g(y nj,z nj ) (18) b i f(y ni,z ni ) (19) εz n+1 = εz n + h b i g(y ni,z ni ) (20) Y ni, Z ni är en omparamerisering av RK-koefficienerna k i. Y ni = y n + a ij k (y) j (21) där k (y) i och k (z) i Z ni = z n + a ij k (z) j (22) är de delar av k i som hör ill respekive variabel. Bilda marisen a 11 a 1s A =..... (23) a s1 a ss RK-meoden måse vara sådan a A är invererbar ω 11 ω 1s A 1 =..... (24) ω s1 ω ss Från 18 kan man då lösa u g(y ni,z ni ) hg(y ni,z ni )=ε ω ij (Z nj z n ) (25) Genom a säa in 25 i 20 kan man eliminera ε ur uppdaeringen av z n.sedan kan man säa ε =0ochfå en ieraionsformel Y ni = y n + h a ij f(y nj,z nj ) (26) 0=g(Y nj,z nj ) (27) y n+1 = y n + h b i f(y ni,z ni ) (28) z n+1 =(1 b i ω ij )z n + i, b i ω ij Z nj (29) i, 3
Man måse allså lösa e olinjär ekvaionssysem numerisk i varje ieraion. Man kan visa a de globala fele för en RK-meod av ordning p är dvs lika bra som för ODE. 3.2 Mulisegsmeoder y n y( n )=O(h p ) (30) z n z( n )=O(h p ) (31) Mulisegsmeoder kan användas på index 1 problem med samma rick som användes för RK-meoder α i y n+i = h β i f(y n+i,z n+i ) (32) ε α i z n+i = h β i g(y n+i,z n+i ) (33) Här får man direk simuleringsformeln genom a säa ε = 0 α i y n+i = h 0=h (34) β i f(y n+i,z n+i ) (35) β i g(y n+i,z n+i ) (36) (37) Även här måse e olinjär ekvaionssysem lösas numerisk i varje seg. De globala fele för en mulisegsmeod av ordning p är dvs även här lika bra som för ODE y n y( n )=O(h p ) (38) z n z( n )=O(h p ) (39) 4 Simuleringmeoder för index 2 problem För index 2 problem krävs olika meoder för olika yper av sysem, här berakar vi semiexplicia sysem: ẏ = f(y, z) (40) 0=g(y) (41) För sysem av ypen 40 kan samma meoder som för index 1 användas, dvs både RK-meoderna och mulisegsmeoderna. Skaningsfele kan dock bli sörre för index 2 problem. För ex en mulisegsmeod av ordning p blir de lokala fele y n y( n )=O(h p+1 ) (42) z n z( n )=O(h p ) (43) 4
De globala fele kan uppskaas under vissa anaganden och kan i vissa fall bli lika bra som i index 1 falle. De finns flera specialfall av RK-meoderna, där man kan visa olika resula. Ex Projicerade Runge-Kua-meoder Collocaion mehods För vissa meoder blir fele sörre om seglängden minskas för mycke, så a fele kan vara av yp O(h p + 1 h ) 5 Referenser [1] E. Hairer, G.Wanner Solving Ordinary Differenial Equaions II, Siff and Differenial Algebraic Problems Springer-Verlag, 1991 [2] E. Hairer, G.Wanner Solving Ordinary Differenial Equaions I, Nonsiff Problems Springer-Verlag, 1991 [3] Paul M. Frank (Edior) Advances in conrol Kapiel 9: Nonlinear Descripor Sysems, S.L. Campbell, R. Nikoukhah, F. Delebeque s. 247-282 Springer 1999 5