% % '04-prakt.tex' created: Tue Dec 10 16:21:02 2002 % % Developed by Lubomir Host 'rajo' % Copyright (c) 2003 Platon SDG % Licensed under terms of GNU General Public License. % All rights reserved. % % $Platon$ \chapter{Počítačová simulácia driftu} \section{Hardverové a~softvérové vybavenie} % /* Keďže hardvérové a~softvérové vybavenie vzhľadom na zameranie tejto práce predstavuje experimentálnu aparatúru, považujem za dôležité spomenúť aspoň hlavné prvky. Celá diplomová práca bola vytvorená za pomoci otvoreného softvéru šíreného pod licenciou GNU GPL\urlcite{GNU}. Použitý operačný systém bol GNU/Linux Debian 3.0\urlcite{Debian}. Zdrojové kódy programov a~iných textov boli napísané v~textovom editore Vim\urlcite{Vim}. Programy v~jazyku C~boli kompilované kompilátorom \mbox{gcc-2.95\urlcite{gcc}} a~odladené debuggerom \mbox{gdb-5.3\urlcite{gdb}}. Výpočty prebiehali na počítači s~procesorom Athlon 1.2 GHz a~operačnou pamäťou RAM veľkosti 256~MB. Časová náročnosť výpočtu pre jedno nastavenie vstupných parametrov (časový priebeh driftovej rýchlosti, distribučnej funkcie a pod.) sa pohybovala z rozmedzí 1 minúta až niekoľko hodín v~závislosti od nastavenia vstupných parametrov. Veľkosť operačnej pamäte RAM nemala v tomto prípade vplyv na rýchlosť výpočtu, lebo simulačný program používal iba minimálnu časť pamäte ($ < 1 \mathrm{MB}$). Simulácia najrýchlejšie prebiehala v~prípade $T = 0 \K$. Spomalenie výpočtu pri vyššej teplote bolo spôsobené potrebou viackrát volať generátor náhodných čísel na vygenerovanie náhodnej tepelnej rýchlosti a~taktiež skracovaním doby medzi dvomi zrážkami. % */ \section{Implementácia metódy Monte Carlo} \subsection{Štruktúra programu} % /* Keďže som sa snažil spraviť simulačný program čo najviac flexibilným, odrazilo sa to na relatívnej zložitosti programu. Základné vlastnosti teraz spomeniem. Aby bolo možné zadávať vstupné parametre do výpočtu a~spúšťať program dávkovo (tzn. bez ďalšej potrebnej obsluhy), použil som externú knižnicu \texttt{libcfg+}\urlcite{freshmeat},\urlcite{Platon}, ktorá umožňuje načítať vstupné parametre z~príkazového riadka (alebo konfiguračného súboru) a~naplniť nimi príslušné premenné. Na vývoji tejto knižnice som sa čiastočne podieľal. Spôsob použitia programu a~zoznam akceptovaných parametrov možno získať spustením programu s~parametrom \verb|./hotGas --help| alebo \verb|./hotGas help|. Po úspešnom odovzdaní parametrov do programu a~výpočte hodnôt základných premenných sa kvôli informácii užívateľa vypíše zoznam všetkých dôležitých parametrov. To umožňuje kontrolu a~neskoršiu orientáciu v~dátových súboroch. Všetky údaje sú vypisované na obrazovku. Dátové súbory pri neinteraktívnom spúšťaní výpočtu sa vytvárali presmerovaním výstupu do súboru s~príslušným názvom. Odladenie algoritmu výpočtu si vyžiadalo pomerne veľké množstvo riadkov zdrojového kódu. Aby bola možná aj neskoršia kontrola algoritmu, rozhodol som sa ponechať tieto časti kódu. Všetky časti týkajúce sa ladenia podliehajú podmienenej kompilácii. Preto pri obyčajnej kompilácii tieto inštrukcie do výsledného strojového kódu zahrnuté nie sú, takže nedochádza k spomaľovaniu behu programu a~program beží, ako keby sa tieto riadky ani nevyskytovali v~zdrojovom kóde. Naopak zapnutie režimu ladenia sa udeje zadefinovaním symbolickej konštatny \code{DEBUG} v~kompilátore. Keďže sa ukázalo, že výpočet driftovej rýchlosti a~distribučných funkcií možno robiť v~podstate tým istým algoritmom, rozhodol som sa použiť podmienený preklad aj v tomto prípade. Výhodu to má opäť v~tom, že ak je požadovaný iba výpočet časového priebehu driftovej rýchlosti, nie je spotrebovávaný výpočtový výkon na výpočet distribučnej funkcie a~naopak. Preto ak nie je definovaná konštanta \code{DISTRIB}, výsledný skompilovaný program ráta časový priebeh driftovej rýchlosti. Ak symbolická konštanta \code{DISTRIB} definovaná je, skompilovaný program ráta časový priebeh distribučnej funkcie. % */ \subsection{Popis algoritmov} % /* Drift skupiny iónov v~plyne, teoreticky študovaný v~kapitole \refchapter{coldGas} vyzerá nasledovne: skupina iónov odštartuje z~presne udanej polohy. V každom časovom okamihu sa časť iónov pôvodného zväzku zrazí. Pri zrážke sa mení rýchlosť iónu. Tým dochádza k~rozptylu pôvodného zväzku a~pohyb iónov sa mení z~usmerneného na chaotický. Distribučná funkcia iónov sa postupne vyvíja v~čase, až nadobudne ustálený tvar. Simulácia deja, kde by sa naraz simulovala dostatočne veľká skupina iónov (presnosť metódy Monte Carlo od toho závisí) by vyžadovala mimoriadne veľké nároky na operačnú pamäť, pretože by bolo potrebné uchovávať informáciu o~polohe a~rýchlosti každého iónu z~predchádzajúceho kroku. Možno však využiť predpoklad 2 z kapitoly \refchapter{coldGas}. Keďže ióny navzájom medzi sebou neinteragujú (vzhľadom na ich nízku koncentráciu v~plyne), možno simuláciu robiť postupne. To znamená, že nebudeme simulovať naraz celú skupinu iónov, ale postupne necháme driftovať jeden ión, pričom iba zaznamenávame jeho príspevok k~distribučnej funkcii alebo driftovej rýchlosti. Tým odpadne potreba pamätať si parametre každého iónu z~predchádzajúceho kroku, čím sa podstatne znížia pamäťové nároky. Uchovávať sa bude iba časový priebeh požadovaných výstupných parametrov. Takto sa výpočet s~jedným iónom opakuje veľakrát, až získame dostatočne veľkú skupinu iónov. Keďže numerický výpočet prebieha v~diskrétnom priestore, musíme príspevok každého iónu započítavať v presne určených okamihoch -- bodoch. Uvažujeme homogénne pole, preto sa ión v čase medzi dvomi zrážkami pohybuje rovnomerne zrýchleným (spomaleným) pohybom. Doba medzi dvomi zrážkami však nie je konštantná. Závisí od toho, akú dráhu ión prekoná bez toho, aby sa zrazil, čo je náhodná veličina. Voľná dráha, ktorú urazí ión do ďalšej zrážky, je generovaná metódou inverznej funkcie (kapitola \refchapter{inverse-method}) s~rozdelením \begin{equation} f(x) = \frac{1}{\<\lambda>} e^{-\frac{x}{\<\lambda>}}. \label{distrib-lambda} \end{equation} Príslušná rozdeľovacia funkcia $F(x)$ je \begin{equation} F(x) = \Int_0^x \frac{1}{\<\lambda>} e^{-\frac{\xi}{\<\lambda>}} d\xi = 1 - e^{- \frac{x}{\<\lambda>}} \label{rozdel-lambda} \end{equation} a~inverzná funkcia \begin{equation} F^{-1}(y) = - \<\lambda> \ln(1 - y) \label{inverse-lambda} \end{equation} Tento vzťah možno pre potreby výpočtu upraviť využitím vlastnosti, že číslo $y$ bude mať rovnaké rozdelenie ako číslo $(1 - y)$, pretože $y \in \oper{R}(0, 1)$. Tým sa dosiahne maličké zrýchlenie programu. Na základe tejto vlastnosti možno písať \begin{equation} F^{-1}(y) = - \<\lambda> \ln(y). \label{inverse-lambda1} \end{equation} V závislosti od toho, aká voľná dráha sa vygeneruje a~aký časový krok \code{d\_time} zvolíme (zadáme ako parameter do programu), môže ión prebehnúť niekoľko časových buniek bez zrážky. Alebo naopak, ak sú časy medzi dvomi zrážkami menšie ako časový krok, nastane zrážok niekoľko v~jednej časovej bunke. S týmto náš program ráta. Preto je hlavný výpočtový algoritmus rozdelený do dvoch častí. Schéma použitá pri odladení algoritmu nachádzajúceho sa v~prílohe A na riadkoch \linenumber{a} -- \linenumber{b} (strana \pageref{476}) je na obrázku \ref{schema-vdrift}. Navrhol som časy, kedy dôjde k~zrážke tak, aby boli pokryté všetky prípady: \begin{itemize} \item čas medzi dvomi zrážkami je väčší ako časový krok \item čas medzi dvomi zrážkami je menší ako časový krok \item zrážka nastane presne v~bode, kedy je nutné zaznamenať parametre iónu. \end{itemize} \inputImage{schema-vdrift}{0.5\textwidth}{images/schema-vdrift} {Schéma použitá pri implementácii teoretického modelu. Schématické znázornenie priebehu rýchlosti v závislosti od času. Body, keď nastala zrážka, sú označené hviezdičkou.} Body, v~ktorých som navrhol, že dôjde k~zrážke sú označené hviezdičkou. Pri ladení algoritmu som predpokladal, že časový krok \code{d\_time} je \cislo 1.0 a~zrážky nastanú postupne v~časoch $\cislo 2.2, \cislo 2.6, \cislo 3.2, \cislo 4.0, \cislo 4.8, \cislo 4.9, \cislo 6.0, \cislo 6.5, \cislo 8.0$ (jednotky momentálne nie sú dôležité). V~závislosti od toho, koľko času zostáva do nasledujúcej zrážky, beží prvá alebo druhá časť algoritmu (riadky \linenumber{c} až \linenumber{d} a~\linenumber{e} až \linenumber{f}). Prvá časť algoritmu pracuje vtedy, ak čas zostávajúci do zrážky \code{rand\_time} je väčší ako časový krok výpočtu \code{d\_time}. Vtedy sa vypočítajú nové parametre iónu a~zaznamenajú sa. Tým je zabezpečené, že príspevok každého z~iónov je zarátaný v~správnom čase. Pritom pri každom prebehnutí slučky \code{while()} sa dekrementuje čas do zostávajúcej zrážky a~inkrementuje reálny čas \code{real\_time}. Takže ladenie algoritmu vyzeralo tak, že sa postupne zaznamenali príspevky v~časoch $\cislo 0.0, \cislo 1.0, \cislo 2.0$. Do druhej časti algoritmu sa vstúpi zo zostávajúcim časom do zrážky \code{time\_left} \cislo 0.2. Druhá časť algoritmu pracuje vtedy, ak čas zostávajúci do nasledujúcej zrážky \code{time\_left} je menší ako časový krok \code{d\_time}. Ión sa nechá ešte urýchliť zostávajúci čas do zrážky. V~tomto bode dôjde k~zrážke. Preto sa vygeneruje náhodná tepelná rýchlosť zavolaním funkcie \code{random\_thermal\_speed()} (riadok \linenumber{i}). Táto funkcia v~prípade nulovej teploty vráti okamžite nulovú rýchlosť, v~prípade nenulovej teploty vráti náhodnú rýchlosť s distribučnou funkciou danou vzťahom \rov{fvTg}. Na vygenerovanie náhodnej rýchlosti sa použije von~Neumannova metóda výberu (kapitola \ref{neumann-method}). Z~tejto počiatočnej rýchlosti je ión opäť urýchľovaný na vzdialenosti \code{rand\_x}. Podľa vzťahu \rov{cas-medzi-zrazkami} sa vypočíta čas do nastávajúcej zrážky. Ak má nasledujúca zrážka nastať pred ďalším časovým krokom, postup sa opakuje. Pri ladení programu to potom vyzeralo tak, že sa z~prvej časti algoritmu použijte $\code{time\_left} = \cislo 0.2$. Vygenerovala sa \uv{náhodná} tepelná rýchlosť $\code{v} = \cislo0.5$ a~čas do nasledujúcej zrážky $\code{rand\_time} = \cislo 0.4$. Keďže zrážka nastane v~tej istej časovej bunke, opakuje sa druhá časť algoritmu. Ďalšim \uv{náhodným} časom bude $\code{rand\_time} = 0.6$. Vtedy už podmienka na riadku \linenumber{f} splnená nebude. Preto sa pokračuje riadkom \linenumber{g}, kde sa upraví hodnota \code{time\_left} na hodnotu $\code{time\_left} = \cislo 3.0 - \cislo 2.6 = \cislo 0.4$, pričom sa hodnota \code{rand\_time} nezmení. Takže v~prvej časti algoritmu sa na základe \code{time\_left} správne vypočíta poloha a~rýchlosť iónu a~neskôr na riadku \linenumber{h} správne upraví hodnota \code{rand\_time}. % */ \section{Porovnanie výsledkov} Monte Carlo simulácia driftu iónov v~plyne pod účinkom elektrického poľa je veľmi detailná. V~princípe možno zaznamenať polohu a~rýchlosť každého iónu v~ľubovoľnom časovom okamihu. Avšak takáto detailná informácia nie je väčšinou potrebná. Pri veľkom súbore častíc nedáva globálny prehľad. Preto je výhodnejšie sledovať makroskopické parametre ako sú driftová rýchlosť, teplota a~pod., ktoré možno aj experimentálne namerať. Počítačovou simuláciou deja bola sledovaná driftová rýchlosť iónov a~rýchlostná distribučná funkcia. Driftovú rýchlosť možno určovať dvomi spôsobmi. Prvý spôsob je určovanie driftovej rýchlosti z~ubehnutej dráhy. Tento spôsob nie je natoľko detailný a~časový priebeh driftovej rýchlosti nevykazuje oscilácie. Druhý spôsob je detailnejší, pretože určuje driftovú rýchlosť iónov priamo z~aktuálnych rýchlosti iónov. Ako možno vidieť neskôr, takáto driftová rýchlosť vykazuje oscilácie. \subsection{Driftová rýchlosť a~distribučná funkcia v~aproximácii studeného plynu} % /* V prípade aproximácie studeného plynu možno porovnať analytické riešenie s~výsledkami dosiahnutými metódou Monte Carlo. Drift iónov nastáva vzhľadom na nulovú teplotu neutrálneho plynu v~silnom elektrickom poli. Za takýchto podmienok vykazuje driftová rýchlosť oscilácie. Predpokladajme, že všetky ióny sú v čase $t = 0$ v~bode $x = 0$ a majú nulové rýchlosti. Potom vo vzťahu \rov{driftova-rychlost} pre $\varphi(u - \tau, 0)$ platí \begin{equation} \varphi(u, 0) = \delta(u) \label{pociatocna-distrib-1} \end{equation} Na základe tohto predpokladu bol vzťah \rov{driftova-rychlost} numericky zintegrovaný. Použitá bola obyčajná obdĺžnikova metóda. Časový priebeh tohto analytického riešenia je porovnaný s~výsledkami dosiahnutými metódou Monte Carlo. Výsledky sú zobrazené na obrázku \refimage{analytic}-a až \refimage{analytic}-c. Aby bolo možné výsledky lepšie porovnávať a~pozorovať zákony podobnosti, sú škály grafov v~bezrozmerných jednotkách. Reálne hodnoty parametrov sa dostanú prenormovaním podľa vzťahu \rov{normalizacia}. V~grafe \ref{analytic}-a-c je vynesený analytický priebeh a~driftová rýchlosť určovaná z~prebehnutej dráhy a~priamo z~rýchlosti iónov. Simulácia bola robená pre $N = \cisloexp 1.0^6$ iónov. Driftová rýchlosť určovaná z~prebehnutej dráhy konverguje k~ustálenej hodnote driftovej rýchlosti pomalšie. Dôvodom je práve spôsob výpočtu. Driftová rýchlosť je určovaná zo~strednej ubehnutej dráhy iónu, čo je integrál rýchlosti cez čas. Keďže počiatočná rýchlosť a~poloha iónu sú v~aproximácii studeného plynu nulové, musí sa to nutne prejaviť na výslednom priebehu. V čase $\tau > \cislo 23.0$ je však už odchýlka takto určenej driftovej rýchlosti menšia ako $\cislo 2.0\%$ a~v~čase $\tau > \cislo 40.0$ je už menšia ako $\cislo 1.15\%$. \inputImage{analytic}{\textwidth}{images/analytic}% /* {a,b,c) Časový priebeh driftovej rýchlosti. Krivka označená $\<\zeta> / \tau$ je driftová rýchlosť určovaná z~prebehnutej dráhy, krivka MC je driftová rýchlosť určovaná priamo z~rýchlosti iónov. d) Časový priebeh entropie iónového zväzku. Počet simulovaných iónov $N = \cisloexp 1.0^6$.} % */ Na obrázku \refimage{analytic}-d je znázornený časový priebeh entropie iónového zväzku. Entropii je v~tomto prípade úmerná hodnota veličiny $-\sum_i{\varphi_i \ln{\varphi_i}}$, kde $\varphi_i$ je pravdepodobnosť, že rýchlosť iónu je v~intervale $(u_i, u_i + \!\d u_i)$. Keďže v~tomto prípade všetky ióny štartujú s~nulovou počiatočnou rýchlosťou a~teda sa jedná o dokonale usporiadaný systém, je entropia\footnote{entropia okrem iného charakterizuje stav neusporiadanosti systému} nulová. Postupne, ako dochádza k~zrážkam, entropia rastie. V~čase $\tau = \cislo 4.0$ nadobúda ustálenú hodnotu $\ln\sqrt{\pi / 2} + 1 / 2$ a~ďalej sa už výraznejšie nemení. To naznačuje, že neusporiadanosť systému dosiahla maximum, a~teda rýchlosti iónov sú chaotické. Monotónnosť priebehu entropie a~jej rast hovorí o~nevratnosti fyzikálneho deja~\cite{Statistika}. Ustálená hodnota entropie bola určená vzťahom \begin{equation} S(\infty) = \lim_{\tau \to \infty} S(\tau) = - \Int_{-\infty}^{\infty} \varphi(u, \infty) \ln\varphi(u, \infty) \d u = \ln\sqrt{\frac{\pi}{2}} + \frac{1}{2}, \label{rovnovazna-entopia} \end{equation} kde $\varphi(u, \infty)$ je rovnovážna distribučná funkcia daná vzťahom \rov{rovnovazna-distrib}. Odchýlka vypočítanej hodnoty entropie je spôsobená numerickou chybou (numericky zistená hodnota bola $\cislo 0.744$ oproti teoreticej hodnote $\cislo 0.726$). Hodnota entropie bola určovaná z~výpisu hodnôt distribučnej funkcie integráciou jednoduchou obdĺžnikovou metódou. Z~fyzikálneho hľadiska je však dôležitá jej monotónnosť a~ustálený charakter. Veľkosť odchýlky možno ovplyvniť dostatočným počtom simulácii, veľkosťou rýchlostného intervalu (z~technických dôvodov nemožno uvažovať celý rýchlostný priestor) a~veľkosťou delenia rýchlostného intervalu. %Intenzita elektrického poľa a~stredná voľná dráha v~aproximácii %studeného plynu nemajú vplyv na bezrozmerné parametre. Zabezpečuje to %normalizácia podľa vzťahu \rov{normalizacia}. %\inputImage{distrib-T-0K}{0.5\textwidth}{images/distrib_T-0} \inputTwoImagesDown{distrib-T-0K}{\textwidth}{images/distrib_T-0}% /* {a) Závislosť relatívnej chyby $\varepsilon$ metódy Monte Carlo od počtu simulovaných iónov. b) Distribučná funkcia rýchlosti iónov pri teplote $T = 0\Kelvin$ v~niekoľkých časových okamihoch. Počet simulovaných iónov $N = \cisloexp 1.0^6$.}{0.58} % */ %{Distribučná funkcia rýchlosti iónov pri teplote $T = %0\Kelvin$ v~niekoľkých časových okamihoch. Počet simulovaných iónov $N = %\cisloexp 1.0^6$.} Ako vyplýva z grafu \refimage{distrib-T-0K}-a, relatívna chyba metódy Monte Carlo je pre $N = \cisloexp 1.0^6$ iónov\footnote{všeobecnejšie povedané od počtu simulácii} menšia ako $\cisloexp 1.0^{-3}$. Závislosť chyby metódy Monte Carlo od počtu simulácii bola urobená zrátaním absolútnej odchýlky driftovej rýchlosti od ustálenej hodnoty $u_d(\infty)$ v časoch $\cislo 10.0 < \tau < \cislo 40.0$, teda kedy je už dej ustálený. Matematicky možno výpočet chyby $\varepsilon$ z~grafu \refimage{distrib-T-0K}-a zapísať ako \begin{equation} \varepsilon = \lim_{\tau \to \infty} \frac{\Int_\tau^{\tau + \Delta \tau} |u_d(t) - u_d(\infty)| dt} {\Delta \tau \; u_d(\infty)} \label{relat-chyba} \end{equation} Cez body získané numerickým výpočtom bola preložená fitovacia krivka $\varepsilon = A N^{-\frac{1}{2}}$, kde $A$ je konštanta úmernosti. Ako vidieť z~grafu \refimage{distrib-T-0K}-a, zistená presnosť metódy Monte Carlo presne súhlasí s~teoretickým odvodením. Keďže za jednotku času sa odsimuluje stále rovnaký počet iónov, presnosť metódy Monte Carlo závisí od času výpočtu ako $\sim t^{-\frac{1}{2}}$. Distribučná funkcia iónov je v~niekoľkých časových okamihoch znázornená na obrázku \mbox{\refimage{distrib-T-0K}-b}. Možno pozorovať, že prvotný delta pík\footnote{Distribučná funkcia je tuto \uv{zložená$\,$} z~dvoch častí. Jednou je spomínana delta funkcia (zvislé čiary v~grafe). Druhou časťou je spočiatku lineárny pokles, z~ktorého sa postupne formuje ustálený tvar rovnovážnej distribučnej funkcie daný vzťahom \rov{rovnovazna-distrib}.} pomaly zaniká (v grafe však pokles jeho výšky nie je dobre vidieť) a~postupne sa formuje ustálený tvar rovnovážnej distribučnej funkcie. Pre porovnanie je v grafe zobrazený teoretický priebeh distribučnej funkcie v~čase $\tau = \infty$ (vzťah \rov{rovnovazna-distrib}). Pre časy $\tau > \cislo 4.0$ už nemožno v~grafe pozorovať odchýlky od rovnovážneho stavu, a~preto nie sú zobrazené. \inputImage{start-speed:T-0K}{0.5\textwidth}{images/start-speed-v_drift}% /* {Závislosť driftovej rýchlosti od času pre rôzne hodnoty počiatočnej rýchlosti iónov pri teplote $T = 0\Kelvin$. Počet simulovaných iónov $N = \cisloexp 1.0^6$.} % */ Zaujímavý je časový vývoj driftovej rýchlosti, ak počiatočná rýchlosť iónov je nenulová. Na obrázku \refimage{start-speed:T-0K} je táto závislosť zobrazená pre niekoľko hodnôt počiatočných rýchlostí. Fyzikálne najzaujímavejší je časový vývoj pre počiatočnú rýchlosť iónov $u_0 = \sqrt{2 / \pi} \doteq \cislo 0.8$, teda hodnotu ustálenej driftovej rýchlosti v~čase $\tau = \infty$. Očakávali by sme, že ak už ióny majú \uv{požadovanú} rýchlosť, tá sa meniť nebude. Opak je však pravdou. Driftová rýchlosť chvíľu narastá a~aj v tomto prípade pozorujeme prekmit cez rovnovážnu hodnotu. Vnútorne sa totiž systém ešte nenachádza v~rovnovážnom stave, čo dokazuje priebeh entropie. \inputImage{vdrift-E:T-0K}{0.5\textwidth}{images/zavislost-vdrift-E_T-0}% /* {Závislosť driftovej rýchlosti od intenzity elektrického poľa.} % */ % */ \newpage \subsection{Driftová rýchlosť s~uvážením tepelného pohybu molekúl} Podobne ako v~aproximácii studeného plynu, aj pri uvážení tepelného pohybu plynu boli sledované viaceré charakteristiky. Sledovali sa časové závislosti driftovej rýchlosti, distribučnej funkcie a entropie pri rôznom pomere tepelnej energie a~energie od elektrického poľa, ktorý udáva koeficient $\alpha$ -- rovnica \rov{alpha}. Cieľom bolo sledovať taktiež závislosť driftovej rýchlosti od intenzity elektrického poľa. \inputTwoImagesDown[h]{vdrift_t-300K-normal-model}{\textwidth}{images/vdrift_T-300K-normal-model}% /* {a) Časový priebeh driftovej rýchlosti pre rôzne intenzity elektrického poľa pri teplote $T = 300\Kelvin$. b) Závislosť driftovej rýchlosti od intenzity elektrického poľa. Naznačená smernica $v_{drift} = \cislo 891.05 \; \alpha^{1/2} \m.\s^{-1}$ a~fitovaná smernica $v_{drift} = \cislo 891.05 \; \alpha^{\cislo 0.668} \m.\s^{-1}$. Počet simulovaných iónov hélia $N = \cisloexp 5.0^5$.} {0.58} % */ Ako možno vidieť na obrázku \refimage{vdrift_t-300K-normal-model}-a, časový vývoj driftovej rýchlosti pre veľmi silné polia ($\alpha \sim 10^2$) je identický s~prípadom, keď sme tepelný pohyb neutrálnych častíc plynu neuvažovali. V~prípade, že je energia od elektrického poľa získavaná na strednej voľnej dráhe rovnaká ako tepelná energia ($\alpha \sim 1$), dochádza k~miernemu znižovaniu hodnoty ustálenej driftovej rýchlosti. Z~teórie rezonančnej výmeny náboja \cite{McDaniel} vyplýva, že v oblasti silných polí je závislosť driftovej rýchlosti od intenzity elektrického poľa daná vzťahom \begin{equation} v_{drift} = \sqrt{\frac{2}{\pi}\frac{eE\<\lambda>}{m}}, \label{vdrift-silne-pole} \end{equation} čo je aj odvodené v~kapitole \ref{section:driftova-rychlost}. V~prípade slabých polí je driftová rýchlosť daná vzťahom \begin{equation} v_{drift} = \frac{A}{\sqrt{mkT}}eE\<\lambda>, \label{vdrift-slabe-pole} \end{equation} kde konštanta $A = \cislo 0.330 \div \cislo 0.341$ \cite{McDaniel}. Pohľadom na graf \refimage{vdrift_t-300K-normal-model}-b však vidíme, že oblasť slabých polí vykazuje inú závislosť ako je teoreticky predpovedaná závislosť $v_{drift} \sim E$. Fitovaním získaných numerických dát bola zistená závislosť \begin{equation} v_{drift} = v(\alpha = \cislo 1.0) \; \alpha^{a}, \label{zavislost-normal-model} \end{equation} kde exponent $a$ zistený numericky je $a = \cislo 0.668264 \pm 0.002686$ a~driftová rýchlosť $v(\alpha = \cislo 1.0)$ pre $\alpha = \cislo 1.0$ je $$ v(\alpha = \cislo 1.0) = \sqrt{\frac{2}{\pi} \alpha v_T^2} = \sqrt{\frac{2}{\pi} \cislo 1.0 \frac{2kT}{m}} = \cislo 891.05 \meter.\sekunda^{-1} $$ Celkovo je teda hodnota driftovej rýchlosti v~oblasti slabých polí\footnote{V~héliu $\mathrm{He-He^+}$ pri teplote $T = 300 \Kelvin$ a~strednej voľnej dráhe $\<\lambda> = \cisloexp 3.0^{-7}\m$ je hranica silných a~slabých polí pri intenzite elektrického poľa asi $E = \cislo 170.0 \kV.\m^{-1}$ } vyššia, ako by sa žiadalo. Inak by sme výsledok mohli interpretovať aj tak, že pri takomto fyzikálnom modeli, kedy sa náhodná tepelná rýchlosť generuje podľa rozdeľovacej funkcie danej vzťahom \rov{fvTg}, sa principiálne nemôžeme dostať do oblasti slabých polí a~stále zotrvávame v~prechodnej oblasti\footnote{V~prechodovej oblasti $\alpha = \cislo 1.0$ dôjde pri prechode od silných polí k~slabým k~zmene smernice (logaritmická škála) z~hodnoty $\cislo 0.5$ na hodnotu $\cislo 0.668$, ďalej sa však už nemení.}. Dôvodom je priebeh rozdeľovacej funkcie tepelných rýchlostí a~ako sa neskôr pokusne ukázalo, je exponent závislosti driftovej rýchlosti od intenzity elektrického poľa citlivý na tvar rozdeľovacej funkcie. Ak chceme zisťovať driftovú rýchlosť v~oblasti slabých polí, teda $\alpha \ll \cislo 1.0$, musí byť aj energia dodaná iónu elektrickým poľom na strednej voľnej dráhe menšia ako tepelná energia iónu. Pri rozdeľovacej funkcii \rov{fvTg} však pravdepodobnosť, že ma ión rýchlosť $v = 0$, a~teda že je jeho rýchlosť \footnote{všimnime si, že práve hodnota rýchlosti $v_T$ vystupuje vo vzťahu \rov{alpha} pre koeficient $\alpha$ udávajúci \uv{silu} poľa} nižšia ako $v_T$, relatívne veľmi vysoká. To znamená, že veľká skupina iónov má malú tepelnú energiu, a~teda energia dodávaná poľom nie je nižšia ako tepelná energia. Dôsledok: pole nie je slabé. Pri trojrozmernom modeli by bola situácia iná. Porovnaním rozdeľovacích funkcií pre jednorozmerný a~trojrozmerný model (obrázok \refimage{distribucne-funkcie}) vidíme, že zatiaľ čo pre $u = 0$ nadobúda funkcia $f(u)$ maximum, rozdeľovacia funkcia $f_{3D}(u)$ nadobúda minimum. V~trojrozmernom prípade je teda skupina iónov s~rýchlosťou $v = 0$ málo početná a~energia dodaná elektrickým poľom ma väčšiu \uv{šancu} byť menšia ako tepelná energia iónu. To umožňuje ísť s~intenzitou elektrického poľa dolu a~skúmať závislosť driftovej rýchlosti aj v~týchto slabých poliach. Môžeme teda spraviť teoretický experiment. Uvažujme nasledujúce rozdeľovacie funkcie: % distribucne funkcie /* \begin{eqnarray} f(v_x) dv_x & = & \frac{1}{\sqrt{\pi}v_T} \exp\left(-\frac{v_x^2}{v_T^2}\right) dv_x \\ % f_\beta(v_x) dv_x & = & \left\{ \begin{array}{ll} 0, & |v_x| < \beta v_T \\ \displaystyle\frac{1}{\erfc(\beta)}\frac{1}{\sqrt{\pi}v_T} \exp\left(-\frac{v_x^2}{v_T^2}\right) dv_x, & |v_x| > \beta v_T \\ \end{array} \right. \label{fvBeta} \\ % f(v) dv & = & \frac{4 \pi}{(\sqrt{\pi} v_T)^3} \exp\left(-\frac{v^2}{v_T^2}\right) v^2 dv \label{fv3D} % \end{eqnarray} % */ \inputImage{distribucne-funkcie}{0.5\textwidth}{images/distribucne-funkcie}% /* {Porovnanie distribučných funkcií. Zobrazené distribučné funkcie sú normalizované, $u = v/v_T$. $f_\beta(u)$ vykreslené pre $\beta = \cislo 0.5$.} % */ Rovnica \rov{fvBeta} predstavuje jeden z~jednoduchých spôsobov, ako \uv{vyrezať} pomalé ióny a~priblížiť sa tak k~trojrozmernému modelu. Hodnotou koeficientu $\beta$ možno riadiť šírku vyrezaného pásma, a~tak sledovať vplyv pomalých iónov na závislosť driftovej rýchlosti. Použitím rovnice \rov{fv3D} možno vybudovať akýsi hybridný jeden a pol rozmerný model. \inputImage{zavislost-vdrift-E_T-300-beta-model}{\textwidth}{images/zavislost-vdrift-E_T-300-beta-model}% /* {Závislosť driftovej rýchlosti iónov hélia od intenzity elektrického poľa pri teplote $T = 300\Kelvin$ pri rôznych hodnotách koeficientu~$\beta$.} % */ Vplyv koeficientu $\beta$ na priebeh driftovej rýchlosti je na obrázku \refimage{zavislost-vdrift-E_T-300-beta-model}. V grafe sú znázornené závislosti driftovej rýchlosti od intenzity elektrického poľa (resp. koeficientu $\alpha$, ktorý je s~ňou spätý) pre rôzne hodnoty koeficientu $\beta$. Možno taktiež sledovať vplyv výberu koeficientu $\beta$ na priebeh krivky. Už pri veľmi malej hodnote koeficientu $\beta \sim \cislo 0.05$ dochádza k~ovplyvneniu priebehu. V~oblasti $\alpha = \cisloexp 1.0^{-2}$ pre $\beta = \cislo 0.05$ má krivka driftovej rýchlosti požadovanú smernicu, no pri prechode k~nižším poliam sa krivka láme viacej dolu a~smernica sa zvyšuje. Pri zvyšovaní hodnoty koeficientu $\beta$ dochádza k~tomuto zlomu skôr a~pokles je väčší. Pri slabých poliach ($\alpha < \cisloexp 1.0^{-2}$) však pre väčšie hodnoty koeficientu $\beta$ zvyknú byť hodnoty driftovej rýchlosti veľmi blízke nule, resp. mierne záporné, a~teda v~logaritmickej škále ich nemožno zobraziť. Výsledky, ktoré dostávame, sú akýsi tepelný šum. Príčina príliš veľkého poklesu hodnoty driftovej rýchlosti pri vyšších hodnotách koeficientu $\beta$ jasná nie je. V~oblasti silných polí sú krivky pre všetky hodnoty koeficientu $\beta$ vo veľmi dobrej zhode s~teoretickým priebehom. Časové priebehy driftovej rýchlosti pre rôzne hodnoty koeficientu $\beta$ sú znázornené na obrázku \refimage{vdrift_T-300K-beta-model} (strana \pageref{vdrift_T-300K-beta-model}). V~grafe si možno všimnúť, že ustálenie driftovej rýchlosti nastáva neskôr ako v~prípade bez tepelného pohybu. Ak sa zaujímame o~entropiu, môžeme vychádzať napr. z~grafu \refimage{entropy-alpha-0.1_beta-0.3_speed-0}. Ak porovnáme priebeh entropie s~priebehom entropie pre $T = 0\Kelvin$, vidíme viacero rozdielov. V~tomto prípade už entropia v~čase $\tau = 0$ je nenulová. Dôvodom je to, že počiatočná rýchlosť iónu bola generovaná podľa rozdeľovacej funkcie \rov{fvBeta}, teda počiatočná rozdeľovacia funkcia iónov nebola delta funkcia. Ďalej si možno všimnúť počiatočný hrb ($\tau < \cislo 0.5$) a väčšie oscilácie v~ustálenom stave spôsobené tepelným šumom. \inputImage{vdrift_T-300K-beta-model}{\textwidth}{images/vdrift_T-300K-beta-model}% /* {Časový priebeh driftovej rýchlosti pre rôzne intenzity elektrického poľa pri teplote $T = 300\Kelvin$ pri rôznych koeficientoch $\beta$.} % */ \inputImage{entropy-alpha-0.1_beta-0.3_speed-0}{0.5\textwidth}{images/entropy-alpha-0.1_beta-0.3_speed-0.eps}% /* {Časový priebeh entropie pre $\alpha = \cislo 0.1, \beta = \cislo 0.3$ pri teplote $T = 300\Kelvin$.} % */ \clearpage \inputImage{vdrift_t-300K-x2-model}{\textwidth}{images/vdrift_T-300K-x2-model}% /* {a) Časový priebeh driftovej rýchlosti pre rôzne intenzity elektrického poľa pri teplote $T = 300\Kelvin$ ak sa použije rozdeľovacia funkcia \rov{fv3D}. b) Závislosť driftovej rýchlosti od intenzity elektrického poľa. c) Časový vývoj entropie pre $\alpha = \cislo 1.0$. } % */ Na obrázku \refimage{vdrift_t-300K-x2-model} sú vykreslené závislosti driftovej rýchlosti od času a intenzity elektrického poľa a~časový priebeh entropie. Distribučná funkcia je znázornená na obrázku \refimage{distrib-x2-model-3D} v~trojrozmernom zobrazení, keďže zobrazenie jej časového vývoja v~dvoch rozmeroch je neprehľadné. Tieto závislosti boli získané pri použití rozdeľovacej funkcie \rov{fv3D}, teda rozdeľovacej funkcie rýchlosti iónov platnej v~trojrozmernom priestore. Ako sa ukazuje, pri takomto jednoduchom modeli, kedy je zrážka rezonančnej výmeny náboja simulovaná jednorozmerne a~iba rozdeľovacia funkcia je braná \uv{trojrozmerne$\,$}, možno dosiahnuť pomerne dobrú zhodu s~teoretickým modelom, ktorý hovorí, že v~oblasti slabých polí závisí driftová rýchlosť od intenzity elektrického poľa lineárne (rovnica \rov{vdrift-slabe-pole}). V~oblasti $10^{-1} < \alpha < 1$ sa zdá byť tento zákon pomerne dobre splnený, smerom k~vyšším intenzitám závislosť prechádza k~smernici $\cislo 0.5$, čo je v~zhode s~teóriou pre silné polia (rovnica \rov{vdrift-silne-pole}). Pre polia, kedy je $\alpha < 10^{-1}$ sa numericky získané výsledky odchyľujú od teórie a~driftová rýchlosť závisí od intenzity elektrického poľa ako $v_{drift} \sim E^a$, kde konštanta $a$ určená fitovaním krivky je $a = \cislo 1.194 \pm \cislo 0.007$. Táto odchýlka by mohla byť vysvetlená tým, že fyzikálny model nebol plne trojrozmerný. \inputImage{distrib-x2-model-3D}{\textwidth}{images/x2-model-distrib-3D_projection}% /* {Distribučná funkcia iónov hélia ($\mathrm{He}-\mathrm{He}^+$) pri teplote $T = 300\Kelvin$. $\alpha = \cislo 1.0$, počet simulovaných iónov $N = \cisloexp 5.0^5$. Bezrozmerná škála.} % */ %\inputImage{start-speed:T-300K}{\textwidth}{images/start-speed-v_drift_T-300}% /* % %{Závislosť driftovej rýchlosti od času pre rôzne hodnoty počiatočnej %rýchlosti iónov pri teplote $T = 300\Kelvin$. %Počet simulovaných iónov $N = \cisloexp 5.0^5$.} % */ %\inputImage{distrib-T-300K}{\textwidth}{images/distrib_T-300}% /* % %{Časový vývoj distribučnej funkcie rýchlosti iónov pri teplote $T = %10\Kelvin$ pre rôzne hodnoty zrýchlenia. Stredná voľná dráha %$\<\lambda> = \cisloexp 3.0^{-7}\m$, počet simulovaných iónov $N = \cisloexp %1.0^6$} % */ \newpage % vim: ts=4 % vim600: fdl=0 fdm=marker fdc=3 fmr=/*,*/