Railgun, výpočet

Jak na to.

Je s podivem, že základní konstrukci pro výpočet lze najít v literatuře i česky např. [1] zde. Z toho lze použít lagranžián (1.153).

\[ L = \frac{1}{2} m {\dot x}^2 + \frac{1}{2} (\mathcal L_0 + \mathcal L_1 x){\dot Q}^2 - \frac{Q^2}{2 \mathcal C} \]

Protože indukčnost vedení na jednotku délky je (až na nějaký bezrozměrný geometrický faktor) prakticky rovna permeabilitě prostředí a výsledné diferenciální rovnice můžeme integrovat od určité počáteční podmínky pro souřadnici x, která pak nahradí počáteční indukčnost, lze to napsat jako

\[ L = \frac{1}{2} m {\dot x}^2 + \frac{1}{2} \mu x {\dot Q}^2 - \frac{Q^2}{2 \mathcal C} \]

Z toho určíme zobecněné hybnosti a energii

\[ p_x = \frac {\partial L}{\partial {\dot x}} = m \dot x \]

\[ p_Q = \frac {\partial L}{\partial {\dot Q}} = \mu x \dot Q \]

\[ E = \frac {\partial L}{\partial {\dot x}} \dot x + \frac {\partial L}{\partial {\dot Q}} \dot Q - L = \frac{1}{2} m {\dot x}^2 + \frac{1}{2} \mu x {\dot Q}^2 + \frac{Q^2}{2 \mathcal C} \]

Provedeme Legendreovu duální transformaci. Tím získáme Hamiltonovu funkci

\[ H = \frac{{p_x}^2}{2 m} + \frac{\dot{p_Q}^2}{2 \mu x} + \frac{Q^2}{2 \mathcal C} \]

A z ní už snadno získáme potřebné diferenciální rovnice

\[ \dot x = \frac{\partial H}{\partial p_x} = \frac{p_x}{m}\qquad \] \[ ;\qquad\dot p_x = - \frac{\partial H}{\partial x} = \frac{1}{2 \mu} \left(\frac{p_Q}{x}\right)^2 \]
\[ \dot Q = \frac{\partial H}{\partial p_Q} = \frac{p_Q}{\mu x}\qquad \] \[ ;\qquad\dot p_Q = - \frac{\partial H}{\partial Q} = - \frac{Q}{\mathcal C} \]

které lze už snadno numericky integrovat. Ono to sice na první pohled vypadá dost šíleně, ale je to asi opravdu ten nejjednodušší způsob, jak se dobrat výsledku (tedy pokud už jsme někde ulovili potřebný lagranžián).

Výsledky.

S použitím parametrů zařízení pana Hudečka s přívody o délce 20 cm získáme následující závislosti

Je vidět, že frekvence tlumených oscilací přechodového děje není dramaticky vysoká (prostě kapacita je opravdu veliká), chová se to celkem rozumně. Pokud si vyneseme proud a sílu, působící na projektil v závislosti na souřadnici (což je možná názornější), zjistíme, že pokud používáme elektrolytický kondenzátor a nechceme ho přepólovat, stačí opravdu několik málo centimetrů "hlavně". Dost silně to závisí na délce (a tedy indukčnosti) přívodů, stejně tak samozřejmě i dosažitelná rychlost.

Závěr.

Je zřejmé, že to nějak funguje, není to úplně špatně. Rychlost náboje opravdu konverguje k teoretickému maximu, které by nastalo, pokud by se veškerá elektromagnetická energie přeměnila v kineckou energii střely. Prakticky lze využít (s elektrolytickým kondenzátorem) jen první čtvrtvlnu přechodového děje, takže maximální rychlost střely by i tak mohla být jen zlomek teoretického maxima, ale ztráty třením, výboji a na parazitních odporech obvodu budou tak vysoké, že to celkem nestojí za to se s tím počítat, stejně by se ztráty musely spíš jen odhadnout. Model tedy slouží jen k hrubému ověření, co se tam děje a nepočítá s jakoukoli disipací energie. Zdrojáky přibalíme s tím, že jsou zcela bez záruky a nechť si s tím každý dělá, co umí. Potřebujete k tomu jen make, g++, gnuplot a případně patch.

1. Přídavek - vylepšení.

