Nada, J.Op p 1 (5) Om Verlet s metod Eftersom det blev något fel på tavelanteckningarna 30/3 ψ-faktorn nedan tappade ett h i nämnaren - ges här en korrekt version. Vi studerar en harmonisk oscillator med Euler framåt: y n+1 = y n + hf ( y n ) Implicita Euler, y n+1 = y n + hf ( y n+1 ) Implicita mittpunkts (= trapets) metoden y n+1 = y n + hf ( 1 ( y n+1 + y n )) Verlet s metod x " = v v " = x x n+1 x n = hv n+1/ (+O(h )) ( ( v n+1/ v n1/ = hx n (+O(h )) Den är ekvivalent med central-differensdiskretisering av motsvarande andra ordnings ekvation, x " = x x n+1 x n + x n1 = h x n och kallas i Dahlquist-Björck, 1974 för summerad form av central-differensmetoden. Differentialekvationen beskriver cirkelrörelse och summan av potentiell och kinetisk energi är en rörelsekonstant, d / dt( x + v ) = 0 För linjära ekvationer med konstanta koefficienter är implicita mittpunkts-metoden och trapetsmetoden ekvivalenta. Ví kan behandla de tre första som specialfall av θ-metoden, y n+1 = y n + hf("y n+1 + (1")y n ) y n = x n ), y n+1 = y n + ha("y n+1 + (1")y n ), A = 0 1 ) ( 1 0( v n y n+1 = ( I h"a) 1 ( I + h(1")a)y n := Ky n As egenvärden är + i och Ks egenvärden blir 1+ h(1)i " =, " = 1+ h (1) 1 1 hi 1+ h =1+ 1+ h h Det framgår, att för θ <1/ blir λ > 1 och lösningen växer, medan för θ >1/ lösningen avtar. För θ = 1/ (trapets-metoden) vet vi (övn. ex från Iserles, gjort på föreläsn. 30/3) att ev. kvadratiska invarianter till diffekvationen också är invarianter till diskretiseringen, så energin förblir konstant. Verlet s metod för modellen ovan blir explicit, vare sig linjär flerstegsmetod eller Runge-Kuttametod: v n+1/ är noggranna approximationer till v(t n +h/) - tidpunkter mitt emellan t n,. Man kan visa, att x n +" ( h ) v n+1/ + v n+1/ (," =1+ O(h ) är invariant, dvs. att en O(h )-approximation till energin bevaras exakt: man löser ett något stört problem exakt.
Nada, J.Op p (5) Bevis: Karakteristiska ekv. för differensekvationen blir z " ( " h )z +1= 0, z 1 z =1, z 1 + z = " h För att lösningen inte ska växa måste z 1 = z = 1 dvs. z 1 = e iφ, z = e iφ. Således cos" =1 h," = h + O(h3 ) och om 0 < h < 4 gäller det. Då blir x n = Ae in" + Be in" = Acosn" eftersom x n är reell. Av rekursionsformeln framgår så att v n+1/ + v n"1/ (Acos(n +1) " Acos(n)) + ( Acos(n) " Acos(n "1)) = h{ Den försvann på tavlan! = A A sin (cos(n +1) " cos(n "1)) =... = " sin n sin = " Asin n h h h Således h x n + vn+1/ ( + v n)1/ ( = 4 A sin" QED. Obs: Det borde finnas gå att hitta den diskreta energin direkt från formlerna utan att (som ovan) gå via en explicit lösning. Guldstjärna till den som gör det! Verlets metod är dessutom symplektisk, dvs. den bevarar fasrumsvolymen för Hamiltonska system, dq i dt dp i dt = " H(p,q) p i = H(p,q) q i eller d dt y = f(y) " Fasrummet är rummet F där y = q lever. Betrakta systemets utveckling under [0,t] p som en avbildning av F på sig själv. Då gäller att ett volymselement dv av fasrummet förstoras med faktorn g(t) = det(m(t)) där M är matris-lösningen till d "f M = J(t )M,J = (y(t )) dt "y M(0) = I Man visar lätt, att dg dt = tr(j)g (övning: gör det!) och fasrumsvolymen bevaras således om tr(j) = 0 vilket uppenbarligen gäller för Hamiltonska system: J = "H pq "H pp H qq H qp ( = "Hpq "H pp H qq H ( pq
Nada, J.Op p 3 (5) där subskript anger derivering. För det vanliga fallet att H = T(p) + W(q) kinetisk energi T beror bara på impulserna p och potentiella energin W bara på lägeskoordinaterna q blir Verlets metod (precis som för oscillatorn ovan) explicit, p n+1 " p n = h W(q n+1/ ) q q n+1/ " q n"1/ = "h T(p n ) p Det linjariserade systemet blir "p n+1 "p n = hw q (q n+1/ )"q n+1/ "q n+1/ "q n1/ = ht p (p n )"p n I hw q (q n+1/ ) ) 0 I 144 4443 ( "p n+1 "q n+1/ A n "p n ) = K n ( "q n1/ "p n+1 "q n+1/ I 0 ) = ) ( ht p (p n ) I 14 443 ( B n "p n "q n1/ ) ( 1 ),det(k n ) = ( det(a n ) * det(b n) =1 och därmed är det klart att även diskretiseringen bevarar fasrumsvolymen. Föreläsn. 4/4: Eftersom behandlingen av modellproblemet med Bengt Lindbergs trick inte står i Iserles (och inte har jag hittat det annorstädes heller) matris-notationen för variabelseparation kan göras enklare återges utredningen här: Poissons ekvation på enhetskvadrat med Dirichlet-villkor, central finitadifferensapproximation på (m+1) x (m+1) nät med maskvidd Δx = 1/(m+1): u i+1, j " u ij + u i"1, j x + u i, j+1 " u ij + u i, j"1 144 4443 x = F(x i, y j ),i, j =1,,...,m 14 43 144 4443 approx. u x (x i,y j ) approx. bidrag från både f (x i,y j ) u y (x i,y j ) och randvärden Om randvärdena är tillräckligt snälla blir u(x,y) analytisk, och lokala felet i derivataapproximationerna: ( ), R(x, y) = "x ( 1 u xxxx + u yyyy) + O "x 4 R(x i,y j ) "x max ( 0< x,y<1 1 u xxxx + u yyyy ) = C"x
Nada, J.Op p 4 (5) Om vi skriver lösningen till diskretiserade problemet som en kolonnvektor u, t ex genom att numrera gridpunkterna lexikografiskt, får vi det linjära systemet Au = FΔx A blir en symmetrisk, block-tri-diagonal matris med mxm block, " B I 0... 0 "(4 1 0... 0 I B I... 0 1 (4 1... 0 A = 0 I B......,B = 0 1 (4...... = T m ( I......... B I......... (4 1 0 0... I B 0 0... 1 (4 där också den tridiagonala matrisen T m med på diagonalen definierats. Vi ska visa, att A 1 K/Δx. Då följer: 1. Uppskattning av lösningen ur indata, u K F. Feluppskattning e KC Δx Precis som för det kontinuerliga problemet kan vi med variabelseparation hitta egenvärden (vars absoluta belopp är singulära värden eftersom A är symmetrisk) och egenvektorer. Bengt Lindberg, Nada, lät de obekanta bilda den mxm-matris U som är naturlig. Då blir det linjära ekvationssystemet ovan T { m U + UT { m = Fx "x u y "x u x och egenvärdesproblemet T m V + VT m = "Vx Med variabelseparation letar vi efter egenfunktioner v(x,y) som en produkt v(x,y) = ξ(x).η(y) dvs. (det var detta som skrevs krångligare på tavlan, som 1x T.* y1 T, 1 = (1,1,,1) T ) V ij = ξ i η j eller V = ξη T Om vi således hittar egenpar (λ k,v k ) till T m är saken klar: V = v k v l T " Tm V + VT m = (T m v k )v l T + vk (v l T Tm ) = = ( k v k )v l T + vk ( l v l T ) = (k + l )v k v l T x = (k + l )Vx Egenvärden och egenvektorer till T m hittar man t ex i Iserles, Lemma 10.5 p198, (härledda på samma sätt som på föreläsn.) k " k = cos ) * = *4 sin k ),k =1,,...,m m +1( m + ( A s egenvärden är alltså alla negativa, och
Nada, J.Op p 5 (5) " min = 8sin ) * 8 m + ( 4 +x för stora m, A 1 1 * +x vilket stämmer bra med att största egenvärdet till det kontinuerliga problemet "v = v på = [0,1], v = 0 på är precis π med egenfunktion v(x, y) = sin"x sin"y.