1. Az elemzés elméleti háttere
Az
egyenáramú hálózatok analizálásának módszerei az eredetileg
tapasztalati úton meghatározott, de a Maxwell-egyenletekből is
levezethető Ohm törvényére és a Kirchhoff-törvényekre alapulnak.
Ohm törvénye alapján egy vezetéken átfolyó áram
erőssége arányos a végpontjaira kapcsolt feszültséggel:

Az R tényezőt ellenállásnak nevezzük,
mértékegysége az Ohm [Ω]
Kirchhoff
I. törvénye, vagy másképp a csomóponti törvény a töltés megmaradását
fejezi ki: e szerint egy csomópontba beáramló töltések összege
megegyezik a csomópontból kiáramló töltések összegével. Ha a
csomópontba befutó ágak irányait úgy vesszük fel, hogy valamennyi a
csomópontba mutasson, akkor az I. Kirchhoff-törvény képlete:

Kirchhoff
II. törvénye, vagy másképp a huroktörvény a hurok feszültségegyensúlyát
írja le: e szerint zárt hurokban a feszültségek összege nulla:

Vegyes
módszer használata esetén a Kirchhoff-egyenleteket alkalmazzuk a
hálózat elemzésére. A módszer alkalmazásakor a hálózat egyes ágaiban
folyó ágáramokat tekintjük ismeretlennek, az egyenleteket pedig a
csomóponti- és a huroktörvény alapján írjuk fel. Tekintsük például az
alábbi hálózatot:

A
független csomóponti egyenletek száma a csomópontok számától eggyel
kevesebb. Az ábrában az A, B, C csomópontokra a Kirchhoff I. törvénye
alapján felírt csomóponti egyenletek:
A: 
B: 
C: 
Az I, II, III módon felvett hurkokban Kirchhoff
II. törvénye és az Ohm-törvény alapján felírt hurokegyenletek:
I.: 
II.: 
III.: 
A
kapott összesen hat egyenlet az ismeretlenekben lineáris, független
egyenletrendszert alkot, és mint ilyen, számtalan matematikai
módszerrel megoldható.
A
vegyes módszer alkalmazásának nagy hátránya, hogy igen sok egyenlethez
vezet, aminek a megoldása különösen bonyolult hálózatoknál igen
időigényes és számítógép segítsége nélkül való számolásoknál sok
tévesztési lehetőséget ad. Ezért számos olyan módszert fejlesztettek
ki, melyek a Kirchhoff-egyenleteken és a vegyes módszeren alapulnak, de
alkalmazásukkal a megoldandó egyenletek száma kevesebb.
Ilyen
módszerek például a hurokáramok módszere, a csomóponti potenciálok
módszere, a hurokáramok módszere, vagy a különböző ekvivalens
átalakítások alkalmazása. Ezen módszerek ismertetése az irodalomban
megtalálható. Megjegyezzük, azért nem ezen módszereket használtuk, mert
esetenként olyan intuíciót igényelnek, mely számítógépes programba
nehezen építhető be, másrészt alkalmazásuknak gyakran olyan feltételei
vannak, ami az elemzés során gyakran nem teljesül. Például a csomóponti
potenciálok módszere megköveteli a feszültséggenerátorok
áramgenerátorrá alakítását, ami a gyakorlatban nem, de elméleti
példákban gyakran alkalmazott ideális generátor esetén nem végezhető
el.
A
program készítése során a hálózat elemzésére a vegyes módszert
alkalmaztuk, egy kis változtatással. A változtatás oka az, hogy az
áramgenerátorok szakadásnak tekinthetők, így az az ág, amiben
áramgenerátor van, nem szerepelhet hurokegyenletben. Ilyenkor viszont a
hurokegyenlet helyett az ad egy egyenletet, hogy ismerjük az ágáramot:
nevezetesen egyenlő az áramgenerátor forrásáramával.
2. A hálózat adatainak tárolása
A
hálózat adatainak tárolását, a hálózat módosítását és a képernyőn való
megjelenítését a “Halozat“ osztály végzi. (osztály alatt az
objektum-orientált programnyelvekben, ol. C++, JAVA osztályfogalmát
kell érteni)
A hálózat csomópontokból és
alkatrészekből (ellenállás, feszültséggenerátor, áramgenerátor, illetve
rövidzár) áll. A csomópontok csak egy megadott rács rácspontjaiban
helyezkedhetnek el, alkatrészek csak két csomópont között lehetnek. A
grafikai megjelenítés egyértelműsége miatt az alkatrész két végpontját
összekötő szakaszon nem lehet más csomópont.
A
“Pont” osztály tárolja egy pont rácspontbeli helyét, valamint a
grafikus megjelenítéshez szükséges információkat és eljárásokat.
Mivel
az alkatrészek között az elemzést leszámítva csak az áramköri rajzban
és a dimenzióban van különbség, ezért a “Rovidzar”, “Ellenallas”,
”FeszGenerator”, ”AramGenerator” osztályoknak közös ősosztálya van, a
“Szakasz” osztály.
A “Szakasz“ osztály tárolja,
hogy melyek a szakasz végpontjai, milyen az értéke (az ellenállásnak,
generátoroknak a dimenzió nélküli numeikus értéke), a dimenziója, az
elem neve, az irányítása. Ugyancsak tárol a grafikai megjelenítéshez
szükséges információkat, illetve a megjelenítés egy részét is elvégzi,
pl. a név kiíratását. Az alkatrész rajzának megjelenítését a gyermek
osztályok, a “Rovidzar”, “Ellenallas”, ”FeszGenerator” és
”AramGenerator” végzik
A “Halozat“ osztály egy
“Pontok” és egy “Szakaszok” tömböt tartalmaz. Tartalmazza a csomópontok
és az egyes alkatrészek hálózathoz való hozzáadásának és elvételének
függvényeit. Kezeli az egér hálózaton végzett műveleteit, és a
megfelelő műveletsor végrehajtása esetén (alkatrész hozzáadásánál pl.
az egyik csomópontból a másikba az egérgomb lenyomása melletti
elmozdulással) meghívja a megfelelő hozzáadási ill. törlési műveletet.
Azt, hogy az egérrel éppen milyen funkciót lát el, a vezérlő panelen
lévő gombokkal lehet meghatározni.
Az elemzés az alábbi folyamatábra alapján zajlik
(a folyamatábra egyes elemei később részletes bemutatásra kerülnek):

