gElnet

semestrální úloha z předmětu X36API


Autoři: Jan Skalický <mail>, Filip Šimek <mail>
  1. O aplikaci
  2. Screenshoty
  3. Prostředí
  4. Teorie
  5. Ovládání
  6. Odkazy
  1. O aplikaci:

    Program gElnet slouží k řešení elektrických sítí s lineárními aktivními a pasivními dipóly, pracujících v ustáleném stacionárním nebo harmonickém stavu, zejména ke hledání neznámých obvodových veličin (napětí, proud). Díky jeho komplexnosti však umožňuje, s využitím jednoduchých transformací, stanovovat rovněž impedance linearních pasivních dipólů a počítat parametry náhradního zapojení lineárních aktivních dipólů. V extrémním případě lze s jeho pomocí stanovit rovněž hrubou frekvenční charakteristiku lineárního pasivního dipólu. Znaménková konvence v označování obvodových veličin a výkonů je v souladu se spotřebičovou orientací, a to u všech součástek.
    Schema je možné uložit do souboru a později jej z něj znovu nahrát. Aplikace je přenositelná, bez změny zdrojového kódu půjde přeložit na operačních systémech Microsoft Windows i GNU/Linux.


  2. Screenshoty:

    gElnet screenshot 1     gElnet screenshot 2



  3. Prostředí:

    Aplikace je napsána v programovacích jazycích C a C++. Použili jsme toolkit GTK+2.0 (verze >= 2.6) pro vytvoření přenositelného GUI. Překlad prováděl kompilátor gcc ve verzi 4.0.2 na operačním systému GNU/Linux Slackware 10.2 a portace tohoto překladače, MinGW, v prostředí Cygwin na Windows.

    Postup kompilace a spuštění:

    $ tar -xzf gelnet-1.0.2-src-noarch.tgz
    $ make
    $ ./gelnet
    



  4. Teorie:

    Schéma činnosti programu je následující:
    1) vstup dat (uživatel myší rozmístí součástky a nastaví jim hodnoty)
    2) vytvoření datových struktur (graf obvodu)
    3) analýza grafu
        3.1) hledání optimálního úplného stromu (kostry)
        3.2) hledání nezávislých smyček -> plnění matice
        3.3) hledání nezávislých řezů -> plnění matice
    4) doplnění vznikající matice definicemi součástek
    5) řešení heterogenní soustavy s komplexní maticí
        5.1) Gaussova eliminace
        5.2) Jordanova eliminace
        5.3) převod na jednotkovou matici
    6) vyjmutí výsledků obvodových veličin, spočtení příkonů
    7) výstup dat (u každé součástky výpis napětí, proudu a výkonu)



  5. Ovládání programu:

    Uživatel vybírá součástky z levého panelu nástrojů a umístuje je kliknutím levým tlačítkem myši do mřížky. V pravém horním rohu okna je umístěn strom všech součástek ve schematu, přes něj je možné přistupovat k vybranému objektu nebo skupině objektů. Pod tímto stromem je možné nastavit frekvenci zdrojů v obvodu, pokud bude frekvence rovna 0, bude se jednat o obvod ve stacionárním ustáleném stavu, při nenulové hodnotě půjde o harmonický ustálený stav.
    Některé součástky požadují nastavení parametrů, tyto parametry je možné zadat vybrané součástce (nebo skupině součástek stejného typu) v textových polích pod polem frekvence obvodu.
    Pole Caption slouží k nastavení identifikátoru součástky, který je u ní napsán ve schematu i ve stromu součástek.
    Pole Value umožní nastavit hodnotu součástky (odpor retistoru, indukčnost cívky, napětí pro zdroj napětí).
    Pole Angle nastavuje u zdrojů napětí a proudu v HUS jejich fázové posunutí.

    K propojení součástek ve schematu slouží objekt typu wire (vodič). Stýkají-li se dva vodiče ve tvaru písmena T, jsou automaticky propojeny. Pokud dojde ke křížení dvou vodičů, nejsou tyto implicitně propojeny, k propojení dojde až když na bod jejich křížení umístíme junction (uzel).
    Jakmile je obvod zadán, tlačítko Solve se jej pokusí vyřešit. Pokud řešení neexistuje, dostaneme hlášku "There is no definite solution for this circuit". V opačném případě se každé součástce nastaví hodnoty napětí, proudu a výkonu. Pokud součástku vybereme, uvidíme tyto hodnoty v textových polích vpravo dole. Je-li obvod v HUS, je výsledkem komplexní číslo. Způsob zobrazení můžeme přepínat mezi A ealfa i a x + iy.



  6. Odkazy: