Fakultät für Luft- und Raumfahrttechnik Institut für Mathematik und Rechneranwendung Prof. Dr. M. Gerdts, Dr. A. Dreves, J. Michael Wintertrimester 2017 Mathematische Methoden in den Ingenieurwissenschaften 5. Übung 14) Dierenzenverfahren Gegen Sei die Randwertaufgabe x00 (t) = 4x(t), x(a) = xa , x(b) = xb . a) Formulieren Sie das aus dem Dierenzenverfahren resultierende lineare Gleichungssystem für eine Diskretisierung in N Intervalle. b) Geben Sie das Gleichungssystem für N = 2, x(0) = 1, x(1) = 2 explizit an. c) Schreiben Sie ein Programm zur Lösung des linearen Gleichungssystems in beliebiger Dimension. 15) Lösbarkeit eines Randwertproblems Eine von auÿen durch F (t) angeregte, gedämpfte Schwingung genügt unter der Voraussetzung, dass die rückstellende Federkraft proportional zur Auslenkung x(t) und die Dämpfung proportional zur Geschwindigkeit ẋ(t) ist, der Bewegungsgleichung 1111111111111 0000000000000 0000000000000 1111111111111 0000000000000 1111111111111 x mẍ(t) + dẋ(t) + cx(t) = F (t), wobei c > 0 die Federkonstante, d > 0 die Dämpfungskonstante und m > 0 die Masse des Schwingers bezeichnen, vgl. Abbildung. Zusätzlich seien Randwerte x(0) = x0 und x(b) = xb gegeben. F Diskutieren Sie die Lösbarkeit der Randwertaufgabe für m = d = c = 1 und F (t) ≡ 0 in Abhängigkeit von b, x0 , xb . 1 16) Finite-Element-Methode Gegeben sei das Randwertproblem −u00 (t) = f (t), t ∈ (a, b), u(a) = u(b) = 0. Die Idee der Finite-Element-Methode besteht darin, das Randwertproblem in ein Variationsproblem zu überführen. Dazu wird die Dierentialgleichung mit einer Funktion v aus einem geeigneten Funktionenraum mit v(a) = v(b) = 0 multipliziert und integriert: b Z Z 00 − u (t)v(t) dt = b f (t)v(t) dt. a a Partielle Integration des linken Integrals führt auf die Variationsgleichung Z b 0 Z 0 u (t)v (t) dt = a b f (t)v(t) dt, (1) a die für alle (geeigneten) Funktionen v mit v(a) = v(b) = 0 erfüllt sein muss. Zur numerischen Approximation dieser Gleichung wird das Intervall [a, b] äquidistant mittels ti = a + ih, i = 0, . . . , N , h = (b − a)/N unterteilt. Unter Verwendung stückweise lineare Basisfunktionen ψi , i = 0, . . . , N des Splineraums SN ([a, b], R) hat die gesuchte approximative Lösung die Form uN (t) = N X ci ψi (t). i=0 Vorüberlegung zu den Randwerten: uN (a) = c0 ψ0 (a) = c0 = 0 uN (b) = cN ψN (b) = cN = 0 Daher genügt für die vorliegenden Randwerte lediglich die Betrachtung der Summe uN (t) = N −1 X ci ψi (t). i=1 Wählt man nun als Testfunktionen die N − 1 Basisfunktionen vi (t) = ψi (t) erhält man aus (1) folgende Gleichungen: Z a b u0N (t)ψi0 (t) dt Z = b f (t)ψi (t) dt, i = 1, . . . , N − 1. (2) a Formulieren Sie das aus (2) resultierende lineare Gleichungssystem und lösen Sie es für den Spezialfall N = 10, f (t) = 1 und [a, b] = [0, 1]. 2 Lösungen 14) a) Umschreiben der Dierentialgleichung zweiter Ordnung in ein System erster Ordnung liefert x0 v0 0 y = ! = 0 1 4 0 ! x v ! ! 0 1 y = g(y) 4 0 = Eine Unterteilung in N Intervalle liefert die äquidistanten Diskretisierungspunkte ! yi = xi vi , i = 0, 1, ..., N und die Schrittweite h = b−a N . Das Diskretisierungsverfah- ren liefert für i = 0, ..., N − 1 h h yi+1 − yi = (g(yi ) + g(yi+1 )) = 2 2 ! ! xi+1 − xi vi + vi+1 h ⇔ = 2 4xi + 4xi+1 vi+1 − vi x i ! −1 − h2 1 − h2 vi ⇔ = −2h −1 −2h 1 xi+1 0 1 4 0 ! xi vi ! + 0 1 4 0 ! xi+1 vi+1 !! ! 0 0 vi+1 Die Randbedingungen liefern noch die beiden zusätzlichen Gleichungen x0 = x(a) = xa , xN = x(b) = xb . Damit ist Gleichungssystems mit der Abkürzung A1 = −1 − h2 −2h −1 ! , A2 = 1 − h2 −2h 1 ! und der Bezeichnung O ∈ R2,2 für die mit Nullen gefüllte 2 × 2 Matrix folgendermaÿen: A1 O O .. . O 1 0 00 A2 A1 O O ··· ··· A2 O · · · · · · A1 A2 · · · ... ... ... ... ··· ··· ··· ··· ··· ··· ··· ··· ··· A1 00 00 3 x0 0 O v0 0 O x 1 .. O . v1 . .. . =. . . . . A2 .. 0 . 0 0 xa xN 10 xb vN b) Explizit für N = 2 ergibt sich h = A1 = 1 2 und damit ! −1 − 14 , −1 −1 A2 = 1 − 14 −1 1 ! und das Gleichungssystem x0 0 −1 − 14 1 − 41 0 0 0 0 v0 0 −1 −1 −1 1 1 1 0 0 1 − 0 −1 − x 4 4 1 = 0 0 −1 −1 −1 1 v1 0 1 0 0 0 0 0 x2 1 0 0 0 0 1 0 v2 2 c) Ein Matlab-Programm, das die Matrix mittels der Diagonalen und Nebendiagonalen deniert ist das folgende: a=0; b=1; xa=1; xb=2; N=3; h=(b-a)/N; d0=[-ones(2*N,1);0;0]; d1=[repmat([-h/2;-2*h],N,1);0]; d2=ones(2*N,1); d3=[repmat([-h/2;0],N-1,1);-h/2]; dm1=[repmat([-2*h;0],N,1);1]; A=diag(d0)+diag(d1,1)+diag(d2,2)+diag(d3,3)+diag(dm1,-1); A(2*N+1,1)=1; sol=A\[zeros(2*N,1);xa;xb] 4 15) Sei m = d = c = 1 und F (t) ≡ 0. Wir betrachten also die Randwertaufgabe ẍ(t) + ẋ(t) + x(t) = 0, x(0) = x0 , x(b) = xb . Der Ansatz x(t) = exp(λt) führt auf das Nullstellenproblem 2 ⇒ λ +λ+1=0 λ1,2 1 =− ± 2 r √ 1 1 3 −1=− ±i . 4 2 2 Es gibt also zwei zueinander komplex konjugierte Eigenwerte. Somit lautet die allgemeine Lösung √ ! √ !! t x(t) = exp − 2 3 t 2 c1 cos 3 t 2 + c2 sin . Die erste Randbedingung x(0) = x0 liefert sofort c1 = x0 . Die zweite führt auf die Gleichung √ ! √ !! xb = exp − b 2 3 b 2 x0 cos + c2 sin 3 b 2 . Dies führt auf die folgenden drei Fälle: Genau eine Lösung tritt auf, wenn √ 3 b 2 sin ! 6= 0 ⇔ 2πk b 6= √ , k ∈ Z. 3 Das Problem hat keine Lösung, wenn √ 3 b 2 sin ! b = 0 und xb 6= exp − x0 cos 2 √ ! 3 b . 2 Das Problem hat unendlich viele Lösungen (nämlich mit c2 ∈ R), wenn √ 3 b 2 sin ! b = 0 und xb = exp − x0 cos 2 16) Einsetzen von uN (t) = N −1 X √ ! 3 b . 2 ci ψi (t) i=1 in das Gleichungssystem Z b u0N (t)ψi0 (t) dt Z = N −1 X j=1 f (t)ψi (t) dt, i = 1, . . . , N − 1 a a liefert b Z cj a b ψj0 (t)ψi0 (t) dt b Z = f (t)ψi (t) dt, a 5 i = 1, . . . , N − 1. Das resultierende lineare Gleichungssystem lautet also hψ10 , ψ10 i hψ10 , ψ20 i hψ20 , ψ10 i hψ20 , ψ20 i .. . 0 0 hψN −1 , ψ1 i 0 0 hψN −1 , ψ2 i ... ... .. . .. . ... 0 0 0 0 0 hψ10 , ψN −1 i hψ2 , ψN −1 i . . . hψN −1 , ψN −1 i wobei hf, gi = Rb a c1 c2 ... = cN −1 hf, ψ1 i hf, ψ2 i .. . hf, ψN −1 i , f (t)g(t)dt das übliche Skalarprodukt ist. Im Spezialfall f = 1, [a, b] = [0, 1] gilt Z hf, ψi i = 1 Z ti t − ti−1 dt + h ψi (t)dt = 0 ti−1 Z ti+1 ti ti+1 − t 1 1 dt = (ti − ti−1 ) + (ti+1 − ti ) = h h 2 2 für i = 1, . . . , N − 1. Desweiteren ist ψi0 (t) = 1 , h − h1 , 0, und damit hψj0 , ψi0 i Z = 1 ψj0 (t)ψi0 (t) dt 0 falls t ∈ [ti−1 , ti ), falls t ∈ [ti , ti+1 ), sonst 0, falls |i − j| > 1, = 2/h, falls i = j, −1/h, falls |i − j| = 1 Insgesamt erhält man nach Multiplikation mit h das lineare Gleichungssystem 2 −1 −1 2 −1 ... ... ... −1 2 −1 −1 2 c1 c2 ... cN −2 cN −1 h2 2 h . = .. . 2 h h2 Die Lösung für N = 10 lautet c = (9/200, 2/25, 21/200, 3/25, 1/8, 3/25, 21/200, 2/25, 9/200)> . Die approximative Lösung uN : 0.1 0 0.2 0.4 t 0.6 0.8 Bemerkung: Die exakte Lösung des Spezialfalls ist u(t) = 12 t(1 − t). 6 1