Elementtimenetelmä

Elementtimenetelmä (FEM, engl. "Finite Element Method") on numeerinen menetelmä differentiaaliyhtälöiden, erityisesti osittaisdifferentiaaliyhtälöiden, ratkaisemiseen tietokoneella. Differentiaaliyhtälöt ovat hyvin yleisiä esimerkiksi fysiikassa, mutta vähänkään monimutkaisemmissa ongelmissa differentiaaliyhtälöä ei voida ratkaista tarkasti niin kutsutussa suljetussa muodossa, eli tavallisten matemaattisten operaatioiden avulla. Niinpä joudutaan tyytymään esimerkiksi elementtimenetelmän antamaan likimääräiseen vastaukseen.
Menetelmä perustuu alkuperäisen jatkuvan ongelman muuntamiseen lineaariseksi yhtälöryhmäksi diskretoimalla, jolloin ongelma voidaan ratkaista tietokoneella. Elementtimenetelmän antama ratkaisu on paloittain polynominen approksimaatio tarkasta ratkaisusta. Helpoimmassa tapauksessa vastaus rajataan ensimmäisen asteen polynomeihin, jolloin ratkaisu on paloittain lineaarinen funktio.
Sovellukset.
Käytännössä elementtimenetelmää käytetään lähinnä kaksi- ja kolmiulotteisten ongelmien ratkaisuun, sillä yksiulotteisiin ongelmiin on usein helppo löytää ratkaisu analyyttisesti. Menetelmä on hyvin monikäyttöinen, sillä se soveltuu kaikenlaisten osittaisdifferentiaaliyhtälöiden numeeriseen ratkaisemiseen. Elementtimenetelmällä voidaan mallintaa muun muassa rakenteiden taipumista ja niiden kokemia jännityksiä, kappaleen sisäistä sähkönjohtavuutta sekä nesteen tai kaasun käyttäytymistä. Menetelmä luotiin alun perin erityisesti kone- ja rakennustekniikan alalle erilaisten rakenteiden statiikan ja dynamiikan käsittelyyn, mutta nykyään sitä käytetään laajasti eri aloilla, muun muassa lujuusopissa, virtausmekaniikassa, geofysiikassa, sähkötekniikassa, akustiikassa ja bioteknologiassa.
Matemaattinen muotoilu.
Yksiulotteinen esimerkki.
Tutkitaan esimerkkinä seuraavaa reunaehto-ongelmaa: etsi funktio formula_1, joka toteuttaa seuraavat ehdot: 
formula_2
formula_3.
Tässä formula_4 tarkoittaa sellaisten funktioiden joukkoa, jotka ovat kahdesti derivoituvia välillä formula_5 ja funktio formula_6 tunnetaan. 
Heikko muoto.
Elementtimenetelmää varten ongelma on kirjoitettava niin sanottuun "heikkoon muotoon" eli variaatiomuotoon. Tämä tapahtuu kertomalla yhtälö molemmin puolin jollakin reunaehdot täyttävällä funktiolla formula_7 ja integroimalla saadun yhtälön molemmat puolet.
formula_8
Tämän yhtälön vasen puoli voidaan osittaisintegroida, jolloin osittaisintegroinnin toinen termi katoaa sen vuoksi, että formula_9. Saatu ongelma heikossa muodossa on tämän jälkeen
formula_10.
Yllä oleva yhtälö on tarkoitus ratkaista siten, että pyritään löytämään formula_11, joka toteuttaa yhtälön kaikilla halutuilla tarpeeksi hyvin käyttäytyvillä funktioilla formula_12 (sopiva funktioavaruus formula_12:lle on esimerkiksi Sobolevin avaruus). Heikko muoto auttaa ongelman muotoilemisessa lineaarialgebran käsitteiksi. Lisäksi heikon muodon etuna on, että se lieventää hieman ehtoja, joita funktiolta formula_11 vaaditaan, jolloin useampi ongelma on ratkaistavissa. Nyt funktion formula_11 on oltava vain kerran derivoituva, sen on ratkaistava ongelma vain halutuilla funktioilla formula_12 ja lisäksi integraali voidaan määrittää, vaikka formula_11 ei olisikaan derivoituva yksittäisissä pisteissä. 
Diskretointi.
Jotta ongelman voisi ratkaista tietokoneella, vastausta pitää etsiä jostakin äärellisulotteisesta funktioavaruudesta. Elementtimenetelmän tapauksessa vastausta approksimoidaan paloittain määritellyllä polynomilla. Käytetään tässä esimerkissä paloittain lineaarisia funktioita. Lineaariset kantafunktiot formula_18 ovat nyt terävän hatun muotoisia ja ne määritellään seuraavasti:
formula_19
Otetaan esimerkkiin neljä kantafunktiota. Tällöin mikä tahansa elementtiavaruuteen formula_20 kuuluva funktio voidaan kirjoittaa tässä kannassa muodossa
formula_21
joillain kertoimilla formula_22. Niinpä heikko ongelma elementtiavaruudessa on seuraava: etsi formula_23, jolle pätee
formula_24.
Funktio formula_25 voidaan kirjoittaa kantafunktioiden avulla muodossa formula_26. Sijoitetaan tämä yllä olevaan. Nyt ongelmana on löytää kertoimet formula_27, joille
formula_28.
Elementtiavaruus formula_20 on äärellinen ja riittää tarkistaa, että yhtälö toteutuu formula_30:n ollessa avaruuden kantafunktio. Siispä ongelma voidaan kirjoittaa seuraavasti: löydä kertoimet formula_27 siten, että
formula_32
jokaiselle formula_33. Tämän voi nyt kirjoittaa lineaarisena yhtälöryhmänä
formula_34,
jossa matriisi formula_35 ja vektorit formula_36 sekä formula_37 on määritelty seuraavasti:
formula_38
formula_39
formula_40.
Kantafunktiot ja niiden derivaatat sekä funktio formula_41 tunnetaan ja matriisin formula_35 sekä vektorin formula_37 elementit voidaan laskea näistä numeerisesti integroimalla, joten lineaarisesta yhtälöryhmästä voidaan ratkaista vektori formula_36. Huomionarvoista on, että matriisi formula_35 on symmetrinen, positiividefiniitti ja harva, eli suurin osa sen alkioista on nollia. Saatu lineaarinen yhtälöryhmä on usein niin suuri, ettei sitä kannata ratkaista eksaktisti ja vektori formula_36 ratkaistaankin usein esimerkiksi konjugaattigradienttimenetelmällä.
Moniulotteinen esimerkki.
Elementtimenetelmä soveltuu hyvin esimerkiksi Poissonin yhtälön ratkaisuun sekä kahdessa että kolmessa ulottuvuudessa. Yhtälö voidaan kirjoittaa Laplacen operaattorilla muodossa: 
formula_47
formula_48
missä formula_49 on jokin tarpeeksi mukavan muotoinen kaksi- tai kolmiulotteinen alue, esimerkiksi monikulmio. Tämän yhtälön heikko muoto on
formula_50.
Elementtimenetelmä toimii kaksi- ja kolmiulotteisissa tapauksissa hyvin samalla lailla kuin yksiulotteisessakin. Lineaarinen ongelma muodostetaan heikosta muodosta käytännössä analogisesti yksiulotteisen esimerkin kanssa. Kaksiulotteista ratkaisua varten on muodostettava esimerkiksi kolmioista koostuva verkko, jonka kolmioiden kärkipisteissä aina yksi kantafunktioista on arvoltaan yksi ja kaikki muut nollia. Myös esimerkiksi nelikulmioista koostuvaa verkkoa voidaan käyttää. Lineaarisessa tapauksessa näin muodostuvat kantafunktiot ovat ikään kuin pyramidin muotoisia ja elementtimenetelmän antamat ratkaisut ovat paloittain määriteltyjä lineaarisia funktioita kahdessa ulottuvuudessa. Kolmiulotteisessa tapauksessa verkko taas voi koostua esimerkiksi tetraedreistä.