Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, March 29, 2024

File: [Platon] / doc / diplomova-praca-rajo / 04-prakt.tex (download)

Revision 1.1, Thu Jul 24 17:48:13 2003 UTC (20 years, 8 months ago) by rajo

Diploma Thesis of Lubomir Host.
Title: Metoda Monte Carlo vo fyzike nizkoteplotnej plazmy. (Slovak language)

%
% '04-prakt.tex' created: Tue Dec 10 16:21:02 2002
%
% Developed by Lubomir Host 'rajo' <rajo AT platon.sk>
% 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=/*,*/



Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top