• Ei tuloksia

Kenttä- ja piiriyhtälöiden yhdistäminen 22

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ä.