S-114.240 Rinnakkaislaskenta laskennallisessa tieteessä: FDTD-menetelmä



Samankaltaiset tiedostot
Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Luku 8. Aluekyselyt. 8.1 Summataulukko

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

KJR-C2002 Kontinuumimekaniikan perusteet

Reaalilukuvälit, leikkaus ja unioni (1/2)

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

Matematiikan tukikurssi

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Lyhyt yhteenvetokertaus nodaalimallista SÄTEILYTURVAKESKUS STRÅLSÄKERHETSCENTRALEN RADIATION AND NUCLEAR SAFETY AUTHORITY

Matematiikan tukikurssi, kurssikerta 3

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

766320A SOVELTAVA SÄHKÖMAGNETIIKKA, ohjeita tenttiin ja muutamia teoriavinkkejä sekä pari esimerkkilaskua

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Mapu 1. Laskuharjoitus 3, Tehtävä 1

Materiaalien mekaniikka

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Matematiikan tukikurssi

plot(f(x), x=-5..5, y= )

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Kolmannen ja neljännen asteen yhtälöistä

12. Hessen matriisi. Ääriarvoteoriaa

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

7 Vapaus. 7.1 Vapauden määritelmä

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

2.3 Juurien laatu. Juurien ja kertoimien väliset yhtälöt. Jako tekijöihin. b b 4ac = 2

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