Azt
a felvett pontot tekintjük csomópontnak, amelyhez legalább három
szakasz kapcsolódik. Amelyikhez csak kettő tartozik, az csak egy
egyszerű töréspont, amihez pedig még kettőnél is kevesebb, ott vagy a
pont vagy egy alkatrész a levegőben lóg, vagyis nem megfelelő a
hálózat. Ha nem találtunk legalább két csomópontot, az hiba.
A csomópontok meghatározása után az ágakat kell
meghatározni. Egy ág mindig két csomópont között húzódik.
Az
ág meghatározásának első lépése a meglévő hálózat lemásolása egy
ideiglenes hálózatba. Ezután kiválasztunk egy olyan pontot, ami az
eredeti hálózatban csomópont.
Kiválasztjuk az
adott pontból induló egyik szakaszt, majd a szakasz folytatását, és így
tovább egészen addig, amíg el nem érünk egy olyan pontba, ami szintén
csomópont az eredeti hálózatban. Az így kapott egymás utáni szakaszok
alkotják az ágat.
Ha ezt az ágat töröljük az
ideiglenes hálózatból, akkor addig folytathatjuk az algoritmust, amíg
az ideiglenes hálózat el nem fogy és valamennyi ág meghatározásra nem
kerül.

A
hurokegyenletek felírásához a hurkok meghatározása szükséges. Első
lépésként le kell másolni a hálózatot egy ideiglenes hálózatba, és
eltávolítani belőle az áramgenerátorokat, melyek nem szerepelhetnek
hurokegyenletben.
Eltávolítjuk az ideiglenes
hálózatból a levegőben lógó alkatrészeket. Ezután kiválasztunk egy
tetszőleges szakaszt, majd egy olyan szakaszt, amelyik kapcsolódik az
előzőhöz, egy újabb szakaszt, amely az előzőhöz kapcsolódik és így
tovább, egészen addig, a amíg a “tört vonal” vissza nem érkezik saját
magába Ez a visszaérkezés nem feltétlenül az első pontba történik. Az
alábbi stilizált ábrán például az A pontból indulva a C pont lesz az,
ahol záródik a „tört vonal”:

A
hurokból kitöröljük a hurok kezdetén felvett felesleges részeket (Az
ábrán az AB,BC szakaszokat). A hurokban biztosan van eredeti
hálózatbeli csomópont, de nem biztos, hogy a legelső. A hurkot a benne
lévő pontok rotációjával úgy módosítjuk, hogy a kezdőpont eredeti
csomópont legyen.
Eltávolítunk az ideiglenes
hálózatból egy olyan szakaszt, ami a hurok része volt, majd elvégezzük
az egyszerűsítést, mely szerint is a “lógva maradt” alkatrészeket
eltávolítjuk a hálózatból. A folyamatot ismételten végrehajtjuk egészen
addig, amíg el nem fogy az ideiglenes hálózat. Mivel mindig
eltávolítunk a hálózatból egy olyan szakaszt, amely az utolsó hurok
része volt, a kiválasztott hurkok függetlenek lesznek.

A
csomópontok, ágak és hurkok meghatározása után a csomóponti és
hurokegyenletek felírhatók. Áramgenerátorok jelenléte esetén az
egyenletrendszerhez tartoznak még azok az egyenletek is, melyek szerint
az áramgenerátor árama egyenlő az ágárammal.
Az egyenleteket mátrix formában felírjuk, majd
az egyenletrendszert a determinánsok módszerével oldjuk meg.