Magnetostatický simulátor 1.0

20.3.2023

Jednoduchý magnetostatický simulátor sloužící k ilustraci magnetického pole od nekonečných přímých vodičů.

 

Aktuální verze 1.0 ze dne 20.3.2023 ke stažení zde.

Myší kreslíte proudové trubice (levým tlačítkem proud tekoucí "do obrazovky", pravým "z obrazovky") a real-time se počítá příslušné magnetické pole.

Magnetostatický simulátor je jen velmi lehce adaptovaná verze Elektrostatického simulátoru.

Zpětná vazba

Pokud chcete činnost programu nějak okomentovat, narazili jste na problém nebo máte nápad na přidání nějaké jednoduché funkcionality, můžete vyplnit tento anonymní formulář.

Zdrojový kód

Časem zde bude i zdrojový kód.

Popis

Myší kreslíte "proudové trubice" v rovině $xy$, tzn. zadáváte proudovou hustotu $\vec{j}(x,y) = (0, 0, j(x,y))$ – tato tedy míří ve směru osy $z$ a podél ní konstantní. Magnetická indukce $\vec{B}$ musí mít nulovou divergenci a splňovat Ampérův zákon:

\[ \mbox{div} \vec{B} = 0, \qquad \mbox{rot} \, \vec{B} = \mu_0 \vec{j}. \]

Z důvodu symetrií musí být magnetické pole tvaru $\vec{B}(x,y) = (B_x(x,y), B_y(x,y), 0)$. Po dosazení dostaneme zjednodušenou divergenční rovnici a pouze jedinou netriviální ($z$-)složku Ampérova zákona:

\[ \frac{\partial B_x}{\partial x} + \frac{\partial B_y}{\partial y} = 0, \qquad \frac{\partial B_y}{\partial x} - \frac{\partial B_x}{\partial y} = \mu_0 j. \]

Zderivováním podle $x$, resp. podle $y$, dostaneme

\[ \frac{\partial^2 B_x}{\partial x^2} + \frac{\partial^2 B_y}{\partial x \partial y} = 0, \quad \frac{\partial^2 B_x}{\partial x \partial y} + \frac{\partial^2 B_y}{\partial y^2} = 0, \quad \frac{\partial^2 B_y}{\partial x^2} - \frac{\partial^2 B_x}{\partial x \partial y} = \mu_0 \frac{\partial j}{\partial x}, \quad \frac{\partial^2 B_y}{\partial x \partial y} - \frac{\partial^2 B_x}{\partial y^2} = \mu_0 \frac{\partial j}{\partial y}. \]

Eliminací smíšených derivací z těchto rovnic dostaneme soustavu dvou Poissonových rovnic, jíž se řídí jednotlivé složky magnetického pole $\vec{B}$ v závislosti na rozložení proudové hustoty $\vec{j}$:

\[ \Delta B_x = - \mu_0 \, \partial_y j, \qquad \Delta B_y = \mu_0 \, \partial_x j. \]

Program numericky řeší tyto Poissonovy rovnice pro $\vec{B}$ v závislosti na zadaném $\vec{j}$. Numerická metoda je iterativní (je použita SOR metoda) a jsou vždy vykresleny aktuální hodnoty vypočteného pole, může tedy nějakou dobu trvat, než se hodnoty dokonvergují k vlastnímu řešení – pole se pak chvíli jeví jako časově proměnné, ale to je pouze důsledek iterativního výpočtu. Finální řešení je samozřejmě časově neproměnné. Množství výpočtů (iterací za vteřinu) je automaticky voleno tak, aby se snímková frekvence pohybovala okolo 60 FPS.

Okrajové podmínky jsou defaultně zvoleny tak, že na celé hranici viditelné oblasti je magnetické pole rovno nule, $\vec{B} = 0$. V nastavení parametrů (viz níže) je možné měnit konstantní hodnoty potenciálu na jednotlivých stěnách a také je možné udělat výpočetní doménu periodickou ve vodorovném směru – tzn. levá a pravá stěna splynou v jednu. Odpovídá to tomu, že se doména ve vodorovném směru nekonečněkrát opakuje doleva i doprava.

Spuštění z příkazového řádku

Při spuštění programu z příkazového řádku lze přídáním parametrů za název souboru změnit velikost dělení výpočetní domény a "zvětšení" okna.

Varianty jsou: magstat.exe scale anebo magstat.exe scale gridsizex gridsizey.

Všechny parametry jsou celá čísla. Parametr scale je nezáporný, parametry gridsizex a gridsizey musí být kladné.

Velikost zobrazované oblasti pak je (scale*gridsizex, scale*gridsizey) v pixelech. Pokud je parametr scale nastaven na 0, pak okno automaticky maximálně "vyplní" celou obrazovku.

Defaultní parametry, tzn. pouhé spuštění programu elstat.exe, odpovídají příkazu elstat.exe 0 400 400.

Ovládání

Kreslení nábojů

Levým tlačítkem myší přidáváte kladný náboj (anebo ubíráte záporný náboj), pravým tlačítkem myší přidáváte záporný náboj (anebo ubíráte kladný náboj). Kolečkem myši lze měnit poloměr štětce. Náboje lze přidávat jen do určité maximální kladné i záporné hodnoty. Kladné náboje jsou zobrazeny červeně, záporné modře. Černá barva symbolizuje nulové hodnoty.

Stiskem klávesy 'b' se zapne tvrdý stětec, tento způsobí okamžité kreslení maximální hodnoty náboje (ať už kladného nebo záporného) po kliknutí příslušným tlačítkem.

Stiskem klávesy 'e' se zapne guma. Kliknutím levým či pravým tlačítkem se náboje odstraní na nulu. Pro kladné náboje levé tlačítko odstraňuje náboj okamžitě, pravé tlačítko pozvolna. Pro záporné náboje je to opačně. Při zapnutém tvrdém štětci se náboje odstraňují okamžitě stiskem libovolného tlačítka myši.

Zobrazování vrstev

Klávesa 'q' zapíná/vypíná zobrazení rozložení proudů $j(x,y)$. Proud tekoucí "do obrazovky" je zobrazen červeně, proud tekoucí "z obrazovky" modře. Černá barva symbolizuje nulové hodnoty.

Klávesa 'v' zapíná/vypíná zobrazení vektorů magnetického pole $\vec{B}$.

Klávesa 'n' zapíná/vypíná normalizování vektorů intenzity magnetického pole $\vec{B}$ na jedničku. Pro oblasti, kde je magnetické pole nulové, produkuje vlivem numerických chyb "náhodné" směry neodpovídající fyzice.

Aktuální nastavení vrstev výše je popsáno v okně vpravo dole.

Klávesa 'h' zobrazuje/skrývá nápovědu, včetně aktuálně vybraného přednastaveného scénáře (viz níže).

Klávesa 'p' zobrazuje/skrývá dodatečné nastavitelné parametry (viz níže).

Volba a nahrávání přednastavených scénářů

V aplikaci jsou uložené některé význačné nebo zajímavé proudové konfigurace, které je možné navolit a nahrát (tím se přemaže Váš aktuální nábojový výtvor).

Těmito scénáři lze listovat klávesami 'j' (předchozí scénář) a 'k' (následující scénář). Název scénáře je uvedem v textu "nápovědy" (zobrazení klávesou 'h'). Vybraný scénář lze nahrát stiskem klávesy 'l'. Po nahrání se jeho název objeví v okně vpravo nahoře. Do scénáře lze libovolně kreslit, ale tyto změny se nijak neukládají. Znovunahráním scénáře se změny přemažou.

Popis jednotlivých scénářů viz níže.

Volba a změna dalších parametrů

Šipkami nahoru a dolů se volí parametr (označený hvězdičkou). Page Up a Page Down mění velikost změny parametru v násobcích deseti. Klávesy '+' a '-' (na numpadu) mění vybraný parametr o navolenou změnu.

Přednastavené scénáře

Nekonečné proudové vrstvy

V horizontálně periodické doméně jsou dvě tenké proudové vrstvy. Magnetické pole mezi nimi je homogenní a směřuje podél desek. Při vhodně zvolených okrajových podmínkách je vně desek pole nulové. Díky 2D výpočetní doméně je toto skutečně pole nekonečně rozlehlých proudových rovin.

Konečné proudové vrstvy

Dvě konečně dlouhé desky s proudem. Pole je přibližně homogenní uprostřed desek. Na krajích pozorujeme okrajové efekty. Díky 2D výpočetní doméně proudová konfigurace představuje nekonečně dlouhé proudové desky konečné šířky.

Pole jednoho přímého drátu

Pole nekonečného přímého drátu s proudem.

Pole dvou drátů s opačným proudem

Dva nekonečně dlouhé přímé dráty s proudy tekoucími proti sobě.

Pole čtyř drátů

Čtyři nekonečné přímé dráty s alternujícím uspořádáním proudů.

Pole drátěného gridu

Pole periodicky se opakujících nekonečně dlouhých přímých drátů s kladným a záporným proudem. Doména je periodická v horizontálním směru.

Pole od duté trubky s proudem

Nekonečně dlouhá přímá dutá trubka s proudem. S vhodně zvolenými okrajovými podmínkami je pole uvnitř nulové.

Jednotlivé parametry

Okrajové podmínky

Parametry vektorového pole

Changelog

Verze 1.0 ze dne 20.3.2023