3x + y + 2z = 5 e) 2x + 3y 2z = 3 x 2y + 4z = 1. x + y 2z + u + 3v = 1 b) 2x y + 2z + 2u + 6v = 2 3x + 2y 4z 3u 9v = 3. { 2x y = k 4x + 2y = h

Demo 1: Simplex-menetelmä

2.3 Voiman jakaminen komponentteihin

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

jakokulmassa x 4 x 8 x 3x

Lineaarinen optimointitehtävä

Kanta ja Kannan-vaihto

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Integrointialgoritmit molekyylidynamiikassa

Differentiaali- ja integraalilaskenta

Vektoreiden virittämä aliavaruus

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

Stabilointi. Marja Hassinen. p.1/48

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...

Algoritmit 1. Luento 10 Ke Timo Männikkö

Vapaus. Määritelmä. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee:

JAKSO 2 KANTA JA KOORDINAATIT

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Numeeriset menetelmät

infoa Viikon aiheet Potenssisarja a n = c n (x x 0 ) n < 1

Tämän luvun tarkoituksena on antaa perustaidot kompleksiluvuilla laskemiseen sekä niiden geometriseen tulkintaan. { (a, b) a, b œ R }

Matriisilaskenta Luento 8: LU-hajotelma

Jakso 8. Ampèren laki. B-kentän kenttäviivojen piirtäminen

10 Liiketaloudellisia algoritmeja

DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi

Numeeriset menetelmät

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo Ratkaisut ja pisteytysohjeet

MAB3 - Harjoitustehtävien ratkaisut:

RATKAISUT a + b 2c = a + b 2 ab = ( a ) 2 2 ab + ( b ) 2 = ( a b ) 2 > 0, koska a b oletuksen perusteella. Väite on todistettu.

MATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009

Pinta-alojen ja tilavuuksien laskeminen 1/6 Sisältö ESITIEDOT: määrätty integraali

1. Otetaan perusjoukoksi X := {0, 1, 2, 3, 4, 5, 6, 7}. Piirrä seuraaville kolmelle joukolle Venn-diagrammi ja asettele alkiot siihen.

KJR-C1001: Statiikka L2 Luento : voiman momentti ja voimasysteemit

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

6. Differentiaaliyhtälösysteemien laadullista teoriaa.

17. Differentiaaliyhtälösysteemien laadullista teoriaa.

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

2.5. Matriisin avaruudet ja tunnusluvut

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Sovellutuksia Pinta-alan ja tilavuuden laskeminen Keskiö ja hitausmomentti

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

SMG-5250 Sähkömagneettinen yhteensopivuus (EMC) Jari Kangas Tampereen teknillinen yliopisto Elektroniikan laitos

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

Materiaali on lineaarinen, jos konstitutiiviset yhtälöt ovat jännitys- ja muodonmuutostilan suureiden välisiä lineaarisia yhtälöitä.

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Transkriptio:

S-4.40 Rinnakkaislaskenta laskennallisessa tieteessä: FDTD-menetelmä Pohjautuen pääosin Allen Tafloven kirjaan Computational Electrodynamics: The Finite-Difference Time-Domain Method Sami Ilvonen S4 4483K 6. huhtikuuta 999

Sisältö Johdanto Teoreettinen tausta. Päivitysyhtälöiden johtaminen................................. Stabiilius ja dispersio......................................3 Yee:n solu........................................... 3.4 Absorboivat reunaehdot.................................... 3.4. Enquist-Majda yhtälöt................................ 3.4. Berenger PML-reunaehdot.............................. 4.5 Lähteet............................................ 5.6 Lähi-kaukokenttämuunnos.................................. 5 3 Käytännön toteutuksesta 5 3. Ongelmia........................................... 5 3. Algoritmi käytännössä.................................... 6 4 Rinnakkaistaminen 6 4. Avaruuden hajotusmenetelmät................................ 7 4.. Lohkomismenetelmä................................. 7 4.. RIP-menetelmä.................................... 8 4..3 Greedy-algoritmi................................... 8 4. Laskennan kahdentaminen.................................. 9 4.3 Erikoisten päivitysyhtälöiden jakaminen........................... 0 4.4 Rinnakkainen algoritmi.................................... 0 5 Yhteenveto

Johdanto FDTD-menetelmä (Finite Difference Time Domain -method) on Maxwellin yhtälöiden ratkaisemiseen käytettävä differenssimenetelmä, jonka juuret ovat 60-luvulla. Menetelmä on kuitenkin saavuttanut suurempaa suosiota vasta kuluneella vuosikymmenellä laskentakapasiteetin kasvettua riittävästi. FDTD-menetelmää on sovellettu mitä erilaisimpiin ongelmiin tekniikan eri aluilla. Näistä voisi esimerkkinä mainita vaikkapa erilaisten antennirakenteiden suunnittelun, sirontatehtävät, lääketieteellisen tekniikan ja optiikan sovellukset. Rinnakkaislaskentaan FDTD-menetelmä sopii hyvin lineaarisen skaalautuvuutensa takia. Tämän ansiosta menetelmää voidaan käyttää hyvinkin suurten ongelmien ratkaisemiseen. Teoreettinen tausta FDTD-menetelmässä ratkaistaan suoraan Maxwellin yhtälöiden avulla sekä sähkö- että magneettikentän arvot laskentahilassa. Etuja verrattuna esim. aaltoyhtälön ratkaisemiseen ovat: Voidaan käyttää molemmille kentille suoraan fysikaalisia reunaehtoja. Menetelmällä voidaan ratkaista monia erityyppisiä ongelmia tarvitsematta johtaa erilaisia päivitysyhtälöitä. Erilaisia ongelmallisia kohtia (kuten reunojen lähellä olevia singulaarisuuksia) voidaan tarvittaessa mallittaa erikseen.. Päivitysyhtälöiden johtaminen Kuten edellä mainittiin, FDTD-menetelmällä ratkaistaan Maxwellin differentiaaliyhtälöihin liittyviä tehtäviä. Maxwellin yhtälöt voidaan kirjoittaa seuraavasti: Lisäksi tarvitaan ns. väliaineyhtälöt, E H B J m () t D J () t D ρ (3) B ρ m (4) B µh (5) D εe (6) Mikäli vielä hyväksymme sähköiset ja magneettiset häviöt, voimme johtaa ekvivalentit virrat J m ρ H (7) J σe (8) Yhdistämällä edellä mainitut yhtälöt ja olettamalla lähteetön avaruus (ρ ρ m 0) saadaan johdettua yhtälö H t E t µ E ρ µ H (9) ε H σ ε E (0) Vaikka magneettivarauksia ei ole löydettykään, ne helpottavat joskus laskemista ja tekevät yhtälöistä symmetrisemmät. Tässä määritelty ρ on siis täysin kuvitteellinen suure, jolle ei löydy vastinetta luonnosta, aivan kuten Maxwellin yhtälöihin lisätty J m. Magneettista johtavuutta tarvitaan kuitenkin mm. Berengerin PML-reunaehdossa.

Kun näitä yhtälöitä tarkastellaan karteesissa koordinaatistossa ja puretaan ristitulot auki saadaan yhtälöt, joista seuraavaksi käsitellään vain magneettikentän x-komponenttia: H x t µ E y z E z y ρ H x () Muut komponentit voidaan johtaa samalla tavalla. Kun yhtälön derivaatat korvataan keskidifferensseillä, saadaan yhtälö i j k Hx n t i j k Hx n µ i j k E i j k y n z E i j k y n E i j k z n y E i j k z n ρ i j k H i j k x n () Käytetty merkintätapa on seuraava: yläindeksi kertoo paikan koordinaatit, alaindeksi kenttäkomponentin ja suluissa oleva argumentti ajan. Lausekkeen oikealla puolella esiintyy magneettikentän arvo hetkellä n. Siitä halutaan päästä eroon ja eräs tapa on korvata se käyttämällä seuraavaa approksimaatiota: H i j k x n i j k Hx n i j k Hx n Sijoittamalla (3) lausekkeeseen () ja sieventämällä saadaan (3) H i j k n x ρ i j k t µ i j k ρ i j k t i j k µ H i j k x n t µ i j k ρ i j k t i j k µ E i j k y n E i j k z z n y E i j k y E i j k z n (4) Tämä on haettu päivitysyhtälö. Loput yhtälöt saadaan yhtälöstä (4) varioimalla indeksejä sekä kenttäkomponentteja (sekä tietenkin johtavuuksia). Yhtälöstä (4) huomataan, että H x riippuu ainoastaan kentän aikaisemmasta arvosta samassa pisteessä sekä ympäröivistä sähkökentän arvoista puolta aika-askelta aikaisemmalla ajanhetkellä. Näin laskenta etenee siis t :n pituisin askelin. Magneettikentän arvoista saadaan aina uudet sähkökentän arvot ja päinvastoin. E n H n E n H n 3 E n Kuva : Simuloinnin kulku. Nämä samat päivitysyhtälöt voidaan johtaa toistakin kautta tutkimalla Maxwellin yhtälöitä integraalimuodossa.. Stabiilius ja dispersio Stabiiliustarkastelut ovat olennaisia kaikissa differenssimenetelmissä. FDTD-menetelmälle voidaan näyttää, että aika-askeleella t x y z missä x y z ovat paikka-askelten suuruudet, menetelmä on stabiili. (5)

Toinen differenssimentelmille ominainen ongelma on dispersio. FDTD-simulaationssa dispersio aiheuttaa joskus suuriakin virheitä, ellei siihen kiinnitä riittävästi huomiota. Varsinaiset asiaan liittyvät tarkastelut eivät tähän mahdu, mutta todetaan, että yleisesti ottaen aika-askel kannattaa valita mahdollisimman lähelle epästabiilia arvoa ja laskenta-avaruuden täytyy olla tarpeeksi tiheä suhteessa pienimpään laskennassa esiintyvään aallonpituuteen..3 Yee:n solu Tarkastellaan seuraavaksi miten kenttäkomponentit ovat jakautuneet avaruuteen, mikäli käytetään kappaleessa (.) esitettyjä päivitysyhtälöitä. Kentät on esitetty kuvassa (). Yksinkertaisimmillaan FDTDsimulaatiossa laskenta-avaruus on jaettu tällaisiin kuutioihin. Kyseistä solua kutsutaan keksijänsä mukaan E z H y H x H z z H z E x H z E y x y H y H x Kuva : Yee:n solu. Yee:n soluksi. Kuvasta huomataan, että sähkö ja magneettikentän komponentit menevät täydellisesti limittäin täyttäen koko avaruuden niin, että solun keskelle jää tyhjä kohta..4 Absorboivat reunaehdot Useat mallitettavat ongelmat vaativat, että tutkittava rakenne on sijoitettu vapaaseen tilaan. Laskentahila on kuitenkin päätettävä johonkin kohtaa ja niinpä laskenta-avaruuden reunat täytyy toteuttaa niin, etteivät ne heijasta siihen osuvaa kenttä takaisin. Tämä voidaan toteuttaa useilla eri tavoilla..4. Enquist-Majda yhtälöt Monet absorboivat reunaehdot perustuvat Enquist-Majda -yhtälöihin. Kyseessä on aaltoyhtälö, joka sallii aallon etenemisen vain toiseen suuntaan. Tarkastellaan aluksi kaksiulotteista aaltoyhtälöä karteesisessa koordinaatistossa: U x U U y c t! 0 (6) missä U on skalaarinen kenttäkomponentti ja c on vaihenopeus. Määrittelemällä operaattori L " x y c t " voidaan aaltoyhtälö kirjoittaa yksinkertaisessa muodossa D x D y c D t (7) LU! 0 (8) 3

Voidaan osoittaa, että operaattori L voidaan jakaa tulomuotoon seuraavasti missä L' on määritelty LU # L$&% L' U # 0 (9) L')( D x * D t c + *-, D y D t. c/ (0) L$ voidaan määritellä vastaavasti. Tätä lauseketta eri tavoilla approksimoimalla voidaan toteuttaa koko joukko erilaisia absorboivia reunoja FDTD-hilaan. Yleisin tapa lienee approksimoida lausekkeessa esiintyvää neliöjuurta Taylorin sarjalla. Toinen yleinen tapa on käyttää rationaalifunktiota. Tarkastellaan seuraavaksi yksinkertaisinta tapausta, missä neliöjuuren approksimaationa käytetään Taylorin sarjan ensimmäistä termiä. Tällöin operaattorista L' saadaan L')# D x * Sijoittamalla tämä takaisin aaltoyhtälön lausekkeeseen, saadaan reunaehdon lausekkeeksi reunalla x # 0 Tästä voidaan johtaa lauseke reunojen päivitysyhtälöille E 00 j z n % 3# E 00 j z n4% D t c () U x * u c t # 0 () c t * x c t % x 5 E 0 z j n % * E 00 z j n76 (3) Tässä tapauksessa nähdään, että kentän arvo reunalla saadaan laskettua kahdesta aikaisemmasta kentän arvosta x-suunnassa. Jos approksimaatiota parannetaan, tulevat mukaan vielä y-suunnan komponentit. Tällaisten absorboivien reunaehtojen toteuttaminen vaatii enemmän laskutoimituksia kuin tavallisten päivitysyhtälöiden käyttö. Käytettäessä Taylorin sarja-approksimaatiota työmäärä on suurinpiirtein kaksin- nelin kertainen. Koska tällä tavalla toteutetaan kuitenkin vain laskenta-avaruuden reunat (ja niistäkin vain joko sähkö- tai magneettikentän arvot), ei laskennan määrä ole kuitenkaan kovin merkittävä. Toinen huomionarvoinen seikka on se, että tämäntyyppisten reunaehtojen toteuttaminen vaatii kenttien arvoja menneillä ajanhetkillä, joita ei muuten säilytettäisi. Tämän takia reunaehtoa varten täytyy säilyttää erikseen kenttien arvot menneillä ajanhetkillä reunan lähistöllä..4. Berenger PML-reunaehdot Erittäin tehokkaan reunaehdon voi saada aikaan käyttämällä häviöllistä materiaalia, jonka aaltoimpedanssi on sovitettu tyhjön kanssa. Tällöin näiden kahden materiaalin rajapinnasta ei synny heijastusta ja häviöt vaimentavat kentän nopeasti. Laskenta-avaruuden reunat voidaan vuorata käyttämällä tätä materiaalia ja päättää sen jälkeen yksinkertaisesti vaikkapa johteen reunaehtoon ilman että kentät heijastuisivat takaisin laskenta-avaruuteen. Tällaista reunaehtoa kutsutaan Berenger PML (Perfectly Matched Layer) - reunaehdoksi kehittäjänsä mukaan. Tällainen materiaali olisi mainio myös radiokaiuttomissa huoneissa, mutta sitä ei voida käytännössä valmistaa. Tämä johtuu siitä, että aineella pitäisi olla anisotrooppinen magneettijohtavuus. Myös tämän reunaehdon johtaminen sekä lausekkeet jätetään käsittelelmättä. On kuitenkin syytä mainita, että hyvä absorboivuus ei tule ilmaiseksi, vaan materiaalin käyttö kasvattaa laskenta-avaruuden kokoa. Lisäksi tässä alueessa joudutaan tekemään kaksinkertainen määrää laskentaa verrattuna normaaliin laskentahilaan. Itse asiassa törmäsin tällä viikolla raporttiin, jossa osoitettiin, että samanlaisen tulokseen voi päästää myös käyttämällä sekoitemateriaalia, jossa on aktiivinen inkluusio. Tämä tarkoittaa sitä, että inkluusiokappaleet tuovat laskentahilaan energiaa. Tällaisen toteuttaminen käytännössä on enää teknisesti mahdotonta. 4

.5 Lähteet Kuten aikaisemmin huomattiin, oletettiin päivitysyhtälöitä johdettaessa lähteetön avaruus. Tämä tarkoittaa käytännössä sitä, että lähteitä varten päivitysyhtälöitä joudutaan muuttamaan. Samoin kaikki lähteet joudutaan esittämään kenttinä eikä virtoina. Käytännössä lähteet toteutetaan siis muuttamalla koko ajan kenttien arvoja halutuissa kohdissa. Tämä antaa mahdollisuuden muodostaa mielenkiintoisia rakenteita, kuten vaikkapa pehmeä lähde, joka päästää siihen osuneen aallon muuttumattomana lävitseen. Myös lähteiden aiheuttama kenttien päivittäminen lisätyötä, mutta se ei ole kuitenkaan merkittävä. Yleensä koko laskenta-avaruus päivitetään käyttäen tavallisia päivitysyhtälöitä, jonka jälkeen päivitetään lähteiden kentät..6 Lähi-kaukokenttämuunnos Tutkittaessa kappaleen sirontaa tai antennia ollaan yleensä kiinnostuneita kentästä kaukoalueessa. Yleensä laskenta-avaruuttaa ei kuitenkaan voi ulottaa tarpeeksi kauas. Tällöin voidaan käyttää lähi-kaukokenttä muunnosta, jonka avulla kappaleen lähistöllä olevista kentistä voidaan laskea kaukokenttä. Muunnos voidaan tehdä laskemalla laskenta-avaruuden reunoilla esiintyvät ekvivalentit pintavirrat. Näistä virroista voidaan Huyghensin periaatteen mukaan laskea kaikki alueen ulkopuoliset kentät, myös kaukoalueen kentät. Lähi-kaukokenttämuunnoksen laskeminen on verrattain raskasta ja vaatii käytännössä Fouriermuunnoksen tekemistä reunojen kenttäkomponenteille. Usein tämä joudutaan tekemään vielä diskreetin muunnoksen avulla, koska muisti ei riitä kaikkien tarvittavien kenttäkomponenttien arvojen tallettamiseen ja levylle kirjoittaminen voi olla hyvinkin hidasta. 3 Käytännön toteutuksesta 3. Ongelmia Differenssimenetelmiä käytettäessä törmätään usein samankaltaisiin ongelmiin: algoritmin stabiiliuteen ja numeeriseen dispersioon. FDTD ei ole poikkeus. Mikäli molempia ongelmia halutaan välttää, on aikaaskelen koko valittava huolella. Samoin laskentahilan rakenteeseen täytyy kiinnittää huomiota, mikäli ei käytetä täysin symmetristä kuutiohilaa. Suurimpia rajoituksia FDTD-menetelmän käytölle asettaakin juuri kuutiohila, jolla on vaikea kuvata pyöreitä muotoja. FDTD-menetelmä ei ole kuitenkaan täysin rajoittunut tasaiseen karteesiseen kuutihilaan, vaan geometrian kuvaamiseen on kehitetty erilaisia ratkaisuja. 8 Solujen kokoa voi muuttaa hieman yhden koordinaattiakselin suunnassa, jolloin suorakulmaisia muotoja voidaan esittää tarkoilla mitoilla, vaikka niiden koko ei muuten käy tasan käytettävään hilaan. 8 Alisolujen avulla voidaan esittää jokin kohta laskenta-avaruudesta paremmalla tarkkuudella. Tällöin on kuitenkin kiinnitettävä erityistä huomiota algoritmin stabiiliuteen. 8 Päivitysyhtälöt voidaan johtaa myös sylinterikoordiaatistossa. Tällöin sylinterisymmetristen rakenteiden simuloiminen onnistuu helposti. 8 Myös mielivaltaiselle kuutiohilalle voidaan johtaa päivitysyhtälöt. Ongelmana on tällöin kuitenkin laskennan hidastuminen. Samoin useiden muotojen kuvaaminen on hyvin vaikeata käyttämällä kuutiomaisia soluja. Tetraedrien käyttäminen on periaatteessa mahdollista, mutta ainakin näillä näkymin se johtaa hitaampaan alogoritmiin. 8 Vinoja pintoja voidaan mallittaa käyttämällä ns. contour path -menetelmää, jossa pintojen lähellä käytetään näille kohdille erikseen johdettuja päivitysyhtälöitä. Tämä menetelmä on kuitenkin verrattain epätarkka mielivaltaisille pinnoille. Samoin stabiiliuden kanssa tulee helposti ongelmia. Kuten kappaleessa (.5) todettiin, kaikki lähteet on esitettävä suoraan kenttinä eikä virtoina. Tämän takia FDTD-menetelmä ei sovellu matalien taajuuksien ongelmien ratkaisemiseen, koska pyörrevirrat jäävät 5

kokonaan huomiotta. Sen sijaan suurtaajuisten rakenteiden mallittaminen onnistuu aina siihen asti, kunnes kvantti-ilmiöt tulevat merkittäviksi. Käytännössä raja kulkee riippuen tarkasteltavasta asiasta optiikan ongelmissa. 3. Algoritmi käytännössä Käytännössä FDTD-menetelmällä toteutettavassa simulaatiossa on seuraavat vaiheet:. Alustus. Varataan tarvittava muisti ja nollataan kenttäkomponentit.. Alustetaan kerrointaulukot. Tällöin voidaan kuvata tutkittavan rakenteen ominaisuudet, esim. johdepinnat. 3. Tämän jälkeen suoritetaan jokaisella aika-askeleella seuraavat toimenpiteet: (a) Päivitetään lähteinä toimivien kenttäkomponenttien arvot. (b) Lasketaan magneettikentille uuden arvot käyttäen edellisiä magneettikentän arvoja sekä ympäröiviä sähkökentän arvoja. (c) Lasketaan sähkökentille uudet arvot käyttäen edellisiä sähkökentän arvoja sekä ympäröiviä magneettikentän arvoja. (d) Lasketaan halutut kentän arvot laskenta-avaruuden reunoilla absorboivast reunaehdosta (tai PML-reunan tapauksessa tehdään kenttien jakamiseen liittyvät toimenpiteet). (e) Tallennetaan halutut arvot. Lähi-kaukokenttämuunnoksessa voidaan laskea diskreettiä Fouriermuunnosta. 4. Tulosten jälkikäsittely. Tämä järjestys ei ole aivan ehdoton, vaan esim. absorboivan reunan voi toteuttaa myös magneettikentälle toisin kuin yllä. Varsinaiset päivitysyhtälöt voisivat käytännössä näyttää vaikkapa seuraavalta: 9;:=<?>A@CBEDGFH@CIJ9K:-LM>A@CBED?F3@CIJ9K:ONP>Q@CBEDGF3@ RGSUTVN3BWLUB7<AXY>ZRGS[TVN3BLUB<AXY\]T^T_4ÙTVNHBLUB7<G\Q@MXVFM_4`[TPN3BWLUB7<HX4XMacbdTeN3BL[B7<3X^Xf\hg TW_4iUTVN3BWLUB7<AXVFc_4iUTVN3BWLj\A@KB7<AXcXMaP9kTeN3BLUB<3X4X RGÙTVN3BWLUB7<AXY>ZRG`[TVN3BLUB<AXY\]T^T_4iUTVNe\A@CBLUB<AXVFM_4i[TPN3BWLUB7<HX4XMacbdTeN3BL[B7<3X^Xf\hg TW_4SUTVN3BWLUB7<AXVFc_4SUTVN3BWLdB7<?\A@MXcXMaP9kTeN3BLUB<3X4X RGiUTVN3BWLUB7<AXY>ZRGi[TVN3BLUB<AXY\]T^T_4SUTVNHBLM\A@CB<AXVFM_4S[TPN3BWLUB7<HX4XMacbdTeN3BL[B7<3X^Xf\hg TW_4ÙTVN3BWLUB7<AXVFc_4ÙTVNP\Q@;BL[B7<AXcXMaP9kTeN3BLUB<3X4X _cl49h9k:uim_ml49h9k:uim_ml^9n9k: 9;:=<?>GoUBEDkIp9K:hLM>?oUBEDkIp9K:ONP>Go[BED _4SUTVN3BWLUB7<AXY>h_4S[TVN3BLUB<AXY\]T^TERGiUTVNHBLUB7<AXqFjRGiUTVNHBEL4FH@CB7<HX4XMacbdTeN3BL[B7<3X^Xf\hg TrRGÙTVN3BWLUB7<KF3@cXVFjRGÙTqNCBL[B7<AXcXMaP9kTeN3BLUB<3X4X _4ÙTVN3BWLUB7<AXY>h_4`[TVN3BLUB<AXY\]T^TERGSUTVNHBLUB7<AXqFjRGSUTVNHBELUB<KF3@VX4XMacbdTeN3BL[B7<3X^Xf\hg TrRGiUTVNVFH@CBLUB7<QXVFjRGiUTqNCBL[B7<AXcXMaP9kTeN3BLUB<3X4X _4iUTVN3BWLUB7<AXY>h_4i[TVN3BLUB<AXY\]T^TERGÙTVNHBLUB7<AXqFjRGÙTVNqFC@CBWLUB7<HX4XMacbdTeN3BL[B7<3X^Xf\hg TrRGSUTVN3BWL4F3@CB7<QXVFjRGSUTqNCBL[B7<AXcXMaP9kTeN3BLUB<3X4X _cl49h9k:uim_ml49h9k:uim_ml^9n9k: Laskennan kannalta algoritmi muodostuu siis kuudesta kenttämatriisista sekä kertoimista tai kerroinmatriisista riippuen laskenta-avaruuden ominaisuuksista, sekä kolmesta sisäkkäisestä silmukasta. Usein kerroinmatriisissa esiintyy ainoastaan muutamia erilaisia arvoja, jolloin kerroinmatriisit kannattaa pakata. 4 Rinnakkaistaminen Kuten edellä nähtiin, on FDTD-algoritmin runko usein hyvinkin yksinkertainen. Aikaisemmissa esityksissä tällaista yksinkertaista differenssialgoritmia on käytetty esimerkkitapauksena. 6

Rinnakkaistamista voisi lähestyä jakamalla algoritmi mahdollisimman pieniin alkeistehtäviin (yksittäisen kenttäkomponentin päivitys). Seuraavaksi voitaisiin selvittää näiden alkeistehtävien välinen komminikaation tarve, joka riippuu voimakkaasti tehtävästä simulaatiosta sekä käsiteltävästä alkeistehtävästä. Lopuksi näitä tehtäviä voitaisiin yhdistellä suuremmiksi kokonaisuuksiksi, jotka voidaan jakaa käytettävien prosessoreiden kesken. Kuvassa (3) on esitetty esimerkki tällaisesta alkeistehtäviin jaottelusta sekä kommunikaation tarpeesta muutamien tällaisten tehtävien kesken. Tilanne on samankaltainen myös kolmidimen- H x H x H x H y E z H y E z H y E z H y H x H x H x H y E z H y E z H y E z H y H x H x H x Kuva 3: Alkeistehtävät sekä niiden välinen kommunikaatio. sioisen algoritmin tapauksessa. Käytännössä FDTD-algoritmin rinnakkaistamista on usein lähestytty toisesta suunnasta jakamalla koko laskentatehtävä suoraan prosessoreiden lukumäärää vastaaviin osiin. 4. Avaruuden hajotusmenetelmät Näiden menetelmien tarkoitus on jakaa laskenta-avaruus pienempiin yhtenäisiin osiin, jotka eivät mene päällekkäin. Tuloksena saatavan hajotelman tulisi täyttää seuraavat ehdot: s Jakaa avaruus sellaisiin osiin, joiden laskentaan menee yhtä paljon aikaa. s Minimoida aliavaruuksien yhteisten sivujen pinta-ala. Tämä pinta-ala on suoraan verrannollinen tarvittavan kommunikaation määrään. Jos laskentahila on säännöllinen, on näiden ehtojen täyttävän hajotelman tekeminen verrattain yksinkertaista. Mikäli sen sijaan käytetään kappaleessa (3.) esiintyneessä listassa ollutta mielivaltaista hilaa, on ehtojen täyttäminen huomattavasti vaikeampaa. 4.. Lohkomismenetelmä Eräs tapa FDTD-algoritmin jakamiseksi eri prosessien kesken on lohkominen. Tässä menetelmässä laskenta-avaruus jaetaan vakio x, y ja z-tasojen suunnassa aliavaruuksiin, kunnes haluttu aliavruuksien määrä on saavutettu. Nämä aliavaruudet voidaan sitten jakaa eri prosessoreiden kesken. Otetaan esimerkiksi rinnakkaiskone, jossa on P prosesoria. Olkoot P x, P y ja P z aliavaruuksien määrä x, y ja z suunnissa. Tällöin P t P x P y P z. Olkoon laskenta-avaruuden koko u N xv N yv N zw. Nyt jokaiselle prosessorille voidaan osoittaa oma lohko, jonka dimensio on u N xx P xv N yx P yv N zx P zw. Nämä osamäärät eivät välttämättä ole kokonaislukuja, mistä seuraa kuorman epätasainen jakautuminen. Tämän vaikutus ei kuitenkaan ole välttämättä kovin suuri, mikäli aliavaruuksien koot ovat suuret. Näiden aliavaruuksien koot voidaan määrätä yksinkertaisella algoritmilla. Tämän jälkeen jokaisen aliavaruuden sisällä voidaan käyttää tavallista FDTD-algoritmia. Sen sijaan reunoilla joudutaan kenttien arvoja vaihtamaan aliavaruuksien kesken. Aliavaruuksien hieman toisistaan poikkeavia kokoja merkittävämpi ongelma kuorman tasaukseen muodostuu erikoisista päivitysyhtälöistä. Reunaehtojen vaikutus on verrattain helppo poistaa normittamalla niiden tilavuudet sopivasti, eli annetaan reunaehtojen alueelta pienempiä palasia. Sen sijaan esim. tarkennettu laskentahila sotkee tällaisen lohkomisen perusteellisesti. 7

4.. RIP-menetelmä RIP (Recursive inertia partitioning) -menetelmä soveltuu epäsäännölliselle hilalle. RIP ei ole millään tavalla sidottu FDTD-menetelmään, vaan sitä voi käyttää myös vaikkapa elementtimenetelmän laskentaverkon jakamisessa. Jokainen hilan solu kuvataan solun keskipisteeseen sijoitetulla massalla, joka on verrannollinen solun vaatimaan laskenta-aikaan. Kuva (4) havainnollistaa asiaa. Näiden massojen keskipiste on Kuva 4: Epäsäännöllinen hila esitettynä keskitettyjen massojen avulla. r cg y N iz r im i N iz 0 m i (4) missä r i on i:nnen massan paikkavektori. Seuraavaksi lasketaan diskreettien massojen momenttimatriisi: I m y {} ~ I xx I xy I xz I yx I yy I yz I zx I zy I zz (5) missä I xx y i m i r i x i ja I xy y i m i x i y i y I yx. Muut alkiot saadaan samalla tavalla. Tästä matriisista voidaan ratkaista suunta, jolla massojen hitausmomentti on pienin. Tämän jälkeen laskenta-alue jaetaan kahteen osaan tasolla, joka kulkee massakeskipisteen kautta ja joka on kohtisuorassa edellä laskettua hitausmomentin minimisuuntaa vastaan. 3 Kun edellä esitettyä jakamista toistetaan n kertaa, saadaan n aliavaruutta. Koska jako tapahtuu hitausmomentin minimisuuntaa kohtisuoran tason suhteen, on aliavaruuksien leikkauspintojen verrattain pieni. Massakeskipisteen suhteen jakaminen puolestaan saa aikaan kuorman tasaisen jakautumisen.. RIP menetelmä on toteutettavissa tehokkaasti suurillekin laskentahiloille ja se toimii käytännössä verrattain hyvin. Suurimpana rajoituksena menetelmän käytölle on se, että se jakaa laskenta-avaruuden aina n osaan, jolloin käytettävässä koneessa pitäisi olla aina n prosessoria. Toinen rajoitus johtuu siitä, että laskenta-alkioiden rajat eivät noudata leikkaavaa tasoa. Tästä aiheutuu kuorman epätasaista jakautumista etenkin suurilla n:n arvoilla. 4..3 Greedy-algoritmi Greedy eli ahne algoritmi on heuristisempi lähestymistapa jakamisongelmaan. Se on kuitenkin hyvin tehokas. Periaatteeltaan se on verrattain lähellä PCAM-menetelmää. Menetelmän alussa laskenta-avaruuden soluille annetaan paino m i, joka vastaa solun työmäärää. Jos laskenta-avaruudessa on kaikkiaan N c solua, voidaan koko avaruuden kustannus C esittää seuraavasti: C y N c iz m i (6) Jaetaan laskenta avaruus N s :ään aliavaruuteen. Tällöin jokaiselle aliavaruudelle tulee osakustannus Cƒ N s, joka pyritään saamaan mahdollisimman samanlaiseksi eri aliavaruuksien kesken. 3 Tämä on vastoin Taflovessa esitettyä, mutta mielestäni kirjassa on tässä kohtaa virhe. Eron havaitsee, kun miettii vaikkapa ellipsiä kolmessa dimensiossa. Maksimin suunta on tällöin ellipsin normaali, mutta eihän ellipsiä voi jakaa enää siinä suunnassa! Sen sijaan valittaessa isoakselin suunta, saadaan ellipsi jaettua ja vielä siten, että jakoviivan pituus on pienin mahdollinen. 8

Seuraavaksi jokaiselle solmulle n i annetaan paino w i, joka kertoo kuinka moneen soluun kyseinen solmu liittyy. Algoritmi alkaa tämän jälkeen etsimällä solmu, jonka painoarvo on pienin. Yleensä tämä solmu löytyy laskenta-avaruuden nurkasta, johon on liittyy ainoastaan yksi solu. Tämän jälkeen aliavaruus alustetaan kaikilla peittämättömillä soluilla, jotka liittyvät solmuun n i. Seuraavaksi nämä solut Ω s s e i peitetään, eli merkitään kuuluviksi johonkin aliavaruuteen. Tämän jälkeen jokaisen aliavaruuden ulkoreunaan liittyvän solmun painoarvoa w i vähennetään yhdellä. Seuraavaksi kaikki peittämättömät eli vapaat solut joilla on yhteinen reuna aliavaruuden reunan kanssa liitetään aliavaruuteen Ω s. Lopuksi lasketaan kustannuslisä lisäämällä jokaisen lisätyn solun paino m i aliavaruuden kustannukseen C s. Tätä algoritmia jatketaan rekursiivisesti, kunnes C s Cˆ N s. Seuraavassa hieman tiivistetympi algoritmin kuvaus: for s N s do Etsi n i Š Γ s, jolla on pienin w i. Aseta C s 0 Alusta Ω s kaikkilla vapailla alkioilla e k, joihin solmu n i liittyy. while C s Œ Cˆ N s do for all e k do Peitä e k. Vähennä jokaisen soluun e k liittyvän solmun painoa w i yhdellä. Liitä aliavaruuteen Ω s kaikki e k :n liittyvät vapaat solut. C s C s m k end for end while end for Kuva 5: Aliavaruuden Ω s kasvu Greedyn algoritmilla. Kuva (5) havainnollistaa aliavaruuden kasvua ja algoritmin toimintaa. Greedy algoritmin kustannusmallin avulla kuorma saadaan tasattua hyvin. Valitettavasti algoritmi ei kuitenkaan minimoi aliavaruuksien välisiä pinta-aloja (eli siis kommunikaation määrää). Algoritmi voi myös johtaa ei-yhtenäisiin aliavaruuksiin. 4. Laskennan kahdentaminen Koska kommunikaation kustannukset ovat yleensä korkeat, kannattaa laskentaa usein kahdentaa. Tällä tavalla voidaan kommunikaation määrä saada pienemmäksi. FDTD-algoritmin tapauksessa tullaan huomaamaan, että vain yhden kenttäkomponentin kopiointi aliavaruudesta toiseen riittää. Muut voidaan laskea aliavaruuden omista kentistä. Osa näistä arvoista tulee tällöin laskettua kahteen kertaan, siitä nimi laskennan kahdentaminen. On itestään selvää, että kahdentaminen ei kannata hyvin pienikokoisten aliavaruuksien tapauksessa, koska silloin laskennan määrä kasvaa jyrkästi. Tarkastellaan seuraavassa kahden aliavaruuden reunaa. Otetaan yksinkertaisuuden vuoksi suora leik- 9

kaus. Leikkaus on esitetty kuvassa (6). Kuvaan on merkitty kentät leikkauksen reunalla siten, että punainen Kuva 6: Kahden aliavaruuden leikkauspinta. väri kuvaa sähkökenttää, joka on pinnan normaalin suuntainen ja sininen magneettikenttää, joka tangentiaalinen. Samanlainen tapaus saadaan myös vaihtamalla leikkauskohtaa jolloin magneettikenttä on normaalin suuntainen ja sähkökenttä tangentiaalinen. Huomionarvoista on, että kummankin pinnan kentät ovat täysin samat. Nämä kenttien arvot siis kahdennetaan. Pinnalla oleva sähkökenttä saadaan laskettua kummallakin puolella käyttämällä sähkökentän edellistä arvoa, sekä ympäröiviä magneettikentän arvoja. Tässä ei siis tarvita kommunikaatiota. Sen sijaan pinnalla olevien magneettikentän arvojen laskemiseen on kummassakin aliavaruudessa maksimissaan kolme komponenttia. Puuttuva neljäs (tai useammat puuttuvat) kenttäkomponentti täytyy hakea viereisestä aliavaruudesta. Nämä tarvittavat komponentit kannattaa tietenkin lähettää yhdessä paketissa, jolloin latenssin vaikutus vähenee. Samoin kannattaa kiinnittää huomiota siihen, että laskennan täytyy pysyä deterministisenä, eli uusia arvoja ei saa laskea missään aliavaruudessa ennen kuin kaikkialla on laskettu vanhat arvot. 4.3 Erikoisten päivitysyhtälöiden jakaminen Erikoiset päivitysyhtälöt voivat aiheuttaa vaikeuksia laskenta-avaruuden jakamisessa. Ne voivat mm. vaatia lisää aliavaruuksien välistä kommunikaatiota. Nämä ongelmat ovat kuitenkin niin tapauskohtaisia ja monimutkaisia, että jätetään niiden tarkempi käsittely pois. Esimerkkinä voidaan kuitenkin mainita, että monet absorboivat reunaehdot vaativat monia kentän arvoja kohdista, joista päivitysyhtälöt eivät riipu. Samoin lähi-kaukokenttämuunnos vaatii pinnan kenttien Fouriermuuntamisen takia lisää kommunikaatiota. 4.4 Rinnakkainen algoritmi Nyt voimme esittää rinnakkaistamisen vaatimat muutokset kappaleessa (3.) esitettyyn simuloinnin vaiheisiin.. Alustus. Varataan tarvittava muisti ja nollataan kenttäkomponentit. Ja tämän lisäksi hoidetaan laskenta-avaruuden jakaminen.. Alustetaan kerrointaulukot. Tällöin voidaan kuvata tutkittavan rakenteen ominaisuudet, esim. johdepinnat. 3. Tämän jälkeen suoritetaan jokaisella aika-askeleella seuraavat toimenpiteet: (a) Päivitetään lähteinä toimivien kenttäkomponenttien arvot. Tämä tehdään jokaisessa aliavaruudessa. (b) Lasketaan magneettikentille uuden arvot käyttäen edellisiä magneettikentän arvoja sekä ympäröiviä sähkökentän arvoja. 0

(c) Lasketaan sähkökentille uudet arvot käyttäen edellisiä sähkökentän arvoja sekä ympäröiviä magneettikentän arvoja. (d) Tässä vaiheessa täytyy kopioida tarvittavat arvot aliavaruuksista toisiin. (e) Lasketaan halutut kentän arvot laskenta-avaruuden reunoilla absorboivast reunaehdosta (tai PML-reunan tapauksessa tehdään kenttien jakamiseen liittyvät toimenpiteet). Tämäkin tehdään jokaisessa aliavaruudessa erikseen. Reunaehto voi vaatia lisää kommunikaatiota. (f) Tallennetaan halutut arvot. Lähi-kaukokenttämuunnoksessa voidaan laskea diskreettiä Fouriermuunnosta. 4. Tulosten kerääminen ja jälkikäsittely. Tämä vastaa tilannetta, missä laskentaa on kahdennettu. Ilman sitä molempien kenttien arvoja joudutaa välittämään laskenta-avaruuden osasta toiseen. Samoin kaikki monimutkaisemmat tapaukset on jätetty ulkopulelle. Myös laskennan synkronoinnin oletetaan säilyvän kommunikoinnin yhteydessä. 5 Yhteenveto Yhteenvetona voidaan todeta, että FDTD-algoritmi on verrattain yksinkertaisesti rinnakkaisettavissa. Tämä yhdistettynä itse algoritmin lineaariseen käyttätymiseen antaa mahdollisuuden tutkia ongelmia, joissa tuntemattomien määrä on hyvin suuri verrattuna moniin muihin menetelmiin. Kirjallisuudesta löytyy useita esimerkkejä, joissa on saavutettu hyvä nopeutus jopa useita satoja prosessoreita käyttämällä. Näistä esimerkkinä vaikkapa kirjassa Computational Electrodynamics: Finite-Difference Time-Domain Method esitetty hävittäjän tutkapoikkipinta-alan laskeminen, jolloin käytössä oli 048 prosessoria. Rinnakkaistaminen vaikeutuu kuitenkin huomattavasti, mikäli poiketaan yksinkertaisesta karteesisesta hilasta, tai käytetään eksoottisempia päivitysyhtälöitä joissain laskenta-avaruuden osissa. Nämäkään ongelmat eivät ole ylipääsemättömiä.