Symulowanie fal elektromagnetycznych na komputerze Paweł Redman Na dole slajdów pojawiać się będą moje komentarze, których nie było na prezentacji konkursowej (slajdy wyjaśniałem ustnie).
Równania Maxwella Prawa Gaussa Prawo Faradaya Prawo Ampére’a ∇⋅ 𝐷 = ρ 𝑠𝑤 ∇× 𝐸 =− ∂ 𝐵 ∂𝑡 ∇⋅ 𝐻 =0 Związki konstytutywne Prawo Ampére’a (rozszerzone przez Maxwella) ∇× 𝐻 = 𝑗 𝑠𝑤 + ∂ 𝐷 ∂𝑡 𝐷 =ϵ 𝐸 𝐵 =μ 𝐻
Równania Maxwella dla fal elektromagnetycznych Prawa Gaussa Prawo Faradaya ∇⋅ 𝐷 = ρ 𝑠𝑤 ∇× 𝐸 =− ∂ 𝐵 ∂𝑡 ∇⋅ 𝐻 =0 Związki konstytutywne Prawo Ampére’a (rozszerzone przez Maxwella) ∇× 𝐻 = 𝑗 𝑠𝑤 + ∂ 𝐷 ∂𝑡 𝐷 =ϵ 𝐸 𝐵 =μ 𝐻 Do uproszczenia symulacji fal można założyć, że nie ma w przestrzeni ładunków swodobnych i prądów swobodnych.
Równania Maxwella dla fal elektromagnetycznych Prawa Gaussa Prawo Faradaya ∇⋅ 𝐷 =0 ∇× 𝐸 =− ∂ 𝐵 ∂𝑡 ∇⋅ 𝐻 =0 Związki konstytutywne Prawo Ampére’a (rozszerzone przez Maxwella) ∇× 𝐻 = ∂ 𝐷 ∂𝑡 𝐷 =ϵ 𝐸 𝐵 =μ 𝐻
Równania Maxwella dla fal elektromagnetycznych Prawo Faradaya ∇× 𝐸 =−μ ∂ 𝐻 ∂𝑡 Prawa Gaussa ∇⋅ 𝐸 =0 Prawo Ampére’a (rozszerzone przez Maxwella) ∇⋅ 𝐻 =0 ∇× 𝐻 =ϵ ∂ 𝐸 ∂𝑡 Równania można jeszcze bardziej uprościć poprzez pozbycie się pół D i B.
Dyskretyzacja Równania Maxwella są ciągłe, a komputer jest maszyną cyfrową. Jak więc rozwiązać równania Maxwella na komputerze?
Metoda FDTD (ang. finite-difference time-domain method) Równania Maxwella przybliżane metodą różnic skończonych. Przestrzeń i czas zdyskretyzowane według siatki Yee. W każdej kolejnej iteracji liczone są pola elektryczne i magnetyczne dla kolejnych odstępów czasowych. Jako że odbywa się w dziedzinie czasu, jest idealna do wizualizacji fal elektromagnetycznych.
Siatka Yee Cechy z • Składowe E⃗ i H⃗ są w ułożone naprzemiennie w siatce. • Istnieją zatem w różnych punktach w przestrzeni. • E⃗ i H⃗ są też ułożone naprzemiennie w czasie (nie przedstawione na rysunku) • E⃗ istnieje dla: t = 0, t = Δt, t = 2Δt, ... • H⃗ istnieje dla: t = ½Δt, t = 1½Δt, t = 2½Δt, ... • Stworzona przez Kane S. Yee na potrzeby metody FDTD, opublikowana w roku 1966. Ez Hx Hy Hz Ey y Ex x
Siatka Yee Zalety z Ey • Stworzona specjalne z myślą i,j,k+1 Zalety • Stworzona specjalne z myślą o liczeniu rotacji. • Świetnie radzi sobie z warunkami brzegowymi. • Zapewnia, że prawa Gaussa będą zawsze spełnione i nie trzeba się o nie martwić. Ez i,j,k Ez i,j+1,k Hx i,j,k y Ey i,j,k ∇⋅ 𝐸 =0 ∇⋅ 𝐻 =0
Równania Maxwella na siatce Yee ∇× 𝐸 =−μ ∂ 𝐻 ∂𝑡 ∇× 𝐻 =ϵ ∂ 𝐸 ∂𝑡 ∂ 𝐸 𝑧 ∂𝑦 − ∂ 𝐸 𝑦 ∂𝑧 =−μ ∂ 𝐻 𝑥 ∂𝑡 ∂ 𝐻 𝑧 ∂𝑦 − ∂ 𝐻 𝑦 ∂𝑧 =ϵ ∂ 𝐸 𝑥 ∂𝑡 ∂ 𝐸 𝑥 ∂𝑧 − ∂ 𝐸 𝑧 ∂𝑥 =−μ ∂ 𝐻 𝑦 ∂𝑡 ∂ 𝐻 𝑥 ∂𝑧 − ∂ 𝐻 𝑧 ∂𝑥 =ϵ ∂ 𝐸 𝑦 ∂𝑡 ∂ 𝐸 𝑦 ∂𝑥 − ∂ 𝐸 𝑥 ∂𝑦 =−μ ∂ 𝐻 𝑧 ∂𝑡 ∂ 𝐻 𝑦 ∂𝑥 − ∂ 𝐻 𝑥 ∂𝑦 =ϵ ∂ 𝐸 𝑧 ∂𝑡 Rozpisuję operator rotacji.
Równania Maxwella na siatce Yee z Ey i,j,k+1 Ez i,j,k Ez i,j+1,k ∂ 𝐸 𝑧 ∂𝑦 − ∂ 𝐸 𝑦 ∂𝑧 =−μ ∂ 𝐻 𝑥 ∂𝑡 Hx i,j,k y Ey i,j,k ∂ 𝐸 𝑧 ∂𝑦 ≈ 𝐸 𝑧 𝑖,𝑗+1,𝑘 − 𝐸 𝑧 𝑖,𝑗,𝑘 Δ𝑦 ∂ 𝐸 𝑦 ∂𝑧 ≈ 𝐸 𝑦 𝑖,𝑗,𝑘+1 − 𝐸 𝑦 𝑖,𝑗,𝑘 Δ𝑧 Przybliżam pochodne cząstkowe odpowiednimi centralnymi różnicami skończonymi (według siatki).
Równania Maxwella na siatce Yee ∂ 𝐻 𝑥 ∂𝑡 ≈ 𝐻 𝑥 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 − 𝐻 𝑥 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 Δ𝑡 𝐸 𝑧 𝑡,𝑖,𝑗+1,𝑘 − 𝐸 𝑧 𝑡,𝑖,𝑗,𝑘 Δ𝑦 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘+1 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘 Δ𝑧 =−μ 𝐻 𝑥 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 − 𝐻 𝑥 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 Δ𝑡 𝐻 𝑥 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 = 𝐻 𝑥 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 − Δ𝑡 μ 𝐸 𝑧 𝑡,𝑖,𝑗+1,𝑘 − 𝐸 𝑧 𝑡,𝑖,𝑗,𝑘 Δ𝑦 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘+1 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘 Δ𝑧 𝐻 𝑥 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 = 𝐻 𝑥 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 − Δ𝑡 μ 𝑅 𝐸𝑥 𝑡,𝑖,𝑗,𝑘 Przybliżam pochodną po czasie. Następnie wszystkie te przybliżenia podstawiam do pierwotnego równania i przekształcam tak, aby dostać wzór na pole H dla następnego kroku. Wprowadzam symbol R dla uproszczenia.
Równania Maxwella na siatce Yee 𝐻 𝑥 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 = 𝐻 𝑥 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 − Δ𝑡 μ 𝑅 𝐸𝑥 𝑡,𝑖,𝑗,𝑘 𝐻 𝑦 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 = 𝐻 𝑦 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 − Δ𝑡 μ 𝑅 𝐸𝑦 𝑡,𝑖,𝑗,𝑘 𝐻 𝑧 𝑡+ Δ𝑡 2 ,𝑖,𝑗,𝑘 = 𝐻 𝑧 𝑡− Δ𝑡 2 ,𝑖,𝑗,𝑘 − Δ𝑡 μ 𝑅 𝐸𝑧 𝑡,𝑖,𝑗,𝑘 𝐸 𝑥 𝑡+Δ𝑡,𝑖,𝑗,𝑘 = 𝐸 𝑥 𝑡,𝑖,𝑗,𝑘 + Δ𝑡 ϵ 𝑅 𝐻𝑥 𝑡+ Δ𝑡 2, 𝑖,𝑗,𝑘 𝐸 𝑦 𝑡+Δ𝑡,𝑖,𝑗,𝑘 = 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘 + Δ𝑡 ϵ 𝑅 𝐻𝑦 𝑡+ Δ𝑡 2, 𝑖,𝑗,𝑘 𝐸 𝑧 𝑡+Δ𝑡,𝑖,𝑗,𝑘 = 𝐸 𝑧 𝑡,𝑖,𝑗,𝑘 + Δ𝑡 ϵ 𝑅 𝐻𝑧 𝑡+ Δ𝑡 2, 𝑖,𝑗,𝑘 Postępuję analogiczne, aby uzyskać przybliżenia dla wszystkich 6 równań.
Warunek brzegowy Przestrzeń w FDTD jest skończona. Co robić, kiedy w obliczeniach potrzebne są wartości pól spoza przestrzeni? ? 𝑅 𝐸𝑥 𝑡,𝑖,𝑗,𝑘 = 𝐸 𝑧 𝑡,𝑖,𝑗+1,𝑘 − 𝐸 𝑧 𝑡,𝑖,𝑗,𝑘 Δ𝑦 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘+1 − 𝐸 𝑦 𝑡,𝑖,𝑗,𝑘 Δ𝑧
Oblicz E⃗t+Δt z H⃗t+½Δt Algorytm FDTD Dostatecznie wiele kroków? Koniec symulacji Rozpoczęcie symulacji TAK NIE Oblicz H⃗t+½Δt z E⃗t Ustawienie parametrów Oblicz źródła H Obliczenie stałych Oblicz E⃗t+Δt z H⃗t+½Δt Wyzerowanie E⃗ i H⃗ Oblicz źródła E Wizualizacja (nieobowiązkowo) Zwiększ t o Δt
Implementacja metody FDTD Zaimplementowałem przedstawioną tu metodę FDTD jako program komputerowy. Napisany w C, niecałe 3000 linii kodu (z czego ok. 500 to obliczenia fizyczne). Obliczenia fizyczne są wykonywane równolegle do reszty programu. Uruchomiony zostanie w czasie rzeczywistym na procesorze Intel® Core™ 2 Duo T7100, (2 x 1.80 GHz).
Symulacja nr 1 Symulacja fali płaskiej w próżni. Pola elektryczne i magnetyczne są pokazane przy pomocy kolorów. Składowym RGB odpowiadają składowe XYZ odpowiednich pól. Na przykład: kolor szary to wektor zerowy kolor czerwony to [1, 0, 0] kolor zielony to [0, 1, 0] kolor ciemnofioletowy o [0, -1, 0] kolor czarny to [-1, -1, -1] itp. Pole magnetyczne jest odpowiednio rozjaśnione, aby skorygować impedancję próźni. Nagrania z symulacji zostały dołączone do tej prezentacji.
Symulacja nr 2 Symulacja fali płaskiej, przechodzącej przez otwór. Celem jest pokazanie zasady Huygensa.
Symulacja nr 3 Symulacja fali płaskiej, na drodze której stoi przeszkoda z dwoma blisko siebie położonymi szczelinami. Celem jest pokazanie interferencji.
Symulacja nr 4 Refrakcja Symulacja fali płaskiej, na drodze której stoi kula z wody. Celem jest pokazanie zjawiska refrakcji i odbicia fali spowodowanego niedopasowaną impedancją. ϵ 𝑟 =1,77 μ 𝑟 =1 𝑛= ϵ 𝑟 μ 𝑟 ≈1,33 𝑍= 𝑍 0 μ 𝑟 ϵ 𝑟 ≈283Ω 𝑍 0 ≈377Ω
„Symulowanie fal elektromagnetycznych na komputerze” Dziękuję za uwagę. „Symulowanie fal elektromagnetycznych na komputerze” Paweł Redman