MOKSLASplius.lt

Taškinio krūvio judėjimas nevienalyčiame lauke

Pasinaudoję Lorentzo lygtimis, ankstesniame eksperimente radome elektrono trajektorijas vienalyčiuose elektromagnetiniuose laukuose. Nevienalyčiuose laukuose elektrono judėjimas yra gerokai sudėtingesnis. Trajektoriją (su retomis išimtimis) tenka ieškoti skaitiniais metodais. Šiame skyriuje išspręsime du uždavinius. Pradžioje rasime elektrono trajektoriją vienalyčiame magnetiniame ir nevienalyčiame elektriniame lauke, kurį sukuria be galo ilgas įelektrintas laidas. Antrame, sudėtingesniame uždavinyje apskaičiuosime srovės žiedo magnetinį lauką, o po to rasime elektrono, skriejančio pro srovės žiedą, trajektoriją.

Įelektrintas laidas magnetiniame lauke

Perrašykime ankstesniame eksperimente įvestas Lorentzo lygtis.

\boldmath\begin{eqnarray*}&&R=\{X[t],Y[t],Z[t]\};\\&&v[r]=\{v_x,v_y,v_z\};\\&&\scE [r]=\{\scE_x,\scE_y,\scE_z\};\\&&\scB [r]=\{\scB_x,\scB_y,\scB_z\};\\&&judejimoLygtys=\Bigl(m \frac{\partial ^2 R}{\partial t^2}==e \bigl( v[R]\times \scB [r]+\scE [r]\bigr)\Bigr);\\&&(lorentz = \mathrm{Thread}[judejimoLygtys]) // \mathrm{ColumnForm}\end{eqnarray*}

Nagrinėsime atvejį, kai magnetinis laukas $ \vec{\scB} $ yra vienalytis ($ \vec{\scB}=\mathrm{const} $), o elektrinis $ \vec{\scE} $ — radialinis. Laikysime, kad elektrinį lauką kuria be galo ilgas, $ z $ ašies kryptimi ištemptas ir visur vienodai įelektrintas laidas. Laido elektrinį lauką galima rasti iš krūvio $ q $, kuris tenka laido ilgio vienetui (dimensija C/m). Tokio įkrauto laido sukurtos elektrinio lauko linijos yra statmenos laidui ir turi cilindrinę simetriją. Cilindrinė elektrinių ir magnetinių laukų konfigūracija sutinkama magnetrone — prietaise, kuris naudojamas radiolokatoriuose superaukšto dažnio elektromagnetinėms bangoms generuoti.

Tegul be galo ilgas laidas kerta $ x-y $ plokštumą taške, kurio koordinatės $ x=0 $, $ y=0 $. Taške, nutolusiame nuo laido $ r=\sqrt{x^2+\smash{y}^2} $ atstumu, radialinis elektrinio lauko sandas $ \scE_r $, kaip seka iš Gausso teoremos, yra susijęs su krūviu tokiu būdu: $ q=2\pi \varepsilon_0 r \scE_r $, kur $ \varepsilon_0=8{,}85\times 10^{-12} $ F/m yra vakuumo elektrinė pastovioji. Iš formulių seka, kad elektrinio lauko stipris $ r $ taške yra $ \scE_r=q\big/\Big(2 \pi\varepsilon_0 \sqrt{x^2+y^2}\Big) $. Pažymėję $ Q=q/\varepsilon_0 $, nesunkiai randame lauko projekcijas į dekartines $ x $ ir $ y $ ašis: $ \scE_x=\scE_r x\,/r=Q x\,/2 \pi (x^2+y^2) $; $ \scE_y=\scE_r y/r=Q y/2\pi (x^2+y^2) $. Taigi, Lorentzo lygčių dekartiniai sandai turi tokį pavidalą:

\boldmath\begin{eqnarray*}&&\Bigl(lorentzErBz = lorentz/.\bigl\{\scE_x\to Q X[t]\big/ \bigl(2 \pi  (X[t]^2+Y[t]^2)\bigr),\scE_y\to Q Y[t]\big/\bigl(2 \pi (X[t]^2+Y[t]^2)\bigr),\\&&\hphantom{\Bigl(lorentzErBz = lorentz/.\{}\scE_z\to 0,v_x\to X^\prime [t],v_y\to Y^\prime [t],\scB_x\to 0,\scB_y\to 0\bigr\}\Bigr) //\mathrm{ColumnForm}\end{eqnarray*}

Prieš pradėdami skaitiškai integruoti diferencialines lygtis, turime apibrėžti pradines sąlygas ir į lygtį įeinančių parametrų vertes. Laiko momentu $ t=0 $ elektrono koordinatėms ir pradiniams greičiams suteiksime šias reikšmes:

\boldmath\begin{eqnarray*}&&dr=0.003;\\&&pradinesSalygosErBz=\{X[0]==dr,Y[0]==dr,Z[0]==0,X'[0]==0,Y'[0]==0,Z'[0]==0\};\end{eqnarray*}

Taip pat užduosime elektrono masę, krūvį bei laukų stiprius.

\boldmath$parametrai1=\bigl\{$
\boldmath$\scB_z$\boldmath$\to$,magnetinio lauko $ z $ sando vertė
\boldmath$Q$\boldmath$\to$,laido linijinio krūvio tankio vertė vertė
\boldmath$m$\boldmath$\to$,elektrono masės vertė
\boldmath$e$\boldmath$\to$elektrono krūvio vertė
\boldmath$\bigr\}$

  

Lorentzo lygtis komanda \boldmath$\mathrm{NDSolve}[~]$ skaitiškai integruosime pavyzdžiui, nuo $ t_{start}=0 $ iki $ t_{end}=5\times 10^{-9} $ s.

\boldmath\begin{eqnarray*}&&\\&&sprendinysErBz=\mathrm{NDSolve}[\mathrm{Flatten}[\{lorentzErBz,pradinesSalygosErBz\}]/.parametrai1,\{X[t],Y[t],Z[t]\},\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},MaxSteps\to \fcolorbox[rgb]{1,0,0}{1,1,1}{$kiekis$}]\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Maksimalus žingsnių kiekis skaitiškai sprendžiant diferencialinę lygtį \boldmath$kiekis =$

  

Sprendinio atsakymas pateikiamas trimis interpoliacinėmis funkcijomis \boldmath$\mathrm{InterpolatingFunction}[~]$. Juose skaitinė funkcija yra aproksimuota vienokiais ar kitokiais polinomais (Mathematica 4.x versijose tai Lagrange`o ir Hermite`o polinomai). Atsakymo aproksimacija polinomais yra gera tuo, kad funkcijas bei jų išvestines galima gana tiksliai apskaičiuoti bet kuriems integravimo rėžių taškams. Gautas elektrono trajektorijas aplink įkrautą laidą vizualizuosime parametrinio braižymo komanda \boldmath$\mathrm{ParametricPlot3D}[~]$.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{ParametricPlot3D}[\mathrm{Evaluate}[\{X[t],Y[t],Z[t]\}/.sprendinysErBz],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}]\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:
"Gyvas" grafikas

  

Iš piešinio matyti, kad elektronas juda $ x-y $ plokštumoje. Trajektoriją plokštumoje nesunku perbraižyti dvimate parametrinio braižymo komanda \boldmath$ParametricPlot[~]$.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{ParametricPlot}[\mathrm{Evaluate}[\{X[t],Y[t]\}/.sprendinysErBz],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&\hphantom{\mathrm{ParametricPlot}[}\mathrm{Epilog}\to\{\mathrm{PointSize}[0.05],\mathrm{Point}[\{0,0\}]\},\mathrm{FrameLabel}\to\{X,Y\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}]\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:

  

Gavome gana sudėtingą uždarą penkialapę elektrono trajektoriją, kuri juosia laidą (parinktimi \boldmath$Epilog[~]$ pavaizduotą tašku centre), statmenai kertantį šią plokštumą koordinačių pradžioje. Keičiant magnetinės indukcijos stiprį ir krūvio tankį, galima stebėti, kaip keičiasi trajektorijos pavidalas ir kada trajektorija iš uždaros kreivės tampa atvira. Kadangi diferencialinės lygties sprendiniai pateikiami interpoliacinių funkcijų pavidalu, juos galime išdiferencijuoti ir pavaizduoti elektrono greičių hodografą $ v_x -v_y $ plokštumoje.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{ParametricPlot}[\mathrm{Evaluate}[\mathrm{D}[\{X[t],Y[t]\}/.sprendinysErBz,t]],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&\hphantom{\mathrm{ParametricPlot}[}\mathrm{Epilog}\to\{\mathrm{PointSize}[0.05],\mathrm{Point}[\{0,0\}]\},\mathrm{FrameLabel}\to\{v_x,v_y\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}]\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:

  

Iš greičių hodografo matyti, kad uždaroje juosiančioje laidą trajektorijoje vieno periodo metu elektronas sustoja penkis kartus: tiek kartų abi greičio dedamosios virsta nuliais.

Srovės žiedas

Rasime elektrono trajektoriją sudėtingesnių laukų atveju — kai elektronas neria pro žiedą, kuriuo teka srovė. Tam pradžioje apskaičiuosim žiedu tekančios srovės kuriamą magnetinį lauką. Magnetinio lauko trimatei konfigūracijai aprašyti bus reikalingos specialiosios matematinės funkcijos, vadinamos integralinėmis elipsinėmis funkcijomis arba tiesiog elipsinėmis funkcijomis.

Žiedo magnetinis laukas

Nubraižysime atskaitos sistemą ir srovės žiedą:

Piešimo parinktys:
"Gyvas" grafikas

  

Apskritimas $ x-y $ plokštumoje vaizduoja be galo ploną žiedą su srove. Žiede, taško $ p_1 $ aplinkoje, išskyrėme be galo mažą elementą $ \mathrm{d}l $. Jei vektorius $ \overrightarrow{pp}=(\vec{p}_1 - \vec{p}_2) $ jungia tašką $ p_1 $ su kitu tašku $ p_2 $, esančiu šalia žiedo, tada pagal Biot-Savarto dėsnį [1]: taške $ p_2 $ magnetinio lauko stipris $ \mathrm{d} H $, kurį kuria srovės elemente (apie tašką $ p_1 $) tekanti $ \scI $ stiprumo srovė, yra

\[ \mathrm{d}\!\vec{H}=\frac{\scI}{4\pi}\frac{\mathrm{d} \vec{l}\times\mathrm{d}\overrightarrow{pp}}{|\mathrm{d} \overrightarrow{pp}{|^3}}. \]
Čia $ |\overrightarrow{pp}| $ žymi vektoriaus $ \overrightarrow{pp} $ modulį. Visą žiedo sukuriamą lauką $ p_2 $ taške rasime susumavę visų žiedo elementų įnašus $ \mathrm{d} \vec{H} $. Tam reikia apskaičiuoti kontūrinį integralą žiedu:
\[ \vec{H}=\oint \frac{\scI }{4\pi}\frac{\mathrm{d} \vec{l}\times\overrightarrow{pp}}{|\overrightarrow{pp}{|^3}}. \]
Jį bus paprasta apskaičiuoti, jei pasinaudosime cilindrine sistemos simetrija. Taškų $ p_1 $ ir $ p_2 $ projekcijos į koordinačių ašis $ x,y,z $ cilindrinėje koordinačių sistemoje išreiškiamos tokiu pavidalu:
\boldmath\begin{eqnarray*}&&p1=\{a\Cos[\varphi], a \Sin[\varphi],0\};\quad p2=\{\rho \Cos[\phi], \rho \Sin[\phi],z\};\\\end{eqnarray*}

Čia $ a $ yra žiedo spindulys, o $ \varphi  $ — kampas, kurį sudaro spindulys, išvestas iš koordinačių pradžios į tašką $ p_1 $, ir $ x $ ašis. Raidės $ \rho $, $ \phi $ ir $ z $ žymi taško $ p_2 $ cilindrines koordinates, kaip parodyta brėžinyje. Tada taškus $ p_1 $ ir $ p_1 $ jungiantis vektorius $ \mathbf{pp}=\overrightarrow{pp} $ ir jo modulis $ \mathbf{ppModulis}=|\overrightarrow{pp}| $ yra

\boldmath\begin{eqnarray*}&&pp=p1-p2\\&&ppModule=\sqrt{pp\, .\, pp}\end{eqnarray*}

Be galo mažo žiedo lanko elemento ilgį rasime apskaičiavę {\bfseries p1} išvestinę pagal kampą $ \varphi $:

\boldmath\begin{eqnarray*}&&\mathrm{d}l =\mathrm{D}[p1,\varphi ]\end{eqnarray*}

Atsakymą dar reikia padauginti iš $ \mathrm{d} \varphi $. Dabar jau galime skaičiuoti magnetinio lauko elemento $ \mathrm{d} \vec{H} $ projekcijas į dekartines koordinačių ašis.

\boldmath\begin{eqnarray*}&&dH=\mathrm{FullSimplify}[\frac{\scI\ \  dl\times pp}{(4 \pi ) ppModulis^3}]\end{eqnarray*}

Belieka apskaičiuoti kontūrinį integralą. Deja, čia iškyla techninių sunkumų. Jei bandysite kontūrinį integralą skaičiuoti tokiu būdu:

\boldmath\begin{eqnarray*}&&\int_0^{2\pi}dH\mathrm{d}\phi\end{eqnarray*}

Mathematica nesugebės analiziškai apskaičiuoti kai kurių iš reikalingų integralų {\bfseries dH} sąraše. Tačiau visus integralus pagal kampą $ \varphi $ pavyksta apskaičiuoti, padarius kintamųjų pakeitimą $ \varphi \rightarrow \varphi +\phi $ ir pointegriniame reiškinyje atsiradusias funkcijas $ \sin(\varphi +\phi) $, $ \cos(\varphi +\phi ) $ komanda \boldmath$TrigExpand[~]$ išskleidus sumomis. Kadangi prie kampo $ \varphi $ pridedame pastovų dydį $ \phi $, integralo vertė dėl to nepasikeičia (uždavinys turi cilindrinę simetriją). Rezultato nerodome, nes atsakymai užima daug vietos. Jį, pamatysite pažymėję žemiau esančią dėžutę.

PS. Mathematica 5 versija šį integralą skaičiuoja labai sunkiai, kai tuo tarpu 4 versija apskaičiuodavo lengvai. 5 versijoje tą patį rezultatą gausime pirmiausia apkaičiuodami neapibrėžtinį integralą.

\boldmath\begin{eqnarray*}&&integralas=(\mathrm{Integrate}[#,\varphi]\&/@\\&&\quad        \mathrm{TrigExpand}[#/.\varphi\to(\varphi+\phi)]\&)/@dH ;\\&&H=(integralas/.\varphi \to 2 \pi -(integralas/.\varphi \to 0);\end{eqnarray*}

Rodyti sudėtingą rezultatą

  

Magnetinę indukciją $ \vec{\scB} $ gausime, magnetinį lauką padauginę iš magnetinės pastoviosios $ \mu=\mu_0 \mu_r $, kur $ \mu_r $ yra santykinė, o $ \mu_0 $ — vakuumo magnetinė pastovioji.

\boldmath\begin{eqnarray*}&&\scB =\mu *H//\mathrm{FullSimplify};\end{eqnarray*}

Dabar užrašysime magnetinės indukcijos sandus panašiai, kaip tai padarėme Lorentzo lygtyje. Tuo pačiu žvilgtelsim, kaip atrodo kuris nors iš sandų, pavyzdžiui, pirmasis.(pažymėkite atitinkamas vaneles)

\boldmath$\scB_z=\scB[[3]]$Rodyti rezultatą
\boldmath$\scB_y=\scB[[2]]$Rodyti rezultatą
\boldmath$\scB_x=\scB[[1]]$Rodyti rezultatą

  

Čia \boldmath$\mathrm{EllipticE}[~]$ ir \boldmath$\mathrm{EllipticK}[~]$ yra elipsinės funkcijos, su kuriomis išsamiau susipažinsime kituose eksperimentuose. Pirmiausia pastebėsime, kad mūsų atlikti priskyrimai magnetinės indukcijos sandams automatiškai bus atlikti ir Lorentzo lygtyse, nes juose naudojome tuo pačius pažymėjimus $ \scB_x, \scB_y, \scB_z $. Antra, kadangi universalus simbolinio integravimo algoritmas nėra žinomas, simboliškai apskaičiuotų integralų atsakymus visada patariame patikrinti. Vienas iš patikrinimo būdų — suintegruoti pirminį integralą skaitiškai. Aišku, prieš tai parametrams reikia suteikti kokias nors skaitines vertes. Jei analizinė integralo formulė yra teisinga, tai į ją įstatę tuos pačius skaičius gausime skaitinio intergalo apskaičiuotąją vertę. Taško $ p_2 $ dekartinius sandus skaitiniam integravimui geriausia parinkti atsitiktinius. Juos sugeneruosime komanda \boldmath$\mathrm{Random}[~]$.

Automatinis apibrėžtinių integralų skaičiavimo algoritmas net ir realios funkcijos atveju visada integruoja kompleksinėje plokštumoje. Čia sudėtingiausia užduotis yra nustatyti pointegrinės funkcijos šakojimosi pjūvius. Neteisingai juos nustačius apskaičiuojama ir neteisinga integralo vertė. Mathematica sistemoje naudojamų elementariųjų ir specialiųjų funkcijų pjūvių kompleksinėje plokštumoje apibrėžimus rasite programų archyve

\boldmath$laukoParametrai=\bigl\{$
\boldmath$\mu$\boldmath$\to$,magnetinės pastoviosios vertė
\boldmath$\scI$\boldmath$\to$,laidu tekančios srovės stiprumas
\boldmath$a$\boldmath$\to$,žiedo spindulys
\boldmath$\bigr\}$

\boldmath\begin{eqnarray*}taskasP2=\{z\to \mathrm{Random}[],\rho \to \mathrm{Random}[],\phi \to \mathrm{Random}[\mathrm{Real},\{0,2 \pi \}]\}\end{eqnarray*}

  

\boldmath\begin{eqnarray*}&&\mathrm{NIntegrate}[\mathrm{Evaluate}[\mu * dH//.laukoParametrai//.taskasP2],\{\varphi ,0,2 \pi \}]\end{eqnarray*}

Kadangi atsitiktinai parinktiems taškams skaitinis integravimas duoda tas pačias vertes, kaip ir simbolinis:

\boldmath\begin{eqnarray*}&&\scB//.laukoParametrai//.taskasP2\end{eqnarray*}

tai rasta analizine magnetinio lauko formule galima pasitikėti.

Vizualizuosim magnetinio lauko indukcijos vektorių grafine komanda \boldmath$\mathrm{PlotVectorField}[~]$, esančią \boldmath$\mathrm{Graphics}{}^\backprime\mathrm{PlotField}{}^\backprime$ standartiniame pakete.Ši komanda-programa lauką pavaizduoja strėlėmis, kurių ilgis proporcingas lauko amplitudei, o kryptis — lauko krypčiai. Kai $ \phi =0 $, turime tokį žiedo magnetinio lauko paveikslą $ x-z $ plokštumoje:

\boldmath\begin{eqnarray*}&&<< \mathrm{Graphics}{}^\backprime\mathrm{PlotField}{}^\backprime \\&&\mathrm{PlotVectorField}[\mathrm{Evaluate}[\{\scB[[1]],\scB[[3]]\}/.laukoParametrai/.\phi \to 0],\{\rho ,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{\rho_{min}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{\rho_{max}}$}\},\{z,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{z_{min}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{z_{max}}$}\},\\&&\mathrm{HeadLength}\to 0.02,\mathrm{ColorFunction}\to (\mathrm{RGBColor}[0,0,1]\&),\mathrm{Epilog}\to(\{\mathrm{PointSize}[0.03],\mathrm{Point}[\{-a,0\}],\mathrm{Point}[\{a,0\}]\}/.laukoParametrai)]\end{eqnarray*}

Piešti lauko linijas nuo
\boldmath$\rho_{min}$= iki \boldmath$\rho_{max}$=
\boldmath$z_{min}$= iki \boldmath$z_{max}$=

Piešimo parinktys:

  

Atkreipkite dėmesį, kad aplink žiedo ir plokštumos susikirtimo taškus magnetinio lauko strėlės sukasi ratu. Tai gerai žinoma magnetinio lauko linijų savybė: magnetinio lauko linijos visada uždaros.

Elektrono trajektorijos žiedo magnetiniame lauke

Žinodami žiedo magnetinį lauką erdvėje, jau galime sudaryti elektrono judėjimo lygtis.

\boldmath\begin{eqnarray*}&&lorentzZiedas=lorentz/.\{\scE_x\to 0,\scE_y\to 0,\scE_z\to 0,v_x\to X^\prime [t],v_y\to Y^\prime [t],v_z\to Z^\prime [t]\}\end{eqnarray*}

\boldmath$lorentzZiedas[[3]]$Rodyti rezultatą
\boldmath$lorentzZiedas[[2]]$Rodyti rezultatą
\boldmath$lorentzZiedas[[1]]$Rodyti rezultatą

  

Gautos Lorentzo lygtys turi sudėtingą pavidalą, todėl ar jas rodyti nuspręs pats skaitytojas. Ką tik gautoms Lorentzo lygtims suteiksime konkrečias parametrų vertes ir pradines sąlygas.

\boldmath$laukoParametrai=\bigl\{$
\boldmath$\mu$\boldmath$\to$,magnetinės pastoviosios vertė
\boldmath$\scI$\boldmath$\to$,laidu tekančios srovės stiprumas
\boldmath$a$\boldmath$\to$,žiedo spindulys
\boldmath$\bigr\}$

  

\boldmath$elektronoParametrai=\bigl\{$
\boldmath$m$\boldmath$\to$,elektrono masės vertė
\boldmath$e$\boldmath$\to$elektrono krūvio vertė
\boldmath$\bigr\}$

  

\boldmath$pradinesSalygos=\bigl\{$
\boldmath$X[0]$\boldmath$==$,\boldmath$Y[0]$\boldmath$==$,\boldmath$Z[0]$\boldmath$==$,
\boldmath$X^\prime[0]$\boldmath$==$,\boldmath$Y^\prime[0]$\boldmath$==$,\boldmath$Z^\prime[0]$\boldmath$==$
\boldmath$\bigr\}$

  

Reikia nepamiršti, kad Lorentzo lygtyse magnetinis laukas buvo užrašytas cilindrinėse koordinatėse, todėl, prieš atliekant skaitinius skaičiavimus, jį perrašysime dekartinėje koordinačių sistemoje. Tam pasinaudosime \boldmath$VectorAnalysis.m$ paketu.

Pirmiausia nurodome, kad gautos išraiškos yra užrašytos cilindrinėje koordinačių sistemoje

\boldmath\begin{eqnarray*}&&<< \mathrm{Calculus}{}^\backprime\mathrm{VectorAnalysis}{}^\backprime \\&&\mathrm{SetCoordinates}[\mathrm{Cylindrical}[\rho ,\phi ,z]]\end{eqnarray*}

ir sudarome reikalingų atlikti pakeitimų sąrašą:
\boldmath\begin{eqnarray*}&&keitimoTaisykles=\mathrm{Thread}[\mathrm{Rule}[\{\rho ,\phi ,z\}, \mathrm{CoordinatesFromCartesian}[\{X[t],Y[t],Z[t]\},\mathrm{Cylindrical}]]]\end{eqnarray*}

Atliekame pakeitimus, įvedame skaitines lauko parametrų, elektrono masės ir krūvio vertes bei pradines sąlygas. Diferencialines lygtis pavyzdyje sprendžiame iki laiko momento $ \mathbf{tfinalPra}=1{,}3\times 10^{-8} $s.

\boldmath\begin{eqnarray*}&&sprendinysZiedasPra=\mathrm{NDSolve}[\mathrm{Flatten}[\{lorentzZiedas/.keitimoTaisykles/.laukoParametrai/.elektronoParametrai,pradinesSalygos\}]\\&&\ \ /.laukoParametrai/.elektronoParametrai,\{X[t],Y[t],Z[t]\},\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},MaxSteps\to \fcolorbox[rgb]{1,0,0}{1,1,1}{$kiekis$}]\end{eqnarray*}

Apskaičiuoti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Maksimalus žingsnių kiekis skaitiškai sprendžiant diferencialinę lygtį \boldmath$kiekis =$

  

Atsakymą vizualizuojame trimačių parametrinių kreivių braižymo komanda.

\boldmath\begin{eqnarray*}&&ziedas=\mathrm{ParametricPlot3D}[\mathrm{Evaluate}[\{a \mathrm{Sin}[f],a \mathrm{Cos}[f],0\}/.laukoParametrai],\{f,0,2 \pi \},\\&&\qquad\mathrm{DisplayFunction}\to\mathrm{Identity}];\\&&trajektorijosPralekiancios=\mathrm{ParametricPlot3D}[\mathrm{Evaluate}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasPra],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&\qquad\mathrm{DisplayFunction}\to\mathrm{Identity},\mathrm{PlotPoints}\to100];\\&&\mathrm{Show}[\mathrm{Evaluate}[\{\mathrm{MapAt}[\mathrm{Prepend}[#1,\mathrm{Thickness}[0.01]]\&,ziedas,1],\\&&\quad\mathrm{MapAt}[\mathrm{Prepend}[#1,\mathrm{Thickness}[0.007]]\&,trajektorijosPralekiancios,1]\}],\\&&\qquad \mathrm{AxesLabel}\to \{X,Y,Z\},\mathrm{DisplayFunction}\to \$\mathrm{DisplayFunction},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}];\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:
"Gyvas" grafikas

  

Skaitytojui siūlome savarankiškai iširti, kaip keičiasi trajektorija, kai pradiniai elektrono greičiai yra $ \mathbf{Z'[0]}=-2*10^7 $ m/s ir $ \mathbf{Z'[0]}=-30*10^7 $ m/s. Jei norite matyti ilgesnę trajektoriją, galite padidinti integravimo laiką \boldmath$t_{end}$. Pilnesniam vaizdui susidaryti dar panagrinėsime visų trijų trajektorijos koordinačių priklausomybę nuo laiko. Pastarojoje aiškiai matysime, kad trajektorijos \boldmath$Z$ sandas kerta $ z=0 $ tašką, taigi elektronas išneria apatinėje žiedo pusėje.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{Plot}[\mathrm{Evaluate}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasPra],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&AxesLabel\to \{ "t(s 10^{-9})","X,Y,Z(m)"\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}];\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:

  

Tačiau ar visada taip yra? Pasirodo, kad elektronas visada pralįs pro srovės žiedą tik tada, jei jo greitis bus nukreiptas tiksliai išilgai $ z $ ašies. Jei elektronas turi statmeną $ z $ ašiai greičio sandą, t.y. elektronas $ z $ ašies atžvilgiu įlekia tam tikru kampu, tuomet visada egzistuoja maksimalus kampas (jo dydis priklauso nuo magnetinio lauko stiprio), kuriuo įlėkdamas elektronas jau nepralįs pro žiedą, o nuo jo atsispindės. Įdomu, kad atsispindės tiek visai lėti, tiek labai greiti elektronai, nes reiškinys nepriklauso nuo elektrono absoliutaus greičio. Atspindys įvyksta, pavyzdžiui, esant tokiems pradinėms sąlygoms (lauko parametrai imami tokie patys kaip anksčiau):

\boldmath$pradinesSalygos=\bigl\{$
\boldmath$X[0]$\boldmath$==$,\boldmath$Y[0]$\boldmath$==$,\boldmath$Z[0]$\boldmath$==$,
\boldmath$X^\prime[0]$\boldmath$==$,\boldmath$Y^\prime[0]$\boldmath$==$,\boldmath$Z^\prime[0]$\boldmath$==$
\boldmath$\bigr\}$

  

\boldmath\begin{eqnarray*}&&sprendinysZiedasAtsp=\mathrm{NDSolve}[\mathrm{Flatten}[\{lorentzZiedas/.keitimoTaisykles/.laukoParametrai/.elektronoParametrai,pradinesSalygos\}]\\&&\ \ /.laukoParametrai/.elektronoParametrai,\{X[t],Y[t],Z[t]\},\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},MaxSteps\to \fcolorbox[rgb]{1,0,0}{1,1,1}{$kiekis$}]\end{eqnarray*}

Apskaičiuoti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Maksimalus žingsnių kiekis skaitiškai sprendžiant diferencialinę lygtį \boldmath$kiekis =$

  

Kad galėtume lengvai atskirti, kuriame trajektorijos gale elektronas įlekia, o kuriame išlekia, prieš vizualizuodami trajektoriją, jos pradžioje uždėsime rodyklę. Tam pasinaudosime M. Krauso sukurtu paketu \boldmath$Arrow3D.m$Mathematica programų archyvo. Paketą patalpiname į tą patį katalogą kuriame yra ir šis failas. Jį įkeliant gausime pranešimą apie persidengiančius kontekstus, nes \boldmath$\mathrm{Graphics}{}^\backprime \mathrm{Arrow}{}^\backprime$ kontekstą jau buvome automatiškai įkėlę anksčiau, kai iškvietėme vektorinio lauko vizualizacijos paketą \boldmath$\mathrm{Graphics}{}^\backprime \mathrm{PlotField}{}^\backprime$.

\boldmath\begin{eqnarray*}&&<<\mathrm{Arrow3D}{}^\backprime\end{eqnarray*}

Turėdami omeny šią pastabą, kreipiantis į pranešime paminėtus simbolius naudosime ilgus vardus. Kad skaičiuojant naujas trajektorijas rodyklė visada būtų trajektorijos pradžioje, surasime ir \boldmath$\mathrm{Arrow3D}[~]$ komandoje įrašysime įlekiančio elektrono pradinę koordinatę.

\boldmath\begin{eqnarray*}&&trajektorijosTripl=\mathrm{Flatten}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasAtsp];\\&&arrowIn=\{\mathrm{RGBColor}[1,0,0],\mathrm{Arrow3D}[trajektorijosTripl/.t\to 0,trajektorijosTripl/.t\to 0.6*10^{-9},\\&&\quad \mathrm{Arrow3D}\mathrm{HeadLength}\to 0.015,\mathrm{HeadNormal}\to \{1,1,1\}]\};\\&&arrow\scI =\{\mathrm{RGBColor}[0,0,1],\mathrm{Thickness}[0.012],\mathrm{ArcArrow3D}[\{0,0,0.01\},0.1 \{1,0,0.01\},0.1 \{\mathrm{Sin} [\frac{\pi }{3}],\mathrm{Cos} [\frac{\pi }{3}],0.01\},\\&&\quad \mathrm{Arrow3D}^\backprime\mathrm{HeadLength}\to 0.02,\mathrm{HeadNormal}\to \{0,0,1\}]\};\end{eqnarray*}

Viską pavaizduojame viename brėžinyje. Parinktis parenkame tokias, kad gautume gražų vaizdą.

\boldmath\begin{eqnarray*}&&ziedas=\mathrm{ParametricPlot3D}[\mathrm{Evaluate}[\{a \mathrm{Sin}[f],a \mathrm{Cos}[f],0\}/.laukoParametrai],\{f,0,2 \pi \},\\&&\qquad\mathrm{DisplayFunction}\to\mathrm{Identity}];\\&&trajektorijosGriztancios=\mathrm{ParametricPlot3D}[\mathrm{Evaluate}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasAtsp],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&\qquad\mathrm{DisplayFunction}\to\mathrm{Identity},\mathrm{PlotPoints}\to 300];\\&&\mathrm{Show}[\mathrm{Evaluate}[\{\mathrm{MapAt}[\mathrm{Prepend}[#1,\mathrm{Thickness}[0.01]]\&,ziedas,1],\\&&\quad\mathrm{MapAt}[\mathrm{Prepend}[#1,\mathrm{Thickness}[0.007]]\&,trajektorijosGriztancios,1],\mathrm{Graphics3D}[\{\mathrm{Thickness}[0.015],arrowIn,arrow\scI\}]\}],\\&&\qquad \mathrm{AxesLabel}\to \{X,Y,Z\},\mathrm{DisplayFunction}\to \$\mathrm{DisplayFunction},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}];\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:
"Gyvas" grafikas

  

Nubraižę atskirų sandų priklausomybę nuo laiko, aiškiai matome, kad $ z $ sandas brėžia lanką ir todėl $ z=0 $ plokštumos nekerta.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{Plot}[\mathrm{Evaluate}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasAtsp],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t_{end}}$}\},\\&&AxesLabel\to \{ "t(s 10^{-9})","X,Y,Z(m)"\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}];\end{eqnarray*}

Piešti trajektorijas nuo laiko \boldmath$t_{start}$= iki \boldmath$t_{end}$=
Piešimo parinktys:

  

Jei turime tik magnetinį lauką, tada pagal Lorentzo lygtį $ m\frac{\mathrm{d}^2\vec{R}}{\mathrm{d} t^2}= e \vec{v} \times \vec{\scB} $ judančią elektringą dalelę veikia jėga $ \vec{F}=e \vec{v}\times \vec{\scB} $. Kokį darbą ši jėga atlieka? Pagal apibrėžimą darbas lygus jėgos ir nueito kelio $ \mathrm{d}\vec{l} $ skaliarinei sandaugai. Kadangi $ \mathrm{d}\vec{l}=\vec{v} \mathrm{d} t $, mes jėgą padauginsime iš greičio, o tai atitiks galios skaičiavimą. Nesunku matyti, kad sandauga $ \vec{v} \bigl(\vec{v}\times \vec{\scB}\bigr) $ yra lygi nuliui. Tam pakanka pastebėti, kad mišrioje (skaliariškai vektorinėje) sandaugoje dauginamuosius perstačius cikliškai vektorius $ \vec{v} $ vektoriškai dauginasi iš savęs paties. Mathematica šį nulį nesunkiai apskaičiuoja ir išreikštai:

\boldmath\begin{eqnarray*}&&\mathrm{Dot}[\mathrm{Cross}[v[r],\scB],v[r]]//\mathrm{Expand}\end{eqnarray*}

Panaudosim šią savybę. Padauginę skaliariškai kairę Lorentzo lygties pusę iš greičio turime $ m \vec{v} \frac{\mathrm{d}^2\vec{R}}{\mathrm{d} t^2}=m\vec{v}\frac{\mathrm{d}\vec{v}}{\mathrm{d} t}= \frac{m}{2}\frac{\mathrm{d}\vec{v}^2}{\mathrm{d} t}=0 $, iš kur seka, kad $ \frac{m \vec{v}^2}{2}=\mathrm{const} $. Taigi, net ir nevienalytis magnetinis laukas negali pakeisti taškinės dalelės kinetinės energijos.

Patikrinkime, ar mūsų skaitiniai sprendiniai tikrai išlaiko dydį $ \varepsilon_{kin}=m(v_x^2+v_y^2+v_z^2)/2 $ tvarų, t.y. ar kinetinė energija išoriniame nevienalyčiame magnetiniame lauke yra judėjimo integralas. Toks išsilaikančių diferencialinių lygčių judėjimo integralų tikrinimas dažnai yra bene vienintelis būdas (ypač sudėtingų lygčių dalinėmis išvestinėmis) sprendinių tikslumui patikrinti. Su kitais skaitinių diferencialinių lygčių sprendinių patikrinimo būdais galima susipažinti R. Knapp ir S. Wagon straipsnyje [2]. Kadangi interpoliacines funkcijas galima ir diferencijuoti, ir integruoti panašiai kaip matematines funkcijas, elektrono kinetinę energiją tiek praėjusio, tiek ir atsispindėjusio elektrono atveju labai lengva apskaičiuoti.

\boldmath\begin{eqnarray*}&&energijaPra=Plus@@\Bigl((\frac{1}{2} m \mathrm{D}[#, t]^2)\&/@\mathrm{Flatten}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasPra]\Bigr);\\&&energijaAtsp=Plus@@\Bigl((\frac{1}{2} m \mathrm{D}[#, t]^2)\&/@\mathrm{Flatten}[\{X[t],Y[t],Z[t]\}/.sprendinysZiedasAtsp]\Bigr);\\\end{eqnarray*}

Gautas kinetinės energijos $ \varepsilon_{kin} $ priklausomybes nuo laiko piešiame įprastu būdu.

\boldmath\begin{eqnarray*}&&\\&&\mathrm{Show}[\{\mathrm{Plot}[\mathrm{Evaluate}[energijaPra/.elektronoParametrai],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t1_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t1_{end}}$}\},\\&&\quad \mathrm{DisplayFunction}\to \mathrm{Identity},\mathrm{PlotStyle}\to\mathrm{RGBColor}[1,0,0]],\\&&\mathrm{Plot}[\mathrm{Evaluate}[energijaAtsp/.elektronoParametrai],\{t,\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t2_{start}}$},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{t2_{end}}$}\},\\&&\quad\mathrm{DisplayFunction}\to \mathrm{Identity},\mathrm{PlotStyle}\to\mathrm{RGBColor}[0,1,0]]\},\\&&\mathrm{DisplayFunction}\to \$\mathrm{DisplayFunction},\mathrm{AxesLabel}\to \{ t(s),\varepsilon _{kin}(J)\},\fcolorbox[rgb]{1,0,0}{1,1,1}{$\vphantom{v}\smash{parinktys}$}\}];\end{eqnarray*}

Piešti energijos vertę pralekiančiai trajektorijai nuo laiko \boldmath$t1_{start}$= iki \boldmath$t1_{end}$=
Piešti energijos vertę grįžtančiai trajektorijai nuo laiko \boldmath$t2_{start}$= iki \boldmath$t2_{end}$=
Piešimo parinktys:

  

Kaip matome, gavome, kad abi energijos yra pastovios. Ten kur ji pradeda nukrypti nuo tiesės, skaitinis sprendinys praranda tikslumą ir juo pasitikėti neverta. Tai, kad pervėrusios žiedą (trumpesnė tiesė) dalelės energija yra didesnė nei atsispindėjusios (ilgesnė tiesė), čia nevaidina jokio vaidmens: pradinius greičius mes parinkome taip, kad gautume įspūdingesnę trajektoriją. Kadangi elektrono kinetinė energija nesikeičia, elektronas atsispindėjo nuo žiedo nesustodamas, ir todėl, elektrono greičiui mažėjant $ z $ ašies atžvilgiu, kiti du greičio sandai turi didėti. Kitais žodžiais tariant, mažėjant trajektorijos spinduliui elektronas pradeda suktis $ x-y $ plokštumoje didesniu kampiniu greičiu.

Taigi, srovės žiedo sukuriamas magnetinis laukas bendresniu atveju atstumia deleles ir elgiasi kaip \index{magnetinis veidrodis}magnetinis veidrodis. Pro žiedą gali pralįsti tik dalelės, lekiančios beveik lygiagrečiai $ z $ ašiai, t.y. patenkančios į taip vadinamą nuostolių kūgį. Jei priešais pastatytume du srovės žiedus, tai didelė dalis elektronų daug kartų atsispindėtų nuo srovės žiedų. Šį reiškinį būtų galima naudoti magnetinėms dalelių gaudyklėms konstruoti. Tačiau dėl dalinio dalelių praradimo praktikoje dalelių gaudyklėms gauti yra naudojamos toroidinės formos gaudyklės — stelaratoriai ir tokamakai. Elektrinės dalelės cirkuliuoja toro pavidalo gaudyklės viduje. Magnetinį lauką jame sukuria aplink torą susuktos srovės apvijos. Kadangi toro viduje (skirtingai nuo solenoido) magnetinis laukas jau nėra vienalytis, kad dalelės nepabėgtų, jų trajektorijas tenka stabilizuoti. Stelaratoriuje tai atlieka papildoma sraigto formos apvija, o tokamake — toro viduje indukuota elektringų dalelių srovė.

Literatūra

[1]. V. Kybartas, V. Šugurovas, "Elektrodinamika", Vilnius, Mokslas, 1977

[2]. R. Knapp, S. Wagon, "Check You Answers... But How", Mathematica in Education and Research, Vol. 7, No. 4, 1998

spausdinti