Epälineaaristen yhtälöryhmien ratkaisu vaatii käytännössä iterointia ja usein hyvinkin suurten matriisien käsittelyä jokaisella iterointikierroksella. Tällöin matriisien koolla, ratkaisumenetelmän valinnalla ja aika-askeleen pituudella on suuri merkitys ratkaisun vaatimaan aikaan sekä koko menetelmän tehoon ja mielekkyyteen. Tässä luvussa tarkastellaan erilaisia tapoja kytkeä kenttä- ja piiriyhtälöt keskenään ja pohditaan, miten yhdistetyn ongelman ratkaisun voisi toteuttaa käytännössä ja mitä ongelmia eri vaihtoehtoihin sisältyy.
4.1 Heikko, suora ja epäsuora kytkentä
Kenttä- ja piiriyhtälöiden kytkennällä tarkoitetaan niiden ratkaisujen riippu
vuutta toisistaan. Yleensä tätä riippuvuutta käsitellään matemaattisesti yh
tälöryhmien keskinäisenä kytkentänä, mutta sama jaottelu heijastuu käytän
nössä myös FEM-ohjelman ja piirisimulaattorin välisenä työnjakona. Tässä käsitellään lyhyesti kaikki kolme kytkentätapaa, mutta työn kannalta käy
tännön merkitystä on ainoastaan epäsuoralla kytkennällä.
4.1.1 Heikko kytkentä
Kaikkein yksinkertaisinta on erottaa piiriongelma kokonaan kentänratkaisus- ta, jolloin magneettikentän osuus ratkaistaan yksin FEM-ohjelmalla ja ulkoi
sen piirin käyttäytyminen vastaavasti piirisimulaattorilla. Molemmat ratkai
sut ovat aika-askeleen sisällä keskenään riippumattomia ja toimivat toistensa alkuarvoina seuraavalla askeleella. Tällöin valmiiden ratkaisuohjelmistojen lisäksi tarvitaan vain yksinkertainen rajapinta, joka siirtää tulokset vuoro
tellen ohjelmalta toiselle ja muokkaa ne tarvittaessa oikeaan muotoon.
Toteutus on yksinkertainen, mutta vaatii prosessoreilta paljon laskutyötä.
Epälineaarisessa tapauksessa FEM-mallin ja ulkoisen piirin keskinäisen vai
kutuksen huomioiminen edellyttää iterointia, jonka vaatima aika kertautuu huomattavasti peräkkäisten kenttä- ja piiriratkaisujen vuoksi. Käytännössä aika-askeleen on silloin oltava lyhyt tai ratkaisussa on hyväksyttävä yksin
kertaistuksia ja epätarkkuuksia. Koska ratkaisijat toimivat vuorotellen, las
kentaa ei voi edes nopeuttaa jakamalla sitä eri tietokoneille.
4.1.2 Suora kytkentä
Edelliselle täysin päinvastainen tapa on yhdistää kenttä- ja piiriyhtälöt sa
maan yhtälöryhmään, josta ratkaistaan yhdellä kertaa kaikki virrat, jännit
teet ja vektoripotentiaalit. Elementtimenetelmän ja piirianalyysin yhtälöt ovat monilta osin analogisia keskenään, ja nämä yhtälöt voi yhdistää usealla eri tavalla.
Yleisesti ottaen suoraan kytkentään perustuvat menetelmät ovat verraten nopeita, koska informaatiota ei tarvitse siirrellä edestakaisin ja ongelman osa-alueiden keskinäiset vuorovaikutukset pystytään huomioimaan samanai
kaisesti. Tosin muuttujien määrän kasvaessa matriisin koko voi paisua mer
kittävästi ja siten hidastaa ratkaisua.
4.1.3 Epäsuora kytkentä
Epäsuoraa kytkentää vastaa tilanne, jossa kenttä- ja piiriyhtälöt ratkaistaan useassa osassa muttei kuitenkaan toisistaan riippumatta. Kyseessä on siis jonkinlainen kompromissi edellisistä kytkentätavoista, joka sijoittuu tehok- kuudessaankin yleensä näiden kahden välille. Tarkempaa määrittelyä ei juuri voi antaa, koska epäsuoraksi kytkeytymiseksi voidaan lukea mikä tahansa formulaatio, jossa yksikin yhtälö ratkaistaan erillään muista tai iterointia joudutaan suorittamaan useassa osassa.
Epäsuoran kytkennän tapauksessa moninkertainen iterointi hidastaa ratkai
sua, mutta toisaalta yhtälöt voidaan jakaa nopeammin ratkottaviin osiin hyö
dyntämällä kerroinmatriisien ominaisuuksia. Epäsuoran kytkennän käytöstä voi siten olla niin etua kuin haittaakin suoraan kytkentään verrattuna. Kui
tenkin viime kädessä ratkaisevia tekijöitä ovat ongelman koko, massiivisten ja käämijohtimien lukumäärä, piirikomponenttien mallit ja epälineaarisuuksien luonne.
4.2 Ratkaisun osa-alueet ja muuttujien valinta
Riippumatta siitä, miten kenttä- ja piiriyhtälöt on kytketty, ongelman ko
konaisratkaisun voi jakaa kolmeen osaan, joista kullakin on omat erityis
piirteensä. Magneettikentästä ratkaistaan vektoripotentiaalit ja sähköisistä piireistä piirisuureet, kuten normaalistikin, mutta yhdistetyssä ongelmassa
käsitellään lisäksi magneettikentässä sijaitsevia johtimia, jotka tavallaan yh
distävät edellämainitut kaksi maailmaa keskenään. Käytännössä vektoripo- tentiaalit ratkaistaan FEM-ohjelmalla ja sähköisen piirin suureet piirisimu
laattorilla, jolloin eroja käytännön toteutuksessa syntyy lähinnä johtimien käsittelyssä.
4.2.1 Vektoripotentiaalit
FEM-mallin vektoripotentiaaliarvot ratkaistaan yhtälöryhmästä (14), jossa on yhtälöitä sama määrä kuin ratkaistavia vektoripotentiaalejakin, tyypilli
sesti joitakin tuhansia. Yhtälöryhmä on epälineaarinen, joten se ratkaistaan Newton-Raphsonin iteraatiolla. Kerroinmatriisi ja sen Jacobin matriisi jou
dutaan määrittämään uudelleen jokaisella iteraatiokierroksella, mikä kulut
taa suhteellisen paljon laskenta-aikaa. Lisäksi jokaisella iteraatiokierroksella ratkaistaan suurikokoinen lineaarinen yhtälöryhmä, minkä vaatima aika on suunnilleen samaa suuruusluokkaa kuin edellämainittujen matriisien muo
dostaminen.
Yhtälössä (14) oletetaan tunnetuiksi piirisuureiksi massiivisten johtimien jännitteet sekä käämijohtimien virrat. Syy tähän on oletus, jonka mukaan ohuiden käämijohtimien virrantiheys on vakio ja siten huomattavan helppo määrittää virran perusteella. Jännitteen käyttäminen edellyttäisi tämän yli
määräistä ratkaisemista iteraatiokierroksen aikana, mikä puolestaan kuluttaa enemmän aikaa. Massiivisten johtimien osalta taas jännitteen käyttäminen johtaa yksinkertaisempiin yhtälöihin.
4.2.2 Sähköinen piiri
Tämän työn piiriin kuuluvissa ongelmissa sähköinen piiri koostuu korkein
taan joistakin kymmenistä solmuista, joten sen ratkaisun ei periaatteessa pitäisi vaikuttaa paljoakaan kokonaisratkaisussa. Kuitenkin piirin epälineaa
risuudet ovat aivan eri luokkaa magneettikenttään verrattuna, sillä tehoe- lektroniikkapiirien sisältämät puolijohdekytkimet muuttavat kytkentähetkil- lä radikaalisti luonnettaan ja stabiilisuusongelmia saattaa ilmetä hyvinkin helposti. Lisäksi FEM-malli saattaa vaikuttaa oleellisesti piirin toimintaan ja päinvastoin, mikä yleisessä tapauksessa lisää ainakin tarvittavien iteraa- tiokierrosten lukumäärää. Siksi sähköisen piirin vaikutusta ei missään ta
pauksessa pidä väheksyä ennen kuin vaikutuksia on kokeiltu käytännössä.
Kuten aiemmin on jo todettu, modifioidussa solmupistemenetelmässä pää
asiallisia muuttujia ovat solmujännitteet, joiden lisäksi saatetaan tarvita myös joidenkin haarojen virtoja. Kaikki ohjatut ja ohjaamattomat jännite
lähteet sekä induktanssit edellyttävät ylimääräisen virran valitsemista muut
tujaksi, joten sähköisen piirin ratkaisun kannalta magneettikentän johtimien tulisi edustaa virtalähteitä.
4.2.3 Magneettikentän johtimet
Yhtälöryhmät (10) ja (11) kuvaavat magneettikentän johtimien virtojen ja jännitteiden riippuvuutta toisistaan sekä vektoripotentiaaleista. Yhtälöiden lukumäärä on sama kuin ko. johtimien lukumäärä, eli käytännössä korkein
taan joitakin kymmeniä. Yhtälöt ovat lineaarisia differentiaaliyhtälöitä, jo
ten niiden kerroinmatriisej a ei tarvitse päivittää ratkaisun aikana. Näin ollen johtimien suureiden ratkaisu on väistämättä nopeampaa kuin vektoripoten- tiaalien ratkaisu.
Kuten edellä todettiin, vektoripotentiaaleja ratkaistessa on tunnettava mas
siivisten johtimien jännitteet ja käämijohtimien virrat, mutta sähköisestä pii
ristä olisi parasta ratkaista ainoastaan jännitteitä. Tämä johtaa siihen, että joka tapauksessa joudutaan ratkaisemaan ylimääräisiä yhtälöitä, vaikkakin käämijohtimien lukumäärä on usein hyvin pieni yhtälöiden kokonaislukumää
rään nähden. Siksi kokonaistuloksen kannalta on lähes samantekevää, missä yhteydessä em. yhtälöt ratkaistaan, ja todennäköisesti onkin parasta valita johtimien muuttujat käytännön toteutukseen liittyvien seikkojen perusteella.
4.3 Tehtävien jako ja käytännön toteutus
Kun yhdistettyä ongelmaa ratkaistaan kahdella eri ohjelmalla, on ensin poh
dittava miten tehtävän osa-alueiden ratkaisut jaetaan eri ohjelmille. Seuraa- vassa esitetään kolme mahdollista ratkaisua ja pohditaan, mitä seikkoja käy
tännön toteutuksessa on otettava huomioon.
4.3.1 Analoginen sijaiskytkentä
Mallinnettaessa magneettikenttää elementtimenetelmällä saadaan differen
tiaaliyhtälöryhmä, joka on analoginen piirianalyysin kanssa [9]. Näin jokai
sesta elementistä voidaan muodostaa sähköinen sijaiskytkentä, ja näin ko
ko elementtiverkon sijaiskytkentä sisältää 5-6 komponenttia solmua kohden.
Kun magneettipiiri kytketään todelliseen sähköiseen piiriin, tarvitaan väli- piiri analogiamuunnoksia varten.
Sijaiskytkentämallinnusta käytettäessä FEM-ohjelmaa tarvitaan ainoastaan geometrian mallintamiseen ja elementtiverkon luomiseen, kun piirisimulaat
tori hoitaa kaiken laskemisen. Ratkaisu on erittäin käytännöllinen, koska oh
jelmien välillä ei tarvita juuri minkäänlaista yhteistoimintaa. Kuitenkin säh
kökoneita mallinnettaessa komponenttien määrä kasvaa helposti erittäin suu
reksi eikä menetelmän suoritusnopeudesta ole saatavilla mitään tietoa. To
dennäköisesti menetelmä sopii parhaiten tehoelektroniikkapiirien kuristimien ja muuntajien mallinnukseen, koska sitä ei ole testattu lainkaan suurilla ele-
menttiverkoilla.
4.3.2 Moniporttipiiri
Magneettikentän FEM-malli voidaan esittää piirisimulaattorissa myös moni- porttipiirinä [17], jossa portit vastaavat magneettikentän johtimia eikä pii
rin sisäpuolinen toiminta näy ulkopuolelle lainkaan. Porttien suureet ovat todellisia virtoja ja jännitteitä, jolloin piirisimulaattorissa ei tarvita erityi
siä välipiirejä. Moniporttipiirien sisäinen toiminta puolestaan mallinnetaan kokonaan FEM-ohjelmalla johtimien virta- ja jänniteyhtälöt mukaanlukien.
Tällöin porttien sähköiset suureet ovat kummallekin ohjelmalle yhteisiä ja muodostavat siten rajapinnan näiden välille.
Käytännön toteutuksessa ohjelmilta vaaditaan paljon keskinäistä tiedonsiir
toa, mikä onkin suurin ongelma menetelmän soveltamisessa. Normaalitilan
teessa ohjelmat iteroivat yksin oman osa-alueensa ratkaisun loppuun ennen tämän siirtämistä eteenpäin. Tämä aiheuttaa ratkaisuihin epätarkkuutta ja jopa stabiilisuusongelmia puhumattakaan ajasta, joka kuluu yhden ohjelman odotteluun toisen iteroidessa ratkaisua. Siksi ohjelmat täytyisi saada toimi
maan yhteisessä iteraatiosilmukassa, jolloin tietoa siirretään ohjelmalta toi
selle kunkin iteraatiokierroksen aikana. Toinen tiedonsiirtoon liittyvä ongel
ma on sen vaatima aika. Etenkin tiedostoihin kirjoittaminen on varsin hi
dasta, ja kun edestakaisia tiedonsiirtoja voi iteraation aikana olla useita, on kysymys varsin merkittävästä ongelmasta.
4.3.3 Ohjattavat lähteet
Ohjattavien lähteiden käyttäminen mallinnuksessa on pitkälti samanlaista moniporttipiireihin verrattuna. Erona on, että johtimien virta- ja
jänniteyh-tälöt ratkaistaan tällöin piirisimulaattorilla ja FEM-ohjelmalla ainoastaan vektoripotentiaalit. Magneettikentän johtimet mallinnetaan virta- tai jänni
telähteinä, joita ohjataan johdinyhtälöiden (10) ja (11) mukaan.
Käytännössä piirisimulaattorin on pystyttävä lukemaan tarvittavat ohjaus- suureet suoraan tiedostosta tai toisen ohjelman tulosteesta, sillä muutoin simuloitavaan piiriin on sijoitettava ylimääräisiä solmupisteitä kullekin vek- toripotentiaalin arvolle. Toisaalta myös edellisessä kohdassa mainittu tiedon- siirtokysymys on erityisen tärkeä, koska vektoripotentiaalien lukumäärä voi olla tuhansia. Käytännössä ohjattavia lähteitä voidaankin käyttää vain, jos ohjelmien välinen tiedonsiirto saadaan sujumaan huomattavan nopeasti.
4.4 Ohjelmointi
4.4.1 Jako erillisille prosessoreille
Joissakin tapauksissa saattaisi olla edullista käyttää ohjelmia eri tietokoneil
la laskentatehon lisäämiseksi. Jotta tästä saataisiin kaikki mahdollinen hyö
ty, ohjelmien täytyy voida toimia samanaikaisesti, minkä toteuttaminen ei välttämättä ole kovin yksinkertaista. Vektoripotentiaalit ja piirisuureet ovat riippuvaisia toisistaan, ja on luonnollista ratkaista niitä vuorotellen aina vii
meisimpiä iteraatiotuloksia käyttäen. Jos ratkaisut halutaan suorittaa sa
manaikaisesti, suureiden uusimpia arvoja ei vielä ole laskettu ja joudutaaan käyttämään edellisen askeleen arvoja. Tällöin tarkkuus luonnollisesti heikke- nee aiheuttaen mahdollisesti iteraatiokierrosten lukumäärän kasvua ja jopa stabiilisuusongelmia.
Kohdassa 4.3 mainitut tiedonsiirtokysymykset tulevat entistä oleellisemmiksi erillisten prosessorien käytön yhteydessä. Tietojen luvun ja kirjoituksen li
säksi on huomioitava tietokoneiden välisen tietoliikenneväylän nopeus. Käy
tännössä ongelmia ei pitäisi esiintyä, mikäli koneiden välillä on suora yhteys.
Lähiverkkoja tai TCP/IP-protokollaa käytettäessä tiedonsiirtonopeudet ja luotettavuus saattavat vaihdella, vaikkakin TKKdla tilanne on yleisesti ot
taen hyvä.
Osaltaan prosessorikuorman jakamisen etuja heikentää kohdassa 4.2 todetut mittasuhteet, joissa tehtävän osa-alueiden laskentakuorma jakautuu. Vekto
ripotentiaalien lukumäärä saattaa hyvinkin olla satoja kertoja suurempi kuin sähköisen piirin solmujännitteiden, joten prosessoreista toinen todennäköises
ti pysyisi edelleen kuormittamattomana suurimman osan ajasta. Siksi ratkai
sun jako eri prosessoreille ei vaikuta kovin edulliselta ratkaisulta.
4.4.2 Jaetun muistin käyttäminen
Normaalin käytännön mukaan kullakin ohjelmalla on omat muistipaikkansa käytössään muuttujien arvoja varten. Siirrettäessä muuttujien arvot ohjel
malta toiselle muistipaikkojen sisältämät tiedot kirjoitetaan tiedostoon, jos
ta toinen ohjelma lukee tiedot ja kirjoittaa ne omiin muistipaikkoihinsa. Toi
mintaa voidaan oleellisesti nopeuttaa lähettämällä muuttujien arvot suoraan ohjelmalta toiselle ilman turhaa tiedostoon kirjoittamista. Tämän toteutta
minen vaatii yleensä muutosten tekemistä, mutta saattaa joidenkin ohjelmien yhteydessä onnistua suhteellisen helpostikin.
Jos siirrettävät muuttujat ovat esimerkiksi vektoripotentiaaleja, edestakaisin siirreltävän tiedon määrä on koko tehtävän ratkaisun aikana huomattavan suuri, mikä väistämättä vaikuttaa ratkaisuakaan. Tämä aika saadaan mini
moitua, jos ohjelmat saadaan käyttämään yhteisiä muistipaikkoja, jolloin tie
toa ei turhaan tarvitse kopioida mihinkään. Tämän toteuttaminen vaatii eh
dottomasti ohjelmien lähdekoodin muuttamista, koska normaalisti ohjelmat varaavat muistipaikkansa yksin omaan käyttöönsä ja estävät niiden näkymi
sen muille ohjelmille. FCSMEK-ohjelman lähdekoodi on täysin käsiteltävissä, mutta kaupallisten piirisimulaattoreiden kanssa tilanne on ymmärrettävistä syistä täysin toinen.
On vielä syytä muistaa, että tietokoneiden toimintaa voidaan yleensä no
peuttaa merkittävästikin, jos prosessorin toimintaperiaate tunnetaan. Eten
kin muistin käsittelyssä ja laskutoimitusten suorittamisessa oikeilla menet
telytavoilla voidaan säästää yllättävästikin aikaa [13]. Tällöin ohjelmien toi
minta kuitenkin kuihtuu yhä enemmän prosessoririippuvaiseksi, mikä ei tässä tapauksessa ole lainkaan toivottavaa. Siksi käytännön toteutuksessa ei kan
nata ryhtyä tavoittelemaan liikoja, vaan ennemmin varmistaa ohjelmien toi
mivuus mahdollisimman monessa eri koneessa.
4.4.3 Käyttöliittymä
Kun kyseessä on kahden ohjelman yhteenliittymä, on käyttöliittymiäkin kak
si. Käytännössä molempia käyttöliittymiä tarvitaan ainakin malleja luodes
sa, mutta itse simulointia varten on mahdollista luoda myös erillinen, kolmas käyttöliittymä. Kuitenkin suositeltavampi tapa on käyttää valmiita ohjelmia sellaisenaan ja pyrkiä sisällyttämään kaikki yhteistoiminta näiden käyttöliit
tymiin. Parhaassa tapauksessa FEM-malli edustaa piirisimulaattorille vain yhtä käyttäjän luomaa komponenttia ja päinvastoin. Tällöin simulointi olisi
mahdollista suorittaa kummastakin ohjelmasta riippuen siitä, onko ensisijai
nen kiinnostuksen kohde sähkökoneen vai siihen liitetyn piirin käyttäytymi
nen.
Käytännössä on hyvinkin todennäköistä, että simulointi joudutaan suorit
tamaan piirisimulaattorista käsin. Yhteisen iteraatiosilmukan toteuttami
nen tehokkaasti edellyttää muutosten ohjelmointia ainakin toisen ohjelman laskurutiineihin, mikä on kaupallisissa ohjelmistoissa tuskin mahdollista.
FCSMEKm algoritmeihin voi kuitenkin tehdä lisäyksiä ja muutoksia, joten se luultavasti joudutaan alistamaan piirisimulaattorin ja samalla tämän käyt
töliittymän alaisuuteen.
4.5 Käytännön testaus
Edellä esitetyt huomiot ongelman osa-alueiden mittasuhteista, muuttujien valinnasta ja toteutustavasta perustuvat ainoastaan teoreettisiin ajatusmal
leihin. Käytännänön testaus ei kuulu tämän työn piiriin, mutta jatkotutki
muksen yhteydessä olisi syytä tarkastaa ainakin joidenkin esitettyjen oletus
ten paikkansapitävyys.
Ideoiden jatkokehittelyn kannalta tärkeimpiä testejä ovat tiedonsiirtoon ku
luvien aikojen määrittäminen ja näiden vertaaminen laskennan vaatimiin ai
koihin. Jos tiedonsiirron osuus kokonaisajasta osoittautuu merkittäväksi, on se ehdottomasti huomioitava käytännön toteutuksessa. Toisaalta tietojen kä
sittelyn nopeuttamiseen ei kannata haaskata aikaa ja vaivaa, jos vaikutus jää vain marginaaliseksi.
Kun tiedonsiirron vaikutuksista on enemmän tietoa, voidaan tutkia tarkem
min, mitä muuttujia ohjelmien välillä kannattaa siirtää. Samalla kannattaa kokeilla, miten käytettävä piirisimulaattori suhtautuu mallinnukseen moni- porttipiirien ja ohjattavien lähteiden avulla. Näiden testien perusteella voi
daan kohtalaisen hyvin valita tapa, millä kenttä- ja piiriyhtälöiden kytkentä toteutetaan käytännössä.