Asi by to šlo zlepšit zapojením diody paralelně ke kondenzátoru. Zabrání se tak jeho přepólování a zbytek magnetické energie se pak o něco pomaleji mění na kinetickou energii střely. Jde to i nasimulovat - po vyčerpání náboje Q z kondenzátoru vlastně jakoby zmizí z Hamiltonovy funkce poslední člen. Tedy v případě ideální diody. Ovšem reálná dioda, která snese ve špičce desítky kA, to bude oříšek.

Asi to však bude potřebovat delší "hlaveň". Zbytek energie se stejně po jejím opuštění projektilem ztratí, patrně výbojem na konci. Pokud by byla hlaveň nekonečná, rychlost projektilu by opět konvergovala k teoretickému maximu. Simulace je zase bezeztrátová.

Aplikace ideální diody v simulaci je realizována pomocí patche, který lze aplikovat příkazem patch -p2 < diode.patch. Lze z něj snadno přečíst, jak se původní kód změní.

2. Přídavek - disipace energie.

Protože máme k dispozici Rayleighovu disipační funkci [1] (1.148)

\[ R = \frac{1}{2}\mathcal R {\dot Q}^2 + \frac{1}{2}\beta {\dot x}^2 \]

můžeme se pokusit nasimulovat model i s určitým odhadem ztrát v systému. Protože jako elektrikáři dokážeme spíš odhadnout hodnotu $\mathcal R$, zatím zanedbáme člen s mechanickým třením. Opravíme tedy jen poslední rovnici

\[\dot p_Q = - \frac{\partial H}{\partial Q} - \frac{\partial R}{\partial \dot Q} = - \frac{Q}{\mathcal C} - \mathcal R \dot Q = - \frac{Q}{\mathcal C} - \mathcal R \frac{p_q}{\mu x} \]

S parazitním odporem kondenzátoru 5 $m\Omega$ jsou výsledky opravdu o něco realističtější. I zde je použit patch - patch -p2 < disip.patch.

Simulace i zde předpokládá použití diody paralelně ke kondenzátoru. Situace se ale jejím vynecháním příliš nezmění. Nebudu to sem dávat, i tak je těch obrázků už tolik, že je těžké se v tom vyznat. Ale je vidět, že pokud zvolíme správně parametry modelu, dává asi správné výsledky.

3. Přídavek - automatizace výpočtu matematických formulí.

Přestože pro simulaci elektronických obvodů existují docela dokonalé softwarové nástroje, pokud spojíme elektrický obvod s nějakým mechanickým systémem, býváme obvykle v koncích. Spočítat něco takového, jako je uvedeno výše, jen s běžnou znalostí fyziky by bylo docela na hlavu. Muselo by se počítat magnetické pole vedení, Lorenzova síla působící na příčku, zpětně indukované napětí v té příčce ... Teoretická mechanika jen na základě úvah o energii a kam se tak může nebo spíš nemůže ztrácet tohle umí o hodně elegantněji. Když se na to podíváte, je to jen pár jednoduchých vztahů pro energii, které zřejmě učí už na střední škole, žádně Maxwellovy rovnice, žádná Lorenzova síla, to z toho vyleze tak nějak samo o sobě. Sice je to dost abstraktní, ale funguje to. A protože počítat ty parciální derivace, dosazovat to do výrazů a pak je upravovat je dost otravné a člověk se přitom snadno splete, vytvořil jsem skript v pythonu, který tohle umí vyřešit a vyhodí z lagranžiánu přímo Hamiltonovy rovnice. Pro testování jsou tam lagranžiány i pro jiné problémy než tento, produkuje to takovýto poměrně čitelný výsledek.

4. Přídavek - simulace jako webová aplikace.

Původní simulace má dost velký nedostatek - nejdou měnit jednoduše parametry simulace. Udělat aplikaci v Qt tak, aby šly parametry jednoduše nastavit a přeložit jí do webassembly není zase tak velký problém. Pokud si to chcete vyzkoušet, musíte mít browser, který podporuje javascript a webassembly (Firefox, Chrome ...). A ještě zdrojáky. Licence je to co platí obecně pro Qt, lze použít Qt4 i Qt5. Jako nativní aplikace je to o něco lepší, ta webassembly verze má ještě své mouchy. Pozor - webassembly je dost velké (13MiB), protože si s sebou tahá vše možné včetně fontů.

Literatura.