• Nie Znaleziono Wyników

Na zajęciach rozwiążemy równanie falowe

N/A
N/A
Protected

Academic year: 2021

Share "Na zajęciach rozwiążemy równanie falowe"

Copied!
3
0
0

Pełen tekst

(1)

Projekt 10: Równanie falowe - symulacja drgań struny metodą Verleta.

Tomasz Chwiej 11 stycznia 2019

1 Wstęp

Na zajęciach rozwiążemy równanie falowe

2

u

∂t

2

=

2

u

∂x

2

− β ∂u

∂t + α · a

F

(x, t) (1)

czyli znajdziemy zależność u(x, t), które jest wychyleniem struny w punkcie x w chwili t, dla określo- nych warunków brzegowych i początkowych. W równaniu (1), β ­ 0 jest współczynnikiem tłumienia, a α · a

F (x,t)

wymuszeniem, dla którego przyjmiemy

α = 0; 1 (2)

a

F

(x, t) = cos ( 50 · t

t

max

)

· δ

x,xF

(3)

δ

x,xF

to delta Kroneckera (wymuszenie jest punktowe), a t

max

to czas trwania symulacji.

2 Dyskretyzacja, schemat Verleta, warunki brzegowe i początkowe, energia, algorytm

2.1 Dyskretyzacja

Obliczenia będziemy prowadzić na jednowymiarowej siatce przestrzennej. Wprowadzamy zatem siatkę węzłów w przestrzeni i na osi czasu

t = t

n

= ∆t · n, n = 0, 1, 2, . . . , n

t

(4) x = x

i

= ∆ · i, i = 0, 1, 2, . . . , n

x

(5)

u(x, t) = u(x

i

, t

n

) = u

ni

(6)

2.2 Schemat Verleta

W schemacie Verleta kolejno wyznaczamy całe tablice

a

n

→ v

n+12

→ u

n+1

→ a

n+1

→ v

n+1

(7)

gdzie elementy tablic dla danego węzła i liczymy zgodnie z poniższymi wzorami

v

n+

1 2

i

= v

ni

+ ∆t

2 a

ni

(8)

u

n+1i

= u

ni

+ ∆tv

n+

1 2

i

(9)

v

in+1

= v

n+

1 2

i

+ ∆t

2 a

n+1i

(10)

1

(2)

Przyśpieszenie a

n

= ∂

2

u

n

/∂t

2

to lewa strona równania (1), zatem możemy je wyznaczyć obliczając jego prawą stronę, w której pochodne zastępujemy ilorazami różnicowymi

a

ni

= u

ni+1

− 2u

ni

+ u

ni−1

2

− β u

ni

− u

ni−1

∆t + α · a

nF,i

(11)

Jeśli wyznaczymy u

n+1

to identycznie wyznaczamy a

n+1

(zastępując indeks n przez n + 1).

2.3 Warunki brzegowe

Przyjmujemy sztywne warunki brzegowe, co oznacza że struna jest zaczepiona na początku i na końcu

u(0, t) = u(x

max

, t) = 0 (12)

v(0, t) = v(x

max

, t) = 0 (13)

2.4 Warunek początkowy

Ponieważ rozwiązujemy problem z czasem, konieczne jest podanie warunków początkowych (WP) tj.

kształtu struny u(x, t) i rozkładu prędkości wzdłuż struny v(x, t) dla chwili t = 0. Na początku jako WP przyjmijmy, że wychylenie struny ma rozkład gaussowski bez prędkości początkowej

u(x, t = 0) = exp [

(x − x

A

)

2

2

]

(14)

v(x, t = 0) = 0 (15)

parametry x

A

i σ to odpowiednio: środek cieżkości funkcji gaussowskiej oraz jej rozmycie przestrzenne (wartości x

A

i σ podane są w sekcji [3]).

2.5 Energia

Jednym z parametrów kontrolnych w symulacji jest energia zgromadzona w strunie

E(t) = 1 2

xmax

0

v

2

(x, t)dx + 1 2

xmax

0

( ∂u(x, t)

∂x )

2

dx (16)

którą wyznaczymy stosując wzór złożony trapezów

E

n

= ∆ 4

[( u

n1

− u

n0

∆ )

2

+

( u

nnx

− u

nnx−1

)

2

] + ∆

2

n

x−1

i=1

[

(v

in

)

2

+

( u

ni+1

− u

ni−1

2∆

)

2

]

(17)

Dla α = β = 0, wartość energii powinna być stała (z dokładnością do niewielkich błędów numerycz- nych).

2.6 Algorytm

Pseudokod dla równania falowego

i n i c j a l i z a c j a : n

x

, n

t

, ∆, ∆t, β , α u t w ó r z t a b l i c e 1 D : u0, u, v , v

p

, a o k r e ś l w a r u n k i b r z e g o w e : u, v o k r e ś l w a r u n k i p o c z ą t k o w e : u, v z a c h o w a j p o p r z e d n i w y n i k : u0 = u

w y z n a c z ( i n i c j a l i z a c j a ): a = wzór (11) ( c z y t a j :a = a

n

, u = u

n

, u0 = u

n−1

) FOR n =1 TO n

t

ST E P 1 DO

2

(3)

v

p

= v +

∆t2

a

u0 = u ( z a c h o w u j e m y p o p r z e d n i w y n i k ) u = u + ∆t v

p

a = wzór (11) v = v

p

+

∆t2

a

li c z : E = wzór (17) z a p i s do p l i k ó w : E , u END DO

3 Zadania do wykonania

1. W obliczeniach proszę użyć następujących wartości parametrów: n

x

= 150, n

t

= 1000, ∆ = 0.1,

∆t = 0.05, x

A

= 7.5, σ = 0.5.

2. Zaimplementować algorytm Verleta dla równania falowego.

3. Znaleźć rozwiązanie równania falowego u(x, t) dla t ∈ [0, ∆t · n

t

] i sporządzić wykres E(t) oraz mapę u(x, t) dla

• α = 0 i β = 0 ( 40 pkt)

• α = 0 i β = 0.1 ( 20 pkt)

• α = 0 i β = 1 ( 20 pkt)

4. Znaleźć rozwiązanie równania falowego u(x, t) dla t ∈ [0, ∆t · n

t

] i sporządzić wykres E(t) oraz mapę u(x, t) dla α = 1, β = 1, warunku początkowego u(x, t = 0) = v(x, t = 0) = 0 oraz x

F

= 2.5 [wzór (3)]. Sporządzić wykres E(t) oraz mapę u(x, t). (20 pkt)

4 Przykładowe wyniki

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 2 4 6 8 10 12 14

E

t β=0 β=0.1 β=1

α=0,β=0

0 5 10 15 20

t 0

2 4 6 8 10 12 14

x

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Rysunek 1: (lewy) Zmiany energii zgromadzonej w strunie dla α = 0 oraz kilku wartości parametru β.

(prawy) Mapa u(x, t) dla α = β = 0 - zmiana koloru przy odbiciu od ścianki oznacza zmianę kierunku wychylenia ze względu na sztywne WB.

3

Cytaty

Powiązane dokumenty

Równania różniczkowe cząstkowe Równanie

→ jeśli rozwiązanie startowe jest „bliskie” dokładnemu to ilość iteracji może być mała (rel. Poissona nie trzeba jej nawet tworzyć (zysk w postaci ograniczenia

jeśli siły niezależne od prędkości, a informacja o nich potrzebna jest do innych celów można - wykonać krok do t+Δt, a potem. rząd błędu wyższy rząd

(Równanie falowe) Skonstruuj niejawny schemat różnicowy Eulera dla równania falowego i określ rząd dokładności poszczególnych rozwiązań względem ∆t i

Kolejność postępowania: najpierw wyznaczymy stany własne membrany, z nich skonstruujemy warunek początkowy dla równania falowego, a rozwiązanie r.. falowego w czasie przy użyciu

Bartłomiej Szafran (bszafran@agh.edu.pl), Krzysztof Kolasiński (kolasinski@fis.agh.edu.pl), Elżbieta Wach (Elzbieta.Wach@fis.agh.edu.pl), Dariusz

→ jeśli M jest macierzą rzadką to koszt jednej iteracji jest rzędu O(n), dla pełnej macierzy O(n 2 ). → jeśli rozwiązanie startowe jest „bliskie” dokładnemu to

Na zajęciach rozwiążemy równanie Poissona dla układu pokazanego na Rys.1 postępując następu- jąco: i) zdyskretyzujemy równanie na regularnej siatce przy użyciu