• Nie Znaleziono Wyników

Uogólniony (symetryczny) problem własny - wyznaczanie modów własnych struny w 1D

N/A
N/A
Protected

Academic year: 2021

Share "Uogólniony (symetryczny) problem własny - wyznaczanie modów własnych struny w 1D"

Copied!
3
0
0

Pełen tekst

(1)

Uogólniony (symetryczny) problem własny - wyznaczanie modów własnych struny w 1D

Tomasz Chwiej 26 marca 2020

1 Wprowadzenie

Na laboratorium zajmiemy się wyznaczaniem częstości drgań własnych struny, której wychylenie w czasie i przestrzeni opisuje funkcja ψ = ψ(x, t). Dynamiką struny rządzi równanie falowe (N-naciąg struny, ρ(x)- liniowy rozkład gęstości):

N ρ(x)

2ψ

∂x2 = 2ψ

∂t2 (1)

Dokonujemy separacji zmiennych: i) najpierw podstawiając ψ(x, t) = u(x)θ(t), a następnie ii) dzieląc przez iloczyn uθ

N ρ(x)

1 u

2u

∂x2 = 1 θ

2θ

∂t2 = const =−λ (λ = ω2, ω− częstość własna drgań) (2) dzięki czemu otrzymujemy równanie różniczkowe zależne tylko od zmiennej położeniowej

−∂2u

∂x2 = λρ(x)

N u (3)

Struna przymocowana jest w punktach ±L/2 (L-długość struny). Wprowadzamy siatkę równoodle- głych węzłów: x = xi, u(x) = ui, ρ(x) = ρi Odległość pomiędzy węzłami wynosi

∆x = L

n + 1 (4)

a położenie w przestrzeni wyznaczamy tak xi =−L

2 + ∆x· (i + 1), i = 0, 1, 2, . . . , n − 1 (5) Teraz możemy dokonać dyskretyzacji równania (3) podstawiając trójpunktowy iloraz różnicowy cen- tralny za drugą pochodną

−ui−1− 2ui+ ui+1

∆x2 = λρi

Nui (6)

co można zapisać w postaci (A,B - macierze, uuu - wektor)

Auuu = λBuuu (7)

co stanowi tzw.uogólniony problem własny, w którym elementy macierzowe są zdefiniowane następu- jąco

Ai,j = (−δi,j+1+ 2δi,j− δi,j−1) /∆x2 (8)

1

(2)

oraz

Bi,j = ρi

i,j (9)

gdzie

δi,j =

{ 1, i = j

0, i̸= j (10)

jest deltą Kroneckera.

2 Zadania do wykonania

1. Przyjmujemy następujące parametry: L = 10, n = 200, ρ(x) = 1 + 4 α x2, N = 1.

2. Utworzyć macierze A i B oraz wypełnić je zgodnie z wzorami (8) i (9).

3. Rozwiązać równanie (7) dla α ∈ [0, 100] z krokiem ∆α = 2. Dla każdej wartości parametru α do pliku zapisać wartości pierwiastków z 6 kolejnych najmniejszych wartości własnych i sporządzić odpowiedni wykres (ω =√

λ = f (α)).

4. Dla α = 0 oraz α = 100 zapisać do pliku wektory własne odpowiadające 6 najniższym wartościom własnym i sporządzić ich wykresy.

Przykładowe wyniki

0 0.05 0.1 0.15 0.2 0.25

0 20 40 60 80 100

ω

α (a) ω1 ω2 ω3 ω4 ω5 ω6

-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1

-4 -2 0 2 4

u(x)

x (b) α=0

u1 u2 u3 u4 u5 u6

-0.15 -0.1 -0.05 0 0.05 0.1 0.15

-4 -2 0 2 4

u(x)

x (c) α=100

u1 u2 u3 u4 u5 u6

Rysunek 1: (a) zmiany wartości własnych w funkcji parametru α (uwaga: zakres osi pionowej ograni- czono do 0.25) oraz wykresy wektorów własnych odpowiadających 6 najniższym wartościom własnym dla α = 0 (b) i α = 100 (c).

Dla α = 0 (rys. 1(b)) wektory własne są nieparzystymi wielokrotnościami ”połówek” sinusa. Na wykresie 1(c) widać natomiast że dla α = 100, środek struny staje się masywny przez co wektory 1,3,5 mają płaską centralną część.

3 Uwagi

1. W projekcie korzystamy z biblioteki GSL dołączając pliki nagłówkowe

(3)

#include</usr/include/gsl/gsl_eigen.h>

2. Dla każdej wartości α macierze zawsze wypełniamy zgodnie z wzorami (8) i (9), łącznie z zerami (eliminujemy w ten sposób śmieci numeryczne z poporzednich przebiegów pętli).

3. Macierze A i B są symetryczne, więc do rozwiązania uogólnionego problemu własnego używamy metody GSL-a

int gsl_eigen_gensymmv(gsl_matrix * A, gsl_matrix * B, gsl_vector * eval, gsl_matrix * evec, gsl_eigen_gensymm_workspace * w) gdzie: eval to wektor wartości własnych (nieposortowany), evec to macierz n× n w której ko- lumnach zapisane są wektory własne, a wektor pomocniczy w definiujemy tak

gsl_eigen_gensymmv_workspace *w = gsl_eigen_gensymmv_alloc(n);

4. Wartości i wektory własne sortujemy (po rozwiązaniu problemu) stosując funkcję GSL-a int gsl_eigen_gensymmv_sort(gsl_vector * eval, gsl_matrix * evec,

gsl_eigen_sort_t sort_type);

gdzie podstawiamy

gsl eigen sort t=GSL EIGEN SORT ABS ASC (sortowanie od najmniejszej do największej wartości własnej)

Cytaty

Powiązane dokumenty

Definicja: Bazą kanoniczną dla macierzy A stopnia n nazywamy układ n liniowo niezale- żnych uogólnionych wektorów własnych złożony całkowicie z ciągów (tzn... Wektor ten

Wykazać, że jeżeli V jest skończenie wymiarową przestrzenią liniową, to wielo- miany charakterystyczne (a więc także wartości własne) macierzy przekształcenia T ∈ L(V )

Każda macierz kwadratowa jest ortogonalnie podobna do macierzy Hessenberga, więc ma ona to samo widmo wartości własnych co macierz H.. W celu wyznaczenia wartości własnych macierzy

Nas interesują ich części rzeczywiste (nasz problem jest rzeczywisty i rozwiązania też takie powinny

do postaci trójdiagonalnej metodą Lanczosa Naszym zadaniem jest znalezienie wartości i wektorów własnych macierzy stopnia n. Jeśli jednak n jest bardzo duże (np.rzędu ~10 5 ) a

Zapisać do pliku tekstowego wektory własne macierzy

Na wspólnym wykresie proszę nanieść pięć pierwszych funkcji falowych w przedziale x ∈ [−L; +L].. Proszę podać odpowiadające

22 Redukcja macierzy (rzadkiej) hermitowskiej do postaci trójdiagonalnej metodą Lanczosa Naszym zadaniem jest znalezienie wartości i wektorów własnych macierzy stopnia n. Jeśli jednak