MASARYK UNIVERSITY F9602 Interakce elektromagnetického pole se živou hmotou GSVIT hands-on tutorial Petr Steindl Faculty of Science Department Condensed matter physics 1. září 2017 Obsah 1 Teorie elektromagnetického pole 2 1.1 Maxwellovy rovnice............................................. 2 1.2 Optické vlastnosti látek.......................................... 3 2 FDTD solver GSVIT 5 2.1 Metoda FDTD............................................... 5 2.1.1 Volba velikosti kroku........................................ 6 2.2 GSVIT.................................................... 7 2.3 Jak seznam parametrů vytvořit...................................... 7 3 COMPUTATIONAL DOMAIN 9 4 BASIC PARAMETERS 10 5 BOUNDARY CONDITIONS 12 5.1 type..................................................... 12 6 SOURCE 14 7 MEDIA 17 7.1 Vytvoření souboru pro zkoumaný předmět................................ 17 7.1.1 code_shape ............................................. 18 7.1.2 shape_volume_def.......................................... 18 7.1.3 Načtení ze souboru......................................... 19 7.1.4 material............................................... 20 7.2 MATMODE_CHECK ........................................... 21 8 OUTPUTS 22 9 NEAR FIELD to FAR FIELD 25 10 Příklad: Odraz na rovinném rozhraní 27 10.1 Zadání problému.............................................. 27 10.2 Parametrový soubor............................................ 27 10.3 Výsledky simulace............................................. 30 Literatura 33 Projevy interakce světla s materiálovými předměty pozorujeme v každodenním životě a k jejich popisu byla vybudována komplexní teorie interakce elektromagnetického záření v materiálovém prostředí Maxwellem [1]. Pro řešení interakce světla při dopadu na rovinné rozhraní či pro interakci s kulovým předmětem existují analytická řešení, pro složitější geometrie je třeba použít numerické řešení. V posledních letech se oblíbenou metodou na řešení jevů spojených s šířením elektromagnetického záření v materiálovém prostředí se složitou geometrií stala metoda konečných diferencí v časové oblasti (Finite Difference Time Domain, FDTD). V první kapitole připomeneme základní teoretický popis pomocí Maxwellových rovnic. V kapitole 2 nastíníme fungování FDTD metody a představíme si FDTD solver GSVIT. Kapitoly 3-9 slouží jako příručka ke GSVITu a přibližují jeho používání. V poslední kapitole demonstrujeme řešení příkladu odrazu elektro-magnetického vlnění na rovném rozhraní kov-vzduch. 1 Kapitola 1 Teorie elektromagnetického pole 1.1 Maxwellovy rovnice Interakci světla s materiálovým objektem lze popsat pomocí Maxwellových rovnic: V D = pu (1.1) V-B = 0, (1.2) VxE = --, (1.3) dD VxH = Jf + ^- (1-4) Tyto makroskopické rovnice vzájemně propojují elektrickou D a magnetickou B indukci s intenzitou elektrického E a magnetického H pole skrze hustotu volného náboje p f a hustotu volného proudu Jf. Elektrické a magnetické pole při šíření v materiálovém prostředí vyvolává elektrickou (polarizaci P) a magnetickou (magnetizaci M) odezvu, která modifikuje intenzitu celkového elektrického a magnetického pole dle následujících vztahů D = e0E + P, (1.5) H = —B-M, (1.6) Mo kde eo a po jsou elektrická permitivita a magnetická permeabilita vakua. Makroskopické (globálni) Maxwellovy rovnice (1.2)-(1.7) jsou doplněny třemi rovnicemi mikroskopickými (lokálními) Jf = 1 vypisuje informace o stavu dokončení jednotlivých fází (především stav započtení okrajových podmínek pro jednotlivé složky elmag. záření). 10 BASIC PARAMETERS 11 THREADS THREADS -1 THREADS souvisí s počteni použitých jader k výpočtu. Lze nastavit hodnotu -1, která odpovídá automatické detekci počtu jader a následnému využití všech automaticky dohledaných jader. GPU GPU 0 GPU souvisí s počtem použitých grafických karet, při nastavení GPU =< @0@ > probíhá výpočet na procesoru počítače. Kapitola 5 BOUNDARY CONDITIONS Při výpočtu FDTD hrají zásadní roli okrajové podmínky. V GSVITu se dají nastavit okrajové podmínky pro celý početní objem stejného typu BOUNDARY.ALL, pro každou stěnu výpočetního kvádru podmínky jiné BOUNDARY, případně podmínky periodické MBOUNDARY. Z počátku pojednáme o možných typech okrajových podmínek. 5.1 type Typ none odpovídá hranici bez odrazu, tedy představuje rozhraní mezi výpočetním objemem a ideálním elektrickým vodičem. Typ liao odpovídá druhému řádu absorpce, poskytuje základní absorpci, ovšem ne tak kvalitní jako okrajové podmínky cpml. Typ cpml (Convolutional Perfectly Matched Layer) očekává parametry depth, power, crmax, "maj, Kmax a pomocí nich dopočítává absorbci. Tato metoda je navržena tak, aby rozhraní neodráželo žádné vlny zpět do výpočetního objemu. Parametry crmax, amax, Kmax slouží ke generování souřadnic protahování a polynomální tlumení stupně power na vrstvě tloušťky depth. Při nastavení crmax = — 1, bude parametr crmax optimalizován. Aby byl výpočet stabilní, musí být parametry crmax, amax kladné a Kmax > 1. BOUNDARY V této sekci se zaměříme na zápis podmínek pro jednotlivé hranice výpočetního objemu. Postupně jsou ukázány zápisy pro různé typy okrajových podmínek. 12 BOUNDARY CONDITIONS 13 BDUNDARY_XO liao BDUNDARY_XN liao BDUNDARY_YO cpml 10 3 -1 0.03 4 BDUNDARY_YN cpml 10 3 -1 0.03 4 BDUNDARY_Z0 none BDUNDARY_ZN none Výpočetní objem bude tedy ohraničen ve směru osy x okrajovými podmínkami liao, ve směru y cpml (s parametry depth=10, power=3, crmax=-l, amax=0.03, Kmax=4), ve směru z vlna volně opouští na obou koncích výpočetní objem. BOUNDARY_ALL V případě, že chceme pro všechny hranice nastavit stejný typ okrajových podmínek, použijeme příkaz BOUN-DARY_ALL. Ke spuštění potřebujeme jen upřesnit typ okrajových podmínek (typy okrajových podmínek jsou uvedeny v sekci type). Uvádíme příklad použití liao podmínek (okrajové podmínky none). BDUNDARY_ALL liao MBOUNDARY GSVIT umožňuje nastavit i umělé periodické uvnitř výpočetního objemu. Ukážeme zápis pro umělé podmínky vložené na pozici x = 10 a x = 90, námi nenastavené hodnoty jsou automaticky nastaveny na okraj výpočetního objemu. MBDUNDARY_X0 periodic 10 MBDUNDARY_XN periodic 90 Zde je třeba poznamenat, že nastavení typu MBOUNDARY.ALL, jak bychom mohli intuitivně očekávat, které funguje pro nastavení všech okrajových podmínek na stejný typ, není podporováno. Kapitola 6 SOURCE Total/Scattered field source TSF_SOURCE SDURCE_TSF area_from area.to *angles mode Rovinná vlna (TSF) má 4 základní argumenty - odkud kam se v objemu šíří, pod jakým úhlem dopadá na objem a vlastnosti záření. Tedy na místě area_from (x_start, y_start, z_start) a area_to (x_end, y_end, z_end) se očekávají souřadnice k vymezení objemu, ve kterém se bude záření šířit. *angles (6, (p, ip) první dva úhly určují orientaci šíření vlny výpočetním objemem, viz obrázek 6.1. V případě nastavení nulových úhlů dopadá záření kolmo na stěnu výpočetního kvádru a není nutné tento argument zadávat. Třetí argument udává polarizaci propagující rovinné vlny. Uhly je třeba zadávat v radiánech! Abychom určili charakter záření, lze volit ze tří módů: mode = 0 umožňuje načíst průběh elektrického pole ze souboru, je nutné, aby data v souboru byla uspořádána do dvou sloupců, kde první sloupec odpovídá jednotlivým časovým krokům (zde je třeba dbát, aby v souboru bylo obsaženo alespoň stejně hodnot, kolik jsme zadali časových kroků v COMP). Tato varianta si vyžádá zadat do zdrojového souboru. SDURCE_TSF area^from area.to *angles 0 název_souboru V mode = 1 si GSVIT vytvoří sinusový signál sám, postačí mu dodat vlnovou délku [v metrech] a amplitudu [ve Voltech] záření. Do zdrojového souboru tedy zapíšeme. SDURCE_TSF area_from area.to *angles 1 vlnová_délka amplituda mode = 2 je obdobou mode = 1 s gaussovským tlumením. Signál si opět GSVIT vytvoří sám, musíme mu jen dodat vlnovou délku záření [v metrech], šířku gaussovské obálky [v počtu časových kroků] a amplitudu [ve Voltech] záření. Do zdrojového souboru se zapisuje 14 SOURCE 15 direction polarisation theta [deg] phi [deg] psi [deg] zi /< k E \ x axis y 90 0 0 x axis z 90 0 90 r k y axis x 90 90 0 y axis z 90 90 90 —► y z axis x 0 0 90 *ŕ x z axis y 0 0 0 Obrázek 6.1: Obrázek zachycující smysl úhlů a způsob nastavení polarizace podél příslušné osy. Obrázek převzat z dokumentace GSVIT [5]. SDURCE_TSF area_from area.to *angles 2 vlnová_délka šířka_gauss_obálky amplituda TSF.SKIP TSF_SKIP umožňuje nastavit chování záření na rozhraní s objemem, kterým jsme záření omezili. Tento příkaz rozhoduje, zda se na určité hraně uplatní okrajové podmínky, nebo nikoliv. V následující ukázce vynecháváme okrajové podmínky ve stěně yz připadající x = x_start (iO) a ve stěně xy připadající z = z_end (in). TSF_SKIP iO TSF_SKIP ku SOURCE.POINT SDURCE_PDINT position mode angles Pro šíření rovinné vlny z bodového zdroje z místa position, je nutné kromě souřadnic (xq, yo, zo) dodat také úhly angles (6, cp) [úhly odpovídají obr. 6.1], do kterých se záření šíří a charakterizovat záření pomocí volby modu. Mody rozlišujeme, podobně jako u TSF_SOURCE. mode = 0 umožňuje načíst časový průběh elektrického a magnetického pole ze souboru, je nutné, aby data v souboru byla uspořádána do sloupců v pořadí (čas, Ex, Ey, Ez, Hx, Hy, Hz). I zde dbejte, aby v souboru bylo obsaženo alespoň stejně hodnot, kolik jsme zadali časových kroků v COMP). Tato varianta si vyžádá zadat do zdrojového souboru. SDURCE_PDINT position 0 název_souboru angles SOURCE 16 V mode = 1 si GSVIT vytvoří časovou závislost se sinusovým průběhem sám (hodnoty uloží do aktuální složky pod názvem tmpsource), postačí mu dodat vlnovou délku [v metrech] a amplitudu [ve Voltech] záření. Do zdrojového souboru tedy zapíšeme SDURCE_PDINT position 1 vlnová.délka amplituda angles mode = 2 je obdobou mode = 1 s gaussovským tlumením. Signál si opět GSVIT vytvoří sám, musíme mu jen dodat vlnovou délku záření [v metrech], šířku gaussovské obálky [v počtu časových kroků] a amplitudu záření [ve Voltech]. Do zdrojového souboru se zapisuje SDURCE_PDINT position 2 vlnová.délka šířka_gauss_obálky amplituda angles Kapitola 7 MEDIA FDTD simulací sledujeme obvykle interakci elmag. záření s vloženým předmětem. Tento předmět je charakterizován tvarem a materiálem. V této části se zaměříme, jak GSVITu vnutit námi požadovaný tvar a materiál předmětu, který budeme sledovat. V počátku si ukážeme, jak definovat materiál pixel po pixelu (MEDIUM_LINEAR), následně se budeme věnovat definování materiálu pomocí řádky parametrů (MEDIUM_VECTOR). 7.1 Vytvoření souboru pro zkoumaný předmět GSVIT umožňuje vkládat do výpočetního objemu zkoumaný předmět ve dvou režimech. MEDIUM_LINEAR, který je vhodný pro výpočet komplikovaných nebo plynule se měnících struktur. Pro jednodušší geometrické objekty se doporučuje použít režim reprezentovaný řádkou parametrů MEDIUM_VECTOR. Dále budeme předpokládat, že soubory medium_linear.txt a medium.txt jsou umístěny ve stejném adresáři jako hlavní soubor main.par, pokud tomu tak není, bude nutné název materiálového souboru nahradit v následujícím celou cestou k tomuto souboru. MEDIUM_LINEAR MEDIUM_LINEAR přijímá jako argument název souboru (medium_linear.txt), který je vyplněn binárními daty reprezentující materiál pixel po pixelu. MEDIUM_LINEAR medium_linear .txt Strutura souboru musí být následující (symboly reprezentují sloupečky): position e a n 1 pouze pro stříbro okolo 330 nm, kde zároveň stříbro přestává dobře odrážet světlo. Příklad: Odraz na rovinném rozhraní 32 1.0 - 0.8 - 1 1 1 1 i i i ,// y____v-//:' /// - Au Ag i i - - Analytical — GSVIT ...... Schlucker 200 300 400 500 600 700 Wavelength (nm) 800 900 1000 Obrázek 10.2: Stříbro modře, zlato červeně: a) Porovnání reflektivity z FDTD simulace získané pomocí GSVITu (plná čára) s tabulovanou reflektivitou [2] (přerušovaně) a literaturou [9] (tečkované), b) Srovnání lokálního zesílení na povrchu LFIEF rovného rozhraní vzduch-kov: plná čára odpovídá FDTD výpočtu, přerušovaná analytickému výpočtu dle rovnice (10.2) s parametry dle [2], tečkovaná čára značí výsledek ze Schlůckerovy učebnice[9]. Literatura [1] J. Clerk Maxwell. A Dynamical Theory of the Electromagnetic Field. Phil. Trans. R. Soc. Lond., 115:459-512, 1865. [2] P. B. Johnson and R. W. Christy. Optical constants of the noble metals. Phys. Rev. B, 6:4370-4379, Dec 1972. doi: 10.1103/PhysRevB.6.4370. URL https://link.aps.Org/doi/10.1103/PhysRevB.6.4370. [3] D. W. Ward and K. A. Nelson. Finite-difference time-domain (FDTD) simulati- ons of electromagnetic wave propagation using a spreadsheet. Comput. Appl. Eng. Educ, 13:213-221, 2005. [4] Obrázek - princip Yeeho algoritmu. zhnotes.wordpress.com/2013/08/09/ one-dimensional-fdtd-simulation-of-laser-pulse-in-vacuum, 2017. [5] GSVIT 1.8.2. http://gsvit.net/index.php, 2017. [6] Lumerical. https ://www. lumerical. com/, 2017. [7] Chun Kyungwon, Kim Huioon, Kim Hyounggyu, and Chung Youngjoo. PLRC and ADE implementations of Drude-critical point dispersive model for the FDTD method. Progress In Electromagnetics Research, 135: 373-390, 2013. [8] A. Vial and T. Laroche. Comparison of gold and silver dispersion laws suitable for FDTD simulations. Applied Physics B, 93:139-143, June 2008. [9] Sebastin Schliicker. Surface Enhanced Raman Spectroscopy. WILEY-VCH Verlag Co. KGaA, 2011. 33