TEKNILLINEN KORKEAKOULU Sähkö- ja tietoliikennetekniikan osasto
Sami Kanerva
PIIRISIMULAATTORIN KÄYTTÄMINEN ELEMENTTI
MENETELMÄN YHTEYDESSÄ
Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi diplomi-insinöörin tutkintoa varten Espoossa / А ''fr. 1999.
Työn valvoja
TK'< SShkö- ja ticidiikcnnctckn
f 15 A i~ J Lisir^O
n f ÎO
TEKNILLINEN KORKEAKOULU Diplomityön tiivistelmä Tekijä: Sami Kanerva
Työn nimi: Piirisimulaattorin käyttäminen elementtimenetelmän yhteydessä
Päivämäärä: /Äjo. 1999 Sivumäärä: 48 Osasto: Sähkö- ja tietoliikennetekniikan osasto Professuuri: S-17 Sähkötekniikka (Sähkömekaniikka) Työn valvoja: Professori Tapani Jokinen
Työn tavoite on tutkia mahdollisuutta yhdistää kaupallinen piirisimulaat
tori FCSMEK-elementtiohjelmaan yhdistetyn kenttä- ja piiriongelman rat
kaisemista varten sekä vertailla eri piirisimulaattoreiden soveltumista tähän tarkoitukseen. Ohjelmien yhdistämisellä pyritään helpottamaan sähkökonei
den ja tehoelektronisten piirien muodostamien kokonaisuuksien mallinnusta ja simulointia, mikä on tähän mennessä vaatinut kokonaan uusien ohjelmien kirjoittamista.
Työssä käsitellään teoreettisesti kenttä- ja piiriyhtälöiden kytkentää sekä eri
laisia toteutustapoja, joita ovat sijaiskytkentöjen, moniporttipiirien ja oh
jattavien lähteiden käyttäminen. Työssä tarkastellaan neljää eri piirisimu
laattoria ja erityisesti niiden ohjelmoitavuutta sekä soveltuvuutta yhteistoi
mintaan FCSMEKm kanssa. Tutkittavat simulaattoriohjelmat ovat PSpice, Aplac, Saber sekä Matlab, ja niitä on tutkittu käyttöohjeiden tai muun läh
dekirjallisuuden avulla. Käytännön kokeita ei työn yhteydessä ole suoritettu.
Yhdistämisen merkittävimpiä ongelmia ovat luotettavan yhteistoiminnan ai
kaansaaminen ohjelmien välille sekä simuloinnin vaatima aika, jota kasvatta
vat pääasiassa moninkertainen iterointi ja tiedonsiirto ohjelmalta toiselle. Pii
risimulaattoreista parhaat mahdollisuudet tarjoavat Saber ja Matlab, mutta myös Aplacin ja PSpicen soveltaminen on mahdollista. Suurimmat erot pii
risimulaattoreiden välillä ilmenevät ohjelmoitavuudessa ja mahdollisuuksissa mukauttaa toimintaa käyttäjän tarpeisiin.
Avainsanat: elementtimenetelmä, modifioitu solmupistemenetelmä, piirisimulaattori, yhdistetty kenttä- ja piiriongelma
Helsinki University of Technology Abstract of the Master’s Thesis Author:
Name of the Thesis:
Sami Kanerva
Usage of circuit simulator in conjunction with finite element method
Date: [£,.¿£.1999 Number of Pages: 48
Faculty:
Professorship:
Electrical and Communications Engineering S-17 Electrical Engineering (Electromechanics) Supervisor: Professor Tapani Jokinen
Aim of this thesis is to study the possibility to combine a commercial circuit simulator with finite element method application FCSMEK for solving coupled field-circuit problems, and to compare the convenience of different circuit sim
ulators for this purpose. Combination of the two programs aims at facilitating the modeling and simulation of electrical machines connected with power elec
tronic circuits. Until now one has been forced to write the whole program for this purpose.
In this thesis a theoretical approach is presented to the coupling of field and circuit equations and different ways to implement the combinations, namely equivalent circuits, multiport circuits and controllable sources. Four different circuit simulators are studied focusing especially on their programmability and suitability for co-operation with FCSMEK. The studied circuit simulators are PSpice, Aplac, Saber and Matlab, and the study is based on the user’s manuals and other reference material. Experimental testing is not included in this study.
The most remarkable problems associated with implementing the combination of the programs are accomplishing reliable co-operation between the programs and the time required for the simulation, which is mainly increased by multiple iteration and data transfer. The best possibilities for the co-operation are presented by Saber and Matlab, but the implementation is also possible with Aplac and PSpice. The greatest differences between the circuit simulators occur in programmability and ability to be modified for the user’s needs.
Keywords: finite element method, modified nodal analysis, circuit simulator, coupled field-circuit problem
Sisältö
Alkusanat 3
Käytetyt merkinnät ja symbolit 4
1 Johdanto 6
1.1 Taustaa... 6
1.2 Aiheesta tehtyä tutkimusta... 6
1.3 Tarkoitus ja tavoitteet... 7
2 Kenttä- ja piiriyhtälöiden ratkaisu 9 2.1 Kentän ratkaiseminen elementtimenetelmällä... 9
2.1.1 Johtimet magneettikentässä... 10
2.1.2 Yhtälöt matriisimuodossa... 11
2.2 Piiriyhtälöiden ratkaiseminen ... 12
3 Ongelman numeerinen ratkaiseminen 14 3.1 Yleistä... 14
3.2 Askelmenetelmät... 14
3.2.1 Eulerin menetelmät... 15
3.2.2 Trapetsimenetelmä ja Crank-Nicholson... 15
3.2.3 Korkeamman asteen menetelmät ... 16
3.3 Newton-Raphsonin iteraatio... 16
3.4 Lineaaristen matriisiyhtälöiden ratkaiseminen ... 17
3.4.1 Gaussin eliminointi... 17
3.4.2 Z-tZ-faktorointi ja Choleskyn menetelmä... 19
3.4.3 Harvamatriisimenetelmät... 19
3.4.4 Minimointimenetelmät... 20
4 Kenttä- ja piiriyhtälöiden yhdistäminen 22 4.1 Heikko, suora ja epäsuora kytkentä... 22
4.1.1 Heikko kytkentä... 22
4.1.2 Suora kytkentä... 23
4.1.3 Epäsuora kytkentä... 23
4.2 Ratkaisun osa-alueet ja muuttujien valinta... 23
4.2.1 Vektoripotentiaalit... 24
4.2.2 Sähköinen piiri... 24
4.2.3 Magneettikentän johtimet... 25
4.3 Tehtävien jako ja käytännön toteutus... 25
4.3.1 Analoginen sijaiskytkentä ... 25
4.3.2 Moniporttipiiri... 26
4.3.3 Ohjattavat lähteet ... 26
4.4 Ohjelmointi... 27
4.4.1 Jako erillisille prosessoreille ... 27
4.4.2 Jaetun muistin käyttäminen... 28
4.4.3 Käyttöliittymä... 28
4.5 Käytännön testaus... 29
5 Piirisimulaattorit 30 5.1 Yleistä... 30
5.2 PSpice... 30
5.2.1 Toiminta... 31
5.2.2 Mallit... 31
5.2.3 Muuttujat... 32
5.2.4 Herätteiden muotoilu... 32
5.2.5 Yhteiskäyttö FCSMEKm kanssa... 32
5.3 Aplac ... 33
5.3.1 Toimintaperiaate... 33
5.3.2 Mallinnus... 34
5.3.3 Muuttujat ja funktiot... 34
5.3.4 Yhteiskäyttö FCSMEKm kanssa... 35
5.4 Saber... 35
5.4.1 Toimintaperiaatteet... 36
5.4.2 Mallinnus... 36
5.4.3 Muuttujat ja funktiot... 37
5.4.4 Yhteiskäyttö FCSMEKm kanssa... 37
5.5 Matlab ja Simulink... 38
5.5.1 Ominaisuuksia ... 38
5.5.2 Matlabin yhdistäminen omiin ohjelmiin...39
5.5.3 Simulink... 39
5.5.4 Power System Blockset -kirjasto... 39
5.5.5 Yhteiskäyttö FCSMEKm kanssa...40
5.6 Yhteenveto ... 40
6 Yhteenveto ja johtopäätökset 42 6.1 Yhdistetty ongelma ja sen ratkaiseminen... 42
6.2 Piirisimulaattorin yhdistäminen FEM-ohjelmaan... 42
6.3 Sopivan piirisimulaattorin valinta... 43
6.4 Jatkotutkimus... 45
Alkusanat
Tämä työ on tehty Teknillisen korkeakoulun Sähkömekaniikan laboratoriossa.
Työ käsittelee sähkökoneiden ja niihin kytkettyjen tehoelektronisten piirien mallinnusta ja simulointia yhtenä kokonaisuutena elementtimenetelmäohjel
maa sekä kaupallista piirisimulaattoria käyttäen.
Haluan kiittää erityisesti professori Tapani Jokista haastavasta ja mielenkiin
toisesta aiheesta sekä mahdollisuudesta jatkaa tutkimustyötä Sähkömekanii
kan laboratoriossa jatkossakin. Lisäksi kiitän TkT Antero Arkkiota ja TkT Juhani Tellistä arvokkaista neuvoista ja kommenteista sekä muuta laborato
rion henkilökuntaa piristävän työympäristön luomisesta.
Espoossa M. 10.1999
Sami Kanerva
Käytetyt merkinnät ja symbolit
A A a a В b c D d m
/(*)
/Cu
G{
Gs 9 H{
H s h
if is i J{x) J J j L l
rriij
N Ni N3 Пт Qf r
s
S
yleinen n x n-matriisi
magneettikentän vektoripotentiaali
magneettikentän vektoripotentiaalin г-komponentti magneettikentän vektoripotentiaalin solmuarvovektori piiriyhtälöiden ratkaisussa tarvittava osamatriisi yleinen n-alkioinen vektori
piiriyhtälöiden ratkaisussa tarvittava osamatriisi piiriyhtälöiden ratkaisussa tarvittava osamatriisi
etenemlssuuntavektori konjugaattigradienttimenetelmässä yleinen funktio
yleinen vektorimuotoinen funktio täytekerroin
käämijohtimien konduktanssimatriisi
massiivisten johtimien konduktanssimatriisi piiriyhtälöiden ratkaisussa tarvittava lähdevektori käämijohtimiin liittyvä kytkentämatriisi
massiivisiin johtimiin liittyvä kytkentämatriisi aika-askeleen pituus
piiriyhtälöiden tuntemattomat virrat käämijohtimen virtavektori
massiivisen johtimen virtavektori virta
Jacobin matriisi virrantiheys
virrantiheyden г-komponentti virtalähdevektori
alakolmiomatriisi johtimen pituus
Choleskyn matriisin alkio
käämijohtimen johdinkierrosten lukumäärä
elementtimenetelmän solmuun i liittyvä muotofunktio symmetriasektoreiden lukumäärä kentän ratkaisussa elementtimenetelmän solmujen kokonaismäärä elementtimenetelmän vapaiden solmujen lukumäärä käämijohtimiin liittyvä kytkentämatriisi
gradienttivektori
reaktiivisuuteen liittyvä matriisi johtimen poikkipinta-ala
T t и
ux¡ Uy, uz
и
Un
Uf Us X
X, y, Z
Y Yr
pyörrevirtoihin liittyvä matriisi aika
yläkolmiomatriisi
karteesisen koordinaatiston yksikkövektorit jännite
solmupistej ännitteistä koostuva vektori käämijohtimen jännitevektori
massiivisen johtimen jännitevektori tuntematon vektori
karteesiset koordinaatit admittanssimatriisi
redusoitu admittanssimatriisi
an askel väli konjugaattigradienttimenetelmässä
ßn etenemissuunnan kerroin konjugaattigradienttimenetelmässä /?s funktio, jolla huomioidaan käämijohtimen virran suunta Д differenssi
ф sähkökentän skalaaripotentiaali и reluktiivisuus
o johtavuus
Q kenttäyhtälöiden ratkaisualue
Numeeristen menetelmien yhteydessä alaindeksillä kuvataan aika-askelta ja yläindeksillä iterointiaskelta. Suluissa oleva yläindeksi merkitsee eliminointi- kierrosta lineaaristen yhtälöryhmien ratkaisussa.
1 Johdanto
1.1 Taustaa
Sähkökoneiden mallinnuksessa käytetään yleisesti elementtimenetelmää, jol
la pystytään huomioimaan magneettisen materiaalin epälineaarisuus sekä johtimien pyörrevirrat huomattavasti paremmin kuin perinteisillä sijaiskyt- kentään perustuvilla mallinnustavoilla. Sähköiset piirit, joihin edellämaini
tut piirteet eivät vaikuta, mallinnetaan taas piirianalyysin keinoin. Useissa käytännön sovelluksissa sähkökone on kytketty tehoelektroniseen piiriin ja on tarpeen mallintaa"näiden yhteisvaikutusta. Tällöin parhaaseen tulokseen päästään yhdistämällä elementtimenetelmä ja piirianalyysi keskenään.
Tällaisen ns. yhdistetyn ongelman ratkaisuun on kehitetty monia menetel
miä, jotka yleensä edellyttävät oman ratkaisuohjelman tekemistä. Näitä oh
jelmia on käytössä yliopistoilla ympäri maailman, mutta tiettävästi yhtään kaupallista ohjelmaa ei ole vielä olemassa. FEM-ohjelmia ja piirisimulaat- toreita on käytetty yhdessä staattisen ongelman ratkaisuun, mutta aika- askelmenetelmiä käytettäessä tarvitaan huomattavasti nopeampia ratkaisuja.
1.2 Aiheesta tehtyä tutkimusta
Piiriyhtälöiden yhdistämistä elementtimenetelmään on tutkittu jo 1970- luvulta lähtien, mutta pyörrevirtoja yhdistetyissä ongelmissa huomioitiin vas
ta 1980-luvulla. Yleensä kenttä- ja piiriyhtälöt on ratkaistu samassa yhtälö
ryhmässä eli ns. suorilla menetelmillä [1][11][15][16], koska sitä on yleisesti pidetty nopeimpana keinona. Epäsuoria menetelmiä, joissa magneettikentän yhtälöt ratkaistaan ainakin osittain erillään piiriyhtälöistä, on tutkittu vä
hemmän [2][17|. Suurimmassa osassa menetelmistä pohjaudutaan perintei
siin elementtimenetelmän yhtälöihin ja Newton-Raphsonin iteraatioon.
Kokonaan toisenlainen lähestymistapa on elementtimenetelmän mallintami
nen sähköisellä sijaiskytkennällä, esim. [9], jolloin koko ongelma ratkais
taan piirisimulaattorilla. Tällöin tarvitaan jonkinlainen välipiiri yhdistämään kenttä- ja piirikytkennät, mutta muuten toteutus on yksinkertainen. Viittees
sä [5] esitetään siirtojohtomallinnuksen (TLM) soveltamista pyörrevirtaon- gelmien ratkaisuun. Tällöin elementtiverkosta muodostetaan sijaiskytkentä, joka puolestaan mallinnetaan häviöttömien siirtojohtojen ja epälineaaristen resistanssien avulla. Menetelmä on huomattavan nopea, mutta hiukan epä
tarkempi verrattuna perinteisiin elementtimenetelmän ratkaisumenetelmiin.
Viitteessä [6] esitetään täysin muista poikkeava tapa yhdistää kenttä- ja piiriyhtälöt. Topologinen menetelmä perustuu graafiteorian mukaiseen verk
koon, jossa magneettikentän johtimien jännitteet ja virrat kuvataan solmuina ja niiden väliset vaikutussuhteet nuolina solmujen välillä. Verkkoa muokataan tiettyjen sääntöjen mukaan ja siitä muodostetaan matriisiyhtälöryhmä, jo
ka on pienempi kuin perinteisillä menetelmillä. Menetelmä on suoraviivainen ja toimintavarma, mutta sitä ei ole vielä kehitetty aika-askelmenetelmälle sopivaksi.
Tämän työn pääasiallisena lähteenä käytetään Janne Väänäsen väitöskirjaa [17] vuodelta 1995, jossa kenttä- ja piiriyhtälöt ratkaistaan epäsuorasti, mut
ta kuitenkin tehokkaasti. Menetelmän idea on mallintaa magneettikentän osuus moniporttisena piirielementtinä, joka sijoitetaan silmukkamenetelmäl- lä ratkaistaviin piiriyhtälöihin. Vain vektoripotentiaalit ratkaistaan muista yhtälöistä erillään ja niiden ratkaisussa tarvitaan vain yhden Jacobin matrii
sin muodostaminen sekä takaisinsijoitukseen perustuva lineaarisen yhtälöryh
män ratkaisu. Menetelmä on samanarvoinen vastaavien suorien menetelmien kanssa mutta ei sovellu sellaisenaan kaupallisille piirisimulaattoreille, koska nämä käyttävät modifioitua solmupistemenetelmää (ks. 2.2).
Lisäksi mainitsemisen arvoinen on myös viitteessä [3] esitetty sähkökoneen taulukointimenetelmä. Elementtimallia simuloidaan aluksi mahdollisimman monella eri virralla ja roottorin asennolla, minkä perusteella voidaan muo
dostaa taulukko kuvaamaan koneen käyttäytymistä. Tätä taulukkoa voidaan hyödyntää piirisimulaattorissa tehokkaasti ja yksinkertaisesti. Luonnollises
ti menetelmä soveltuu lähinnä suuntaajien suunnitteluun, kun sähkökoneen tyyppi ja mitat ovat tiedossa.
1.3 Tarkoitus j‘a tavoitteet
Tässä työssä tutkitaan erilaisia keinoja TKK:n sähkömekaniikan laborato
rion FCSMEK-ohjelman soveltamiseksi yhdessä kaupallisten piirisimulaat- toreiden kanssa yhdistetyn kenttä- ja piiriongelman ratkaisuun aikatasossa.
Tällöin tehoelektroniikan komponenteille on käytettävissä huomattavan laaja kirjasto, josta käyttäjä voi valita tilanteeseen sopivan mallin. Lisäksi järjestel
män päivitys sujuu helpommin, kun uusien ohjelmistoversioiden ilmestyessä muutoksia tarvitsee tehdä vain niiden väliseen rajapintaan.
Tavoitteena on selvitystyön tekeminen myöhempää tutkimusta varten, kos
ka aihe on kokonaisuudessaan huomattavasti diplomityötä laajempi. Työn perusteella on tarkoitus valita yksi tai useampia vaihtoehtoja, joita ryhdy
tään kehittämään edelleen valmiiksi kokonaisuudeksi. Tässä työssä ei siten paneuduta algoritmeihin tai ohjelmointiin, vaan pohditaan tapoja yhdistää kenttä- ja piiriyhtälöt keskenään sekä tutkitaan kaupallisten piirisimulaatto- reiden tarjoamia mahdollisuuksia.
Aluksi esitellään lyhyesti, kuinka toisistaan riippumattomat kenttä- ja pii
riyhtälöt ratkaistaan useimmissa käytettävissä ohjelmissa, ja sen jälkeen hah
motellaan varsinaista yhdistettyä ongelmaa ja vaihtoehtoja tämän ratkaise
miseen. Lopuksi tarkastellaan muutamien kaupallisten piirisimulaattoreiden (PSpice, Aplac, Saber, Matlab) toimintaa ja soveltuvuutta yhdistetyn ongel
man ratkaisuun yhdessä FCSMEK-ohjelman kanssa.
2 Kenttä- ja piiriyhtälöiden ratkaisu
Tässä luvussa käsitellään lyhyesti 2-ulotteisen magneettikentän yhtälöiden muodostusta ja ratkaisua elementtimenetelmällä. Tarkempi kaavojen johta
minen on esitetty mm. viitteissä [12] ja [17]. Lisäksi mukana on katsaus mo
difioituun solmupistemenetelmään [8], jota käytetään yleisesti kaikissa tun
netuimmissa piirianalysaattoriohj elmissa.
2.1 Kentän ratkaiseminen elementtimenetelmällä
Sähkökoneiden yhteydessä käytettävillä taajuuksilla siirtymävirrantiheys on olematon, joten se voidaan jättää huomioimatta. Tällöin, ns. kvasistaattisessa tapauksessa vektoripotentiaalille A ja virrantiheydelle J pätee
V x (zA7 xA) = J (1)
joka yksinkertaistuu kaksiulotteisessa tapauksessa muotoon
-V • (z/VA) = J (2)
Vektoripotentiaali korvataan elementtimenetelmässä approksimaatiolla
A = YjNJaJ (3)
j=i
jossa Nj — Nj(x,y) on solmuun j liittyvä muotofunktio a.j = aj(t) on vektoripotentiaalin arvo solmussa j пт on solmupisteiden kokonaismäärä
Joidenkin solmujen vektoripotentiaalit voidaan usein asettaa nolliksi reu
naehtojen ja alkuarvojen perusteella, jolloin kyseisiä solmuja ei tarvitse huo
mioida kaavassa (3), vaan пт korvataan vapaiden solmujen lukumäärällä nt.
Yhtälöstä (2) saadaan Galerkinin menetelmällä solmun i kenttäyhtälöksi
NiJdQ (4)
missä Q on koko ratkaistavan alueen ala. Yhtälön (4) oikeanpuoleisen termin määräävät alueen Í2 virtoja sisältävät alueet eli sähkökoneen johtimet. Näistä kerrotaan tarkemmin seuraavassa kohdassa.
2.1.1 Johtimet magneettikentässä
Sähkökoneiden johtimet voidaan jakaa massiivisiin sekä ohuisiin johtimiin.
Massiivisissa johtimissa, kuten oikosulkumoottorin roottorisauvoissa, pyörre- virrat ovat merkittäviä, kun taas ohuiden johtimien virrantiheys voidaan olet
taa tasaisesti jakautuneeksi. Aivan suurimpia koneita lukuunottamatta staat- torikäämitys mallinnetaan yleensä ohuista johtimista muodostuvaksi käämi- johtimeksi. Tätä tapaa on käytetty myös tässä työssä.
Virtojen ja jännitteiden keskinäinen riippuvuus johdinmateriaalissa, jonka johtavuus on a, saadaan yhtälöstä
J = - <rV0 (5)
jossa A on magneettikentän vektoripotentiaali, ф sähkökentän skalaaripoten- tiaali ja J virrantiheys. Kaksiulotteisessa mallissa A = Auz ja J = Juz ovat kumpikin z-akselin suuntaisia ja ф on muotoa
Ф = ~JZ + Фо (6)
kun и on johtimen päiden välinen jännite ja l johtimen pituus. Integroimalla virrantiheyttä johtimen poikkipinta-alan S yli yhtälöistä (5) ja (6) voidaan johtaa yleinen yhtälö virralle i:
i = ~CT/§rdS + T“ (7)
s
Yhtälö (7) pätee massiivisille johtimille lähes sellaisenaan. Kun siihen sijoite
taan elementtimenetelmän approksimaatio (3), saadaan massiivisen johtimen m virralle zsm ja jännitteelle itsm yhtälö
¿ ^JvsmNj dfi
(8)
jossa Sm on johtimen poikkipinta-ala ja am johtavuus.
Käämijohtimissa kierroksia on N kpl ja johtimen jännite on yksittäisten joh- dinjännitteiden summa. Kuitenkin symmetrian vuoksi mallinnetaan usein vain osa moottorista, mikä huomioidaan kertomalla jännite symmetriasekto- reiden lukumäärällä Ns. Kun käämijohtimen k poikkipinta-ala on Sk johta
vuus ak ja täytekerroin /Cu, saadaan yhtälöistä (3) ja (7) riippuvuus johtimen
virralle ifk ja jännitteelle Щк [17]
Uк fcuVk
Ns (n+ + n-) (9)
jossa n+, n~ ovat positiivisesti ja negatiivisesti suuntautuneiden johti
mien lukumäärä sektorissa
/3® saa arvon ± 1 riippuen virran suunnasta johtimeen nähden 2.1.2 Yhtälöt matriisimuodossa
Kun alueessa Q on ns massiivista ja щ käämijohdinta, yhtälö (8) tai (9) muo
dostetaan jokaiselle näistä erikseen. Tällöin saadaan kaksi matriisiyhtälöä:
is = ~HS ^-a + Gsus (10)
if = —Hf—a + GfUf
ot (H)
joissa matriisien Hs ja H f dimensiot ja nollasta poikkeavat alkiot ovat dim(iTs) = ns x n f ¡ HSTnj — J" Nj(Tsm dÇï
Sm
dim(iTf) = щ x nt; Hfkj = Jß^Nj dii
sk
Konduktanssimatriisit Gs ja G f ovat diagonaalimatriiseja, joiden dimensiot ja nollasta poikkeavat alkiot ovat
dim(Gs) — tis x ns; Gsmm - dim(Gf) = nf x nf; G«* =
G sm S n
/cuöfjfcSfc iVs (n+ + n-) jVZ
Myös kenttäyhtälö (4) voidaan saattaa matriisimuotoon niin, että siinä huo
mioidaan erilaiset johtimet ja näiden piirisuureet ts. virrat ja jännitteet. Sen oikeanpuoleisen, virrantiheyden J sisältävän termin muoto riippuu täysin
johdintyypistä. Massiivisissa johtimissa pyörrevirrat on otettava huomioon, jolloin oikeanpuoleiseksi termiksi saadaan kaavoista (3), (4), (5) ja (6)
jNiJdn = -jr (jaMNjdn) ^ + dQ (12)
Sm j ^ XSm / Sm
Käämijohtimissa virta oletettiin tasaisesti jakautuneeksi, joten vastaava ter
mi on tällöin yksinkertaisempi:
/
NiJ dQ = (13)Nyt yhtälöistä (4), (12) ja (13) saadaan
jossa
5(a)a + T-^-a - Qfii -
Hjus = 0
dim (5(a)) = nt x nt S(a)ij = J »VN, n dim(T) = nt x nt Tij = JaNiNjdü
n
dim(Qf) = nt x rif Quk=yjNidtt
sk
(14)
Tässä vaiheessa ei vielä puututa yhtälöryhmien ratkaisemiseen eikä aikariip
puvuuden mallinnukseen. Yhtälöt (10), (11) ja (14) ovat magneettikentän yhtälöitä, joissa muuttujia ovat virrat, jännitteet sekä vektoripotentiaalit.
Siitä, miten nämä voidaan yhdistää seuraavaksi esitettäviin piiriyhtälöihin, kerrotaan luvussa 4.
2.2 Piiriyhtälöiden ratkaiseminen
Kuten edellä on jo todettu, lähes kaikissa kaupallisissa piirisimulaattoreis
sa sovelletaan modifioitua solmupistemenetelmää piiriyhtälöiden ratkaisuun.
Erona perinteiseen solmupistemenetelmään on jännitelähteiden ja dynaamis
ten komponenttien tehokkaampi käsittely. Menetelmän lähtökohtana on line
aarisia konduktanssej a ja riippumattomia virtalähteitä sisältävän piirin yh
tälö, joka on samanlainen perinteisen solmupisteyhtälön kanssa:
Yun = j (15)
jossa Y on admittanssimatriisi, un solmupistejännitteistä koostuva vektori ja j virtalähdevektori. Muunlaiset komponentit huomioidaan modifioimalla admittanssimatriisin ja lähdevektorin termejä tai lisäämällä yhtälöitä. Tar
kempi kuvaus em. toimenpiteistä on esitetty viitteessä [8].
Yhtälöryhmän (15) ratkaisu tuottaa siis ennestään tuntemattomat solmujän- nitearvot riippumattomien virtalähteiden perusteella. Mikäli piirissä on ka
pasitansseja, ne voidaan sisällyttää admittanssimatriisiin, mutta jänniteläh
teet, virtaohjatut lähteet sekä induktanssit vaativat tuntemattomien .virtojen ratkaisua ja siten yhtälöiden lisäämistä. Tällöin ratkaistava yhtälöryhmä on muotoa
"Yr В Un 3
C D a_
jossa Yr on redusoitu admittanssimatriisi sekä B, C, D ja g sisältävät mo
difioinnin tuloksena syntyneitä lisätermejä. ¿ь koostuu edellämainituista tun
temattomista virroista. Yksinkertaisesta merkintätavasta huolimatta yhtälö (16) voi sisältää differentiaaleja ja hyvinkin voimakkaita epälineaarisuuksia.
Muuttujia tarvitaan enemmän kuin perinteisessä solmupistemenetelmässä, sillä jokaisen jännitelähteen tai induktanssin mallinnus vaatii yhden tunte
mattoman virran ottamista muuttujaksi. Tämä luonnollisesti kasvattaa ker- roinmatriisin kokoa ja hidastaa ratkaisua, joten mallinnuksessa kannattaa välttää jännitelähteitä ja muuttujiksi kannattaa valita mahdollisimman vä
hän virtoja. Tähän palataan vielä tarkemmin luvussa 4, kun pohditaan eri
laisia tapoja yhdistää magneettikenttien ja sähköisten piirien analyysit kes
kenään.
3 Ongelman numeerinen ratkaiseminen
3.1 Yleistä
Edellisessä luvussa esitetyt yhtälöt (10)-(16) ovat epälineaarisia differentiaa
liyhtälöryhmiä, joiden kertoimet sisältävät integraalitermejä. Niiden ratkaise
minen suljetussa muodossa ei ole mahdollista eikä edes tarkoituksenmukaista, joten ratkaisua on haettava numeerisesti tietokoneella. Tämänkaltaisen on
gelman numeerinen ratkaisu voidaan jäsentää systemaattisesti kolmeen eri tasoon:
- aikariippuvuuden mallintaminen - linearisointi
- lineaarisen yhtälöryhmän ratkaisu
Aikariippuvuuden mallintaminen on ylimmän tason tehtävä, koska ratkai
sussa yleensä olennaisinta on selvittää systeemin käyttäytyminen tietyn ajan kuluessa. Toisaalta aikariippuvuuden mallinnus tarkoittaa käytännössä de
rivaattojen eliminointia yhtälöistä, jonka jälkeen ratkaistavana on enää ta
vallinen epälineaarinen yhtälöryhmä. Sinimuotoisten herätteiden tapauksessa derivaatat voidaan korvata kompleksisella osoittimella ju ja yleisessä tapauk
sessa askelmenetelmällä eli peräkkäisten yhtälöiden sarjana, jossa derivaatat korvataan edellisten askeleiden perusteella lasketuilla funktioilla.
Kun derivaatoista on päästy eroon, ratkaistavana on epälineaarinen yhtälö
ryhmä. Ratkaisua etsitään tällöin linearisoimalla yhtälöt pienellä välillä ja korjaamalla näin saatuja kertoimia, kunnes ratkaisu on riittävän tarkka. Tätä menettelyä kutsutaan yleensä iteraatioksi.
Iteraatiokierroksella syntyvän lineaarisen yhtälöryhmän ratkaisu on jo varsin suoraviivaista. Menetelmät ovat varmoja, mutta ratkaisun nopeus voi vaih
della merkittävästi kerroinmatriisin ominaisuuksista riippuen.
3.2 Askelmenetelmät
Tehoelektroniikan kytkeminen sähkökoneeseen aiheuttaa sen, ettei herättei
tä enää voida pitää sinimuotoisina eikä edes säännöllisenä Fourier-sarjana, vaan systeemin käyttäytyminen täytyy mallintaa yksi aika-askel kerrallaan.
Yleisesti askelmenetelmät perustuvat derivaatan eliminoimiseen edellisen as
keleen aikana laskettujen arvojen perusteella, missä lähtökohtana käytetään Taylorin sarjakehitelmää
f(t + At) = f(t) + At— + - (At) ¿¡r + g(Ai) ~fa3+--- (17) Menetelmän asteluku määräytyy sen mukaan, kuinka suuri sen aiheuttama virhe on, esimerkiksi ensimmäisen asteen menetelmässä virhe on suuruus
luokkaa (At)2, toisen asteen menetelmässä (Ai)3 jne. Menetelmä on siis sitä tarkempi mitä suurempaa astetta se on, ja samalla myös pidemmän aika- askeleen käyttö on mahdollista. Kuitenkin asteluvun kasvattaminen vaatii luonnollisesti enemmän laskentakapasiteettia ja saattaa aiheuttaa joissakin tapauksissa stabiilisuusongelmia, joten askelmenetelmän valintaa on aina tar
kasteltava tapauskohtaisesti.
3.2.1 Eulerin menetelmät
Eulerin eksplisiittinen ja implisiittinen menetelmä ovat ensimmäisen asteen menetelmiä, ja ne voidaan johtaa suoraan Taylorin sarjakehitelmästä (17).
Kun aika-askeleen pituus on h, eksplisiittisen Eulerin menetelmän kaava on
fk = fk-i + hî'k-\ (18)
jossa alaindeksi merkitsee aika-askeletta ja pilkku derivointia. Implisiittinen menetelmä eroaa edellisestä siten, että derivaattana käytetään askeleen k derivaattaa, joka on vielä toistaiseksi tuntematon. Implisiittinen Eulerin me
netelmä kuvataan siis kaavalla
fk — fk-1 + hfl (19)
Käytännössä implisiittinen menetelmä on näistä kahdesta käytetympi parem
man stabiilisuutensa vuoksi.
3.2.2 Trapetsimenetelmä ja Crank-Nicholson
Eulerin menetelmien virhettä voidaan pienentää korvaamalla funktion en
simmäinen derivaatta kahden peräkkäisen askeleen derivaattojen keskiarvol
la. Menetelmää kutsutaan trapetsimenetelmäksi ja se määritellään yhtälöllä
t+h
j nt) a* = nt +л) -/(() = J (/;+/;+,) (20)
t
Differentiaaliyhtälöiden ratkaisussa usein summataan peräkkäisten askelei
den k - 1 ja k yhtälöt ja sijoitetaan tähän yhtälöstä (20) johdettu approksi
maatio
f'k + fUl = l (Л - Л-1) (21)
Tätä tapaa kutsutaan Crank-Nicholsonin menetelmäksi, joka on korkeampaa astetta kuin Eulerin menetelmät.
3.2.3 Korkeamman asteen menetelmät
Edellä esitetyt askelmenetelmät ovat yleensä riittäviä, kun ongelmaa mal
linnetaan elementtimenetelmällä tai modifioidulla solmupistemenetelmällä.
Mikäli yksinkertaisiin tehtäviin haetaan mahdollisimman tarkkoja ratkaisu
ja, saatetaan tarvita myös korkeamman asteen menetelmiä. Niihin ei kuiten
kaan paneuduta tässä, vaan viitataan lähdekirjallisuuteen [10].
3.3 Newton-Raphsonin iteraatio
Epälineaaristen yhtälöiden ratkaisuun on olemassa monia eri menetelmiä, joista Newton-Raphsonin iteraatio on selvästi käytetyin. Siinä epälineaarinen yhtälöryhmä esitetään muodossa
f{x) = 0 (22)
ja ratkaisuna etsitään funktion f nollakohtaa x0. Ensin arvataan æ1 ja las
ketaan /:n arvo tässä pisteessä, joka ei välttämättä ole lähelläkään nollaa.
Tämän jälkeen ratkaisun etsimistä jatketaan kaavalla xn = x
jossa J(x"-1
J{xn~l
/(x"-1) (23)
Jacobin matriisi
■¿r/iO*'1-1) ¿/li*"-1) • • A/li*"-1)' Å/2^-1) • • A/2^-1)
(24) .*/» O*”"1) ¿/nix"“1) ’
Iterointia jatketaan, kunnes peräkkäisten iterointitulosten erotus xn — xn 1 on riittävän pieni. Tällöin ratkaisu on x0 ~ xn halutulla tarkkuudella.
Newton-Raphsonin iteraatio suppenee neliöllisesti aina, kun alkuarvo on riit
tävän lähellä ratkaisua [4], mikä käytännössä toteutuu helposti järkeviä aika- askeleita käytettäessä. Tehoelektroniikan komponenttien, kuten diodien, ty
ristorien ja transistorien, yhteydessä saattaa ilmetä ongelmia kytkentähet- kien aikana, kun komponentin tila muuttuu äkillisesti askeleiden välillä eikä Jacobin matriisia ole vielä päivitetty uutta tilaa vastaavaksi. Tilannetta voi
daan parantaa esimerkiksi rajoittamalla æ:n sallittua askelmuutosta tai ly
hentämällä aika-askeleen pituutta kytkentähetkien aikana [17]. Askeleen ly
hentäminen muutenkin vähentää iteraatiokierroksia, mutta lisää tarvittavien askelten määrää ja kasvattaa siten kokonaislaskenta-aikaa.
3.4 Lineaaristen matriisiyhtälöiden ratkaiseminen
Jokainen iteraatioaskel tuottaa ratkaistavaksi lineaarisen yhtälöryhmän, jo
ten näiden lukumäärä voi kasvaa huomattavan suureksi yksinkertaisenkin tehtävän tapauksessa. Siksi ei ole aivan yhdentekevää, miten nämä yhtä
löt ratkaistaan ja kuinka paljon laskutoimituksia ratkaisualgoritmit vaati
vat. Yhtälöryhmä voidaan ratkaista joko suorilla eliminointimenetelmillä tai matriisien eri ominaisuuksia hyödyntävillä iteratiivisilla menetelmillä.
3.4.1 Gaussin eliminointi
Kun yhtälöryhmässä on kohtuullinen määrä muuttujia eikä kerroinmatriisin ominaisuuksista ole tietoa, on systemaattinen Gaussin eliminointimenetelmä yleensä varsin käyttökelpoinen. Se perustuu muuttujien eliminointiin sum- maamalla sopivasti skaalattuja yhtälöitä toisiinsa. Ratkaistava matriisiyhtä- lö on muotoa
Ax = b (25)
jossa A on n x n-ulotteinen matriisi ja b n-ulotteinen vektori. Muuttujat eliminoidaan saattamalla matriisi A yläkolmiomuotoon tuennan avulla. Yh
tälöistä yksi valitaan tukiyhtälöksi, joka on muotoa
anil + Ö12^2 + ■ ■ ■ + Qin^n = (26)
(27) (28) Muiden yhtälöiden kertoimet Oy ja korvataan uusilla kertoimilla
ai/ ~ °v &П<1 ij
an bm = 6 _ îiA
Oli
ifj — 2,3, n 2 — 2, 3, . . . , 72
Tämän jälkeen хг:п kertoimet ovat nollia tukiyhtälöä lukuunottamatta. Seu- raavaksi toinen yhtälö otetaan tukiyhtälöksi ja sama käsittely toistetaan il
man ensimmäistä yhtälöä. Näin käydään läpi koko yhtälöryhmä, kunnes yh
tälö on muotoa
Oli a12 Qln Xl ■ bi ■
0 a(1)
°22 ■ •. a(1)
°2n X2
=
bW°2
. 0 0 (n—1)
‘ ' ' Onn _xn_ b(n_1)
lyn J
(29)
Eliminoinnin jälkeen tuntemattomat ratkaistaan takaisinsijoituksella, joka aloitetaan viimeisestä yhtälöstä:
xn = Kn-l)
(n—1)
<2nn
ja jatketaan yhtälö kerrallaan kohti ensimmäistä yhtälöä:
(30)
aл-i)X,-
Xi =
J=i+1
o(i-1)
2 = 72 — 1, 72 — 2, . . . , 1 (31)
Kaikki edellä kuvatut vaiheet käydään läpi riippumatta matriisin A ominai
suuksista, joten laskutoimitusten lukumäärä riippuu ainoastaan muuttujien lukumäärästä тг. Eliminointivaiheessa laskutoimituksia tarvitaan n. |t23 kpl ja takaisinsijoitusvaiheessa n. £тг2 eli yhtälöryhmän koon kasvaessa Gaussin eliminoinnin käyttäminen ei enää ole järkevää.
Menetelmän onnistuminen edellyttää, että matriisin A diagonaalialkiot ovat nollasta poikkeavia. Jos näin ei ole, tarvitsee matriisin rivejä ja sarakkeita järjestellä uudelleen, mikä puolestaan vaatii taas lisää laskutoimituksia.
3.4.2 jLE/-faktorointi ja Choleskyn menetelmä
Yhtälön (25) suoraa ratkaisua voidaan nopeuttaa faktoroimalla A ala- ja yläkolmiomatriisien tuloksi LU. Gaussin eliminointiin nähden faktoroinnin etuna on matriisien alkioiden laskeminen suoraan ilman moninkertaista eli
minointia. Näin säästetään noin puolet laskutoimitusten lukumäärästä. Ta- kaisinsijoituksessa sitävastoin joudutaan ratkaisemaan kaksi yhtälöryhmää
i Ly = b
[t/æ = У (32)
Kuitenkin suurehkoilla matriiseilla takaisinsijoituksen vaatimien laskutoimi
tusten määrä on lähes merkityksetön kerroinmatriisien muodostamiseen näh
den. Symmetriset positiividefiniitit matriisit on mahdollista faktoroida siten, että L ja U ovat toistensa transpooseja. Tätä menetelmää kutsutaan Cho
leskyn menetelmäksi ja ratkaistava yhtälö on silloin
LLTx = b (33)
Matriisin L alkioille on johdettu kaavat [10]
mn — x/öu
N
¿-1
aH -
k=\
тц = Qii тц rriij =
1 / V'
I / mikmjk
mkk
V
i — 2, ..., n
i — 2, ..., n
i = k + 1, ..., n; k > 2
(34) (35) (36) (37)
3.4.3 Harvamatriisimenetelmät
Jos ratkaistavan yhtälön kerroinmatriisi sisältää paljon nollasta poikkeavia alkioita, Gaussin eliminointi ja siihen pohjautuvat suorat ratkaisumenetel
mät teettävät paljon turhaa työtä nolla-alkioiden kanssa. Elementti- ja sol- mupistemenetelmää sovellettaessa matriisit ovat tyypillisesti hyvin suuria ja harvoja, joten järkevällä matriisien esikäsittelyllä ratkaisusta voidaan saa
da huomattavan tehokkaita suoriin ratkaisumenetelmiin verrattuna. Lisäksi menetelmissä voidaan huomioida muitakin matriisien erityisominaisuuksia, kuten vahvaa diagonaalia, symmetrisyyttä tai positiividefiniittiyttä.
Harvamatriisimenetelmissäkin yhtälö ratkaistaan joko Gaussin eliminoinnilla tai kolmiofaktoroinnilla, mutta ratkaistavat matriisit saatetaan ensin rivi- ja sarakeoperaatioilla muotoon, jossa tarvittavien laskutoimitusten lukumää
rä on mahdollisimman pieni. Faktoroinnin yhteydessä harvasta matriisista voi syntyä kaksi huomattavasti tiheämpää kolmiomatriisia ellei täytealkioi- den syntymiseen kiinnitetä riittävästi huomiota. Täytealkiolla tarkoitetaan nollasta poikkeavaa alkiota, joka syntyy faktoroinnissa kolmiomatriisiin pai
kalle, jossa alkuperäisessä matriisissa on nolla-alkio.
Toinen oleellinen ongelma suurten matriisien yhteydessä on tarvittava muis
ti. Jos kaikki alkiot sijaitsevat diagonaalin lähellä, matriisi voidaan tallet
taa tietokoneen muistiin nauhana tai osamatriiseina. Myös siksi on edullis
ta muotoilla matriiseja niin, että alkiot sijaitsevat mahdollisimman tiiviisti lähellä diagonaalia. Positiividefiniittien matriisien ratkaisua helpottaa, että täytealkioiden paikat voidaan määrittää jo ennen faktorointia ja ohjelman muistirakenteiden alustaminen on silloin yksinkertaista.
Symmetristen matriisien käsittely on huomattavasti nopeampaa ja yksinker
taisempaa kuin epäsymmetristen, jotka pyritään yleensä ryhmittelemään osa- matriiseista koostuvaksi kolmiomatriisiksi. Lopullinen ratkaisu suoritetaan ratkaisemalla osayhtälöt yksi kerrallaan ja sijoittamalla näiden ratkaisut edel
leen muihin osayhtälöihin. Ratkaisun tehokkuus riippuu tällöin oleellisesti osamatriisien määrästä, koosta ja rakenteesta, joten käytettävän ratkaisukir- jaston toimintatapa kannattaa huomioida jo yhtälöitä muodostettaessa. Esi
merkiksi FCSMEK-elementtimenetelmäohjelmassa käytettävä SPARSPAK- kirjasto hyödyntää osamatriisien symmetrisyyttä ratkaisussaan.
Enemmän harvamatriisimenetelmistä, niiden graafiteoriaan pohjautuvasta analyysistä ja erilaisista algoritmeistä on kerrottu viitteessä (14]. Tämän työn kannalta riittää yleiskatsaus ja jonkinlainen käsitys menetelmien luonteesta, mutta myöhemmin käytännön toteutuksen yhteydessä lienee syytä perehtyä aiheeseen syvällisemmin.
3.4.4 Minimointimenetelmät
Matriisin A harvuutta voidaan hyödyntää myös minimointimenetelmissä, joissa yhtälöryhmä (25) ratkaistaan etsimällä minimi funktiolle
f(x) = |itAi - xTb (38)
Matriisin A on oltava symmetrinen ja positiividefiniitti, kuten monissa muis
sakin esitetyissä menetelmissä. Yksinkertaisin minimointikeino on laskea
funktion gradientti
rn+1 = Axn+1 - b (39)
ja edetä iteratiivisesti gradientin vastaiseen suuntaan sopivalla askelvälillä.
Tällöin suppeneminen voi kuitenkin olla turhan hidasta. Kehittyneemmäs- sä konjugaattigradienttimenetelmässä etenemissuunta valitaan edellisen aske
leen ja uuden gradientin perusteella, ja tarvittava askelmäärä on jo merkittä
västi pienempi. Konjugaattigradienttimenetelmän iteraatiokierroksella xn+1 ja etenemissuuntavektori cF+l lasketaan kaavoilla
xn+1 = xn + ctñdC1
cT+1 = -rn+1 + ßn(T (40)
jossa askelväli a„ ja etenemissuunnan kerroin /?„ ovat (■rn)TcT
"" (d")TAd"
(гп+1)тА<Г*
p" (<ГУАсГ
(41)
Minimin etsimiseen voi tietysti käyttää myös systemaattiseen hakuun perus
tuvia keinoja, mutta gradienttimenetelmät toimivat usein parhaiten lineari- soitujen yhtälöryhmien tapauksessa.
4 Kenttä- ja piiriyhtälöiden yhdistäminen
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ä.
5 Piirisimulaattorit
Tämän luvun tarkoitus on käsitellä kaupallisten piirisimulaattoreiden sovel
tuvuutta yhdistetyn kenttä- ja piiriongelman ratkaisuun. Ohjelmistojen toi
mintaa ei ole syytä analysoida perinpohjaisesti, vaan seuraavassa keskitytään ainoastaan tämän työn kannalta merkittäviin ominaisuuksiin. Tarkasteltavat piirisimulaattorit ovat PSpice, Aplac, Saber ja Matlab.
5.1 Yleistä
Piirisimulaattorin soveltuvuus yhteistoimintaan FEM-ohj elman kanssa riip
puu pääasiassa sen mallinnusominaisuuksista ja ohjelmoitavuudesta. Myös nopeus on tärkeä ominaisuus, mutta käytännössä merkittävin tekijä on yh
teiskäytön toteutus, koska kaupalliset ohjelmistot on yleensä suunniteltu toi
mimaan itsenäisesti tai korkeintaan saman yrityksen ohjelmien kanssa.
Kohdassa 4.3 esiteltiin elementtiverkon korvaamista sijaiskytkennällä sekä FEM-mallin kuvaamista moniporttipiirillä ja ohjattavilla lähteillä. Jatkossa tutkitaan, millaisia mahdollisuuksia piirisimulaattorit antavat näihin mal- linnuskeinoihin. Lisäksi tutkitaan, voidaanko simulaattoria käyttää yhdessä muiden ohjelmien kanssa ja mitä toimenpiteitä se vaatii. Tärkein tutkittava ominaisuus on kuitenkin ohjelmoitavuus, koska tehokkaan toteutuksen ai
kaansaamiseksi ohjelman toimintaa on todennäköisesti muutettava. Itse käy
tännön ohjelmointikysymyksiin ei tässä työssä puututa, vaan pyritään selvit
tämään, mihin ominaisuuksiin käyttäjällä on mahdollisuus vaikuttaa.
5.2 PSpice
PSpice on OrCAD:n spice-pohjainen piirisimulaattoriohjelma, joka on suun
niteltu käytettäväksi pääasiassa muiden OrCADrn tuotteiden kanssa. Simu
laattorin lisäksi ohjelma sisältää hyvät graafiset työkalut piirien ja kompo
nenttimallien suunnitteluun, optimointiin sekä simulointitulosten analysoin
tiin. Kirjoitushetkellä uusin versio on 9.1 ja ohjelma on saatavissa vain PC- käyttöön. ABB Industry Oy käyttää PSpicea taajuusmuuttajiensa tehopii
rien simulointiin.
5.2.1 Toiminta
PSpice vaatii toimiakseen syöttötiedoston, joka sisältää simuloitavan piirin kuvauksen, sekä simulointiin liittyvät käskyt erillisessä tiedostossa. Lisäksi tarvitaan kirjastoja, joihin on talletettu käytettävien komponenttien kuvauk
set uusina malleina tai olemassa olevien mallien variaatioina ja yhdistelminä.
Jos komponenttien herätesignaali on jollakin tapaa erikoinen, myös se voi
daan tallettaa tiedostoon simuloinnin aikana luettavaksi.
Piirin kuvaus tapahtuu osien ja mallien avulla. Osat sisältävät komponent
tien n asiajärjestyksen, näiden kytkennän, käännöksen spice-formaattiin sekä linkin vastaavaan mälliin, joka puolestaan kuvaa osan sähköistä toimintaa.
Osaa ei siis voi simuloida, jos sille ei ole määritelty mallia, ja toisaalta sa
massa osassa voidaan käyttää useita eri malleja. Käytännössä osaa ja mallia ei ole tarpeen erotella toisistaan, vaan niitä voidaan käsitellä yhtenä koko
naisuutena.
Osia on kolmea lajia: passiivisia, parametristä ja toiminnallisia. Passiivi
sia osia ovat tavalliset vastukset, induktanssit, kapasitanssit ja siirtojohdot.
Parametrisiin osiin sisältyvät kaikki aktiiviset komponentit sekä passiiviset komponentit, joille on asetettu parametrejä esim. tilastolliseen hajontaan tai lämpötilakäyttäytymiseen liittyen. Toiminnalliset osat ovat matemaattisesti määriteltyjä piirejä, jotka eivät sisällä lainkaan todellisia komponentteja.
5.2.2 Mallit
Käyttäjä voi luoda mallin kahdella tavalla: modifioimalla olemassa olevaa mallia tai muodostamalla piirikaavion valmiista osista. Mallien muokkaami
nen tapahtuu muuttamalla parametrejä, jotka referenssimallille on määritel
ty. Parametrit, joille ei anneta uutta arvoa, jäävät automaattisesti ennalleen.
Jos valmiiden mallien muokkaaminen ei riitä, mallille voi myös määrittää piirikaavion. Molempia keinoja voi käyttää yhtäaikaisesti saman mallin yh
teydessä.
Mallin ei välttämättä tarvitse koostua todellisista komponenteista, vaan on mahdollista käyttää toiminnallisia malleja kuvaamaan osien toimintaa. Malli voi edustaa ns. säätöteknistä mallia, joka toimii lohkokaavion tapaan. Täl
löin tulo- ja lähtösuureet mitataan aina piirin yhteiseen maapisteeseen näh
den. Toinen vaihtoehto on piiriteoreettinen malli, jossa tulo- ja lähtösuureet ovat aina differentiaalisia. Mallien toiminta voidaan kuvata matemaattisilla yhtälöillä, Laplace-siirtofunktiona, taulukoituna funktiona aika- tai taajuus- tasossa sekä valmiista peruslohkoista koostuvana kaaviona.
Perusmallien ominaisuuksien ja rakenteen muuttaminen on mahdollista uu
delleenohjelmoinnin avulla. Samalla voidaan lisätä uusia parametrejä ja luo
da jopa täysin vanhoista malleista riippumattomia uusia malleja. Näin käyt
täjä pystyy vaikuttamaan huomattavan paljon malliensa luonteeseen ja toi
mintaan, mutta mahdollisten vikatilanteiden ja simulointiongelmien havait
seminen ja korjaaminen on tällöin työläämpää.
5.2.3 Muuttujat
Käyttäjä voi määritellä muuttujia, jotka voivat olla vakioita tai matemaatti
sia funktioita. Funktiomuotoisen muuttujan arvo lasketaan aina ensimmäisen kerran luettaessa sekä jonkin funktion parametrin arvon muuttuessa. Funk
tiot voivat sisältää valmiiksi määriteltyjen perusfunktioiden lisäksi käyttäjän itse määrittelemiään funktioita sekä ns. simulointiparametrejä, aikaa ja läm
pötilaa. Vakiomuuttujan arvoa voidaan vaihdella simuloinnin aikana ja pii
riä voidaan myös simuloida tämän muuttujan funktiona. Tällöin muuttujaa kutsutaan globaaliksi parametriksi.
5.2.4 Herätteiden muotoilu
Analogisten virta- ja jännitelähteiden herätteet ovat täysin käyttäjän muo
toiltavissa. Erilaisia vaihtoehtoja ovat eksponentiaalinen, pulssimainen, pa
loittain lineaarinen, taajuusmoduloitu sekä sinimuotoinen herätesignaali. He
rätteet voi muotoilla joko suoraan tekstimuodossa tai PSpicen omaa stimulus editoria käyttäen. Paloittain lineaarinen heräte sekä vastaava digitaalimuo- toinen heräte voidaan syöttää ohjelmalle tiedostona, joka sisältää heräte- suureen arvot tiettyinä ajanhetkinä. Kuitenkaan lukeminen suoraan toiselta ohjelmalta ei ole mahdollista ilman uudelleenohjelmointia.
5.2.5 Yhteiskäyttö FCSMEK:n kanssa
Helpoin tapa toteuttaa PSpicen ja FCSMEKm yhteiskäyttö on ongelman mallintaminen analogisen sijaiskytkennän avulla, vaikkakin menetelmän so
veltuvuus suurten elementti verkko jen hallintaan on hiukan kyseenalaista.
Tällöin FEM-ohjelmaa tarvitaan vain elementtiverkon luomiseen sekä säh
köisen piirin alustukseen, kun piirisimulaattori hoitaa simuloinnin kokonai
suudessaan. PSpice vaatii ainoastaan mallin välipiirille, joka yhdistää ana
logisen sijaiskytkennän todelliseen sähköiseen piiriin. Tämän toteuttaminen on suhteellisen yksinkertaista.
Moniporttipiirin tai ohjattavien lähteiden käyttö ei käytännössä onnistu il
man mallien uudelleenohjelmointia. Vaikka itse matemaattisen piirimallin luominen onkin helppoa, tiedonvälityksen toteuttaminen ohjelmalta toiselle ei enää onnistu tavanomaisin keinoin, koska PSpicen valmiit mallit lukevat kaikki suureensa joko suoraan sähköisestä piiristä tai tiedostosta.
Kuitenkaan mallien vaatima uudelleenohjelmointi ei välttämättä ole suuri
kaan projekti, sillä PSpicen toimintaperiaatteiden mukaan tietojen lukuun pitäisi pystyä vaikuttamaan yksittäisellä parametrillä, joka tarvitsee lisätä vain niihin malleihin, jotka ovat yhteydessä FCSMEKdin. Tosin mallien ra
kenteesta ja toimintatavasta ei saa tarkkaa tietoa ilman lisenssin hankkimis
ta, joten tarvittavan ohjelmoinnin määrästä voidaan toistaiseksi esittää vain arvioita.
5.3 Aplac
Aplac on TKK:n teoreettisen sähkötekniikan laboratoriossa kehitetty olio
pohjainen piirisimulaattori, jonka pääkäyttäjä on Nokia. Aplacin käyttö on hiljalleen lisääntynyt muuallakin maailmassa sen omintakeisen toimintape
riaatteen, ohjelmoitavuutensa ja kohtuullisen hintansa vuoksi. Tämän työn kannalta Aplacin suurimmat edut ovat edellä mainittu ohjelmoitavuus sekä teknisen tuen helppo saatavuus.
5.3.1 Toimintaperiaate
Aplac on ohjelmoitu olioperiaatteella, joten sen toiminta perustuu luokkiin ja niistä luotuihin olioihin eli instansseihin. Luokka on yksityiskohtainen ku
vaus olion tietorakenteesta ja funktioista, joilla tämä käsittelee sisältämäänsä tietoa. Luokista voidaan muodostaa alaluokkia, joilla on yleensä enemmän ja tarkemmin määriteltyjä ominaisuuksia. Olio-ohjelmoinnin periaatteisiin kuu
luu, että kaikki olion sisältämä tieto on ainoastaan tämän itsensä hallittavissa ja saadaan näkyviin muualla ohjelmassa vain olion luokan sisältämien funk
tioiden avulla. Olioiden välinen kommunikointi perustuu viestien välittämi
seen, jolloin tietoa ei turhaan siirrellä ohjelman eri osien välillä. Kuitenkaan olio-ohjelmat eivät yleensä ole perinteisiä proseduraalisia ohjelmia nopeam
pia, mutta ohjelmointi sekä muutosten ja lisäysten tekeminen on ratkaisevasti yksinkertaisempaa.
Aplacissa oliopiirteet ulottuvat kaikkialle ohjelman toimintaan mallinnuk
sesta aina simulointitulosten käsittelyyn asti. Jokaiselle ohjelman osalle on