Elektrostatický simulátor 1.0

31.3.2020 (aktualizováno 16.3.2021)

NOVÝ A VYLEPŠENÝ! Jednoduchý elektrostatický simulátor sloužící k ilustraci elektrostatického potenciálu a elektrického pole.

 

Aktuální verze 1.01 ze dne 16.3.2021 ke stažení zde.

Myší kreslíte náboje (levým tlačítkem kladný, pravým záporný) a real-time se počítá elektrostatický potenciál a příslušné elektrické pole.

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 náboje v rovině $xy$, tzn. zadáváte nábojovou hustotu $\rho(x,y)$ – tato je tedy podél osy $z$ konstantní a doopravdy tedy zadáváte rozložení náboje podél celé osy $z$ najednou – ve 3D by to vypadalo jako jakési nábojové trubice. Elektrická intenzita $\vec{E}$ se řídí Gaussovým zákonem

\[ \mbox{div} \, \vec{E} = \frac{\rho}{\varepsilon_0}. \]

Elektrostatický potenciál $\varphi$ je definován pomocí rovnice

\[ \vec{E} = - \mbox{grad} \, \varphi. \]

Složením Gaussova zákona a definice elektrostatického potenciálu získáme Poissonovu rovnici, jíž se řídí elektrostatický potenciál $\varphi$ v závislosti na rozložení náboje $\rho$:

\[ \Delta \varphi = - \frac{\rho}{\varepsilon_0}. \]

Vlivem konstantnosti rozložení elektrického náboje $\rho$ podél osy $z$ jsou v tomto směru konstantní i pole elektrické intenzity $\vec{E}$ a elektrostatického potenciálu $\varphi$, tzn. $\vec{E}(x, y)$, $\varphi(x, y)$. Zobrazení těchto polí v jedné vybrané rovině $xy$ tedy poskytuje plnou informaci o výsledných polích $\vec{E}$ a $\varphi$.

Program numericky řeší Poissonovu rovnici pro $\varphi$ v závislosti na zadaném $\rho$ a pole elektrické intenzity počítá z definice $\vec{E} = - \mbox{grad} \, \varphi$. Numerická metoda je iterativní (je použita SOR metoda) a jsou vždy vykresleny aktuální hodnoty vypočtených polí, 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 potenciál roven nule, $\varphi = 0$. To fyzikálně odpovídá vodivým uzemněným stěnám. 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: elstat.exe scale anebo elstat.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' přepíná mezi zobrazením rozložení nábojů $\rho(x,y)$ a elektrostatickým potenciálem $\varphi(x,y)$. Kladné náboje jsou zobrazeny červeně, záporné modře. Kladná hodnota elektrostatického potenciálu je zobrazena červeně, záporná modře. Černá barva symbolizuje nulové hodnoty.

Klávesa 'v' zapíná/vypíná zobrazení vektorů intenzity elektrického pole $\vec{E} = - \mbox{grad} \, \varphi$.

Klávesa 'n' zapíná/vypíná normalizování vektorů intenzity elektrického pole $\vec{E}$ na jedničku. Pro oblasti, kde je elektrické 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é nábojové 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ý kondenzátor

V horizontálně periodické doméně jsou dvě tenké nábojové vrstvy. Elektrické pole mezi nimi je homogenní a směřuje od jedné desky k druhé. Vně kondenzátoru je pole nulové. Díky 2D výpočetní doméně je toto skutečně pole nekonečně rozlehlého kondenzátoru.

Konečný kondenzátor

Dvě konečně dlouhé nabité desky tvoří konečně velký kondenzátor. Pole je přibližně homogenní uprostřed kondenzátoru. Na krajích pozorujeme okrajové efekty. Díky 2D výpočetní doméně nábojová konfigurace představuje nekonečně dlouhý kondenzátor konečné šířky.

Pole monopólu

Pole sféricky symetrického rozložení náboje je vně tohoto náboje stejné jako od bodového náboje. Zde, ve 2D výpočetní doméně, představuje nábojové rozložení "nábojovou trubici" s válcovou symetrií.

Pole dipólu

Dva náboje stejné velikosti ale opačného znamení umístěné v určité vzdálenosti od sebe představují konečně velký dipól. Zde, ve 2D výpočetní doméně, je to jakýsi nekonečný "trubicový" dipól.

Pole kvadrupólu

Čtyři náboje rozmístěné symetricky tak, že jejich celkový náboj i dipólový moment jsou nulové. Toto nábojové rozložení představuje konečně velký kvadrupól. Zde, ve 2D výpočetní doméně, je to jakýsi nekonečný "trubicový" kvadrupól.

Pole modelu iontového krystalu

Pole periodicky se opakujících kladných a záporných nábojů. Doména je periodická v horizontálním směru.

Pole od nabité duté slupky

Pole od sféricky symetrické duté nábojové slupky. Pole vně slupky je stejné jako od bodového náboje. Pole uvnitř slupky je nulové. Zde, ve 2D výpočetní doméně, je to ve skutečnosti nekonečně dlouhá válcová slupka, ale vlastnosti jsou podobné jako u sférické slupky.

Jednotlivé parametry

Okrajové podmínky

Parametry vektorového pole

Changelog

Verze 1.01 ze dne 16.3.2021

Verze 0.x ze dne 31.3.2020