Lõplike elementide meetod

**Lõplike elementide meetod** ehk **LEM** (ingl k *finite element method*, FEM) on numbriline arvutusmeetod insener-tehniliste ja füüsikaliste probleemide lahendamiseks. Meetod hõlmab üldiste (osatuletistega) diferentsiaalvõrrandite ja/või nende süsteemi aproksimeerimist ehk lähendamist üle mingi (pideva) piirkonna (nt tasand), mis jaotatakse väiksemateks, lõplikeks elementideks (nn piirkonna diskreetimine). Numbriline lahend kogu piirkonna jaoks saadakse lõplike elementide summeerimisega mingi eeskirja järgi.

## Ajalugu

Esmakordselt kasutas piirkonna diskreetimist saksa matemaatik Karl Schellbach 1851. aastal, seda Plateau probleemi lahendamisel.  Lord Rayleigh', Walther Ritzi ja Boris Galjorkini hilisem arendustöö variatsiooniarvutuse ja kaalutud hälvete meetodites andis samuti märkimisväärse panuse LEMi teooriasse.
Hiljem on diskreetimist kasutanud Richard Courant, kes 1943. aastal uuris Saint-Venant' väändeprobleemi, kasutades ka Rayleigh'-Ritzi meetodit, kuigi tema töö jäi suurema tähelepanuta. Kaasaegse LEMi formuleerimisele aitas kaasa John Argyrise 1954. aastal avaldatud artikkel struktuurianalüüsi ja energiateoreemi teemadel. Argyrisest sõltumatult panustasid tänapäevase LEMi väljatöötamisse Ray William Clough (1960) ja M. J. Turner (1956), kellest viimane võttis kasutusele termini *lõplik element*.
Seoses aeronautikatööstuse ja arvutusjõudluse arenguga 1960. aastatel arendas NASA välja esimese LEMi tarkvara NASTRAN struktuurianalüüsi arvutuste jaoks. Edasistel aastatel kujunes LEM tööstusstandardiks, laienedes esialgsest struktuurianalüüsist soojusjuhtivuse, hüdromehaanika ja elektrodünaamika simulatsioonideni. Personaalarvutite tulekuga 1970. aastate lõpus ilmusid turule esimesed LEMi kommertstarkvarapaketid. 

## Meetodi põhimõte

Üldjoontes viiakse LEM läbi järgnevalt:

 määratakse probleemi dimensionaalsus, vastavad võrrandid, nende kehtivus- ja määramispiirkonnad (defineerib elementide dimensionaalsuse);
 piirkond jaotatakse väiksemateks osadeks e lõplikeks elementideks (kolmnurk, ristkülik jne) e diskreeditakse, st koostatakse lõplike elementide võre (ingl k *mesh*), milles iga element on seotud teise elemendiga võre sõlmpunkti kaudu (vt parempoolset joonist); piirkonna lihtsamateks osadeks jaotamisel on mitu eelist:

 keeruka geomeetria täpne kirjeldus;
 erinevate materjaliomaduste arvestamine;
 lokaalsete efektide arvestamine.


 iga element, täpsemini võre sõlmpunkt, seostatakse

 vabadusastmete arvuga (määrab elemendi edasise käitumise);
 materjali, üldiselt välja omadustega (termodünaamilistes simulatsioonides nt soojusmahtuvusega);
 asjakohaste (füüsikaliste) harilike diferentsiaal- või algebraliste võrranditega (eeldatakse, et sõltumatud muutujad võre sõlmpunktides on teada või siis need aproksimeeritakse mingi polünoomi abil);


 kõikide elementide panused summeeritakse, saades kogu probleemi kirjeldava globaalse võrrandite süsteemi;
 saadud võrrandite süsteem lahendatakse numbriliselt (vaja algväärtusi, nt temperatuurijaotus);
 vajalikud füüsikalised suurused arvutatakse iga elemendi jaoks.

Ülaltoodud punktidest järeldub, et LEM sobib mittelineaarsete efektide uurimiseks. Samuti nähtub punktidest, et vaadeldav pidev süsteem lõpmatu arvu tundmatutega lähendatakse diskreetse süsteemi ja lõpliku arvu tundmatutega. Kui teatud piirkonnas vajatakse suuremat täpsust, siis seal saab konstrueerida tihedama elementide võrgustiku. Tegemist oleks optimaalse lahendusega, kuna kogu piirkonda pole mõtet väga tihedalt diskreetida: nõudmised arvuti muutmälu, salvestusseadmete ja protsessorijõudluse osas kasvaksid viimasel juhul drastiliselt.

## Probleeminäide

LEMi tehniliseks käsitluseks sobib ühedimensiooniline homogeenne Dirichlet' probleem

:(1):u*(x)=f(x), x\in(0,1),\qquad u(0)=u(1)=0,</math>

kus <math>f(x)</math> on teadaolev funktsioon ja <math>u(x)</math> otsitav lahend. Esmalt tuleb formuleerida [[ääreväärtusprobleem|ääreväärtusprobleemi]] nõrk formulatsioon e [[nõrk vorm]], seejärel see diskreetida.

Korrutades esimest võrrandit valemis (1) skalaarselt suvalise funktsiooniga <math>v(x)</math>, mis rahuldab

:(2):<math>v(0)=v(1)=0,</math>

saadakse

:(3):<math>\int_0^1 v(x)u*(x) dx=\int_0^1 v(x)f(x) dx.

Võrrandi vasaku poole ositi integreerimine annab

:\int_0^1 v(x)u*(x) dx=v(x)u'(x)|_0^1-\int_0^1 v'(x)u'(x)dx=-\int_0^1 v'(x)u'(x)dx,</math>

milles viimase võrduse saamiseks kasutati valemit (2). Defineerides [[funktsionaal|funktsionaali]] <math>\phi(u,\cdot)</math> järgnevalt:

:<math>\phi(u,v)=\int_0^1 u'(x)v'(x) dx,</math>

saab valemi (3) kirja panna kui

:(4):<math>\int_0^1 v(x)f(x) dx=-\phi(u,v).</math>

Tegemist on nõrga vormiga probleemi (1) jaoks selles mõttes, et see seab nõrgemad tingimused lahendile <math>u</math> ja proovifunktsioonile <math>v</math>. Kui ääreväärtusprobleem oleks defineeritud üle mingi suvalise piirkonna <math>\Omega</math>, siis vastavad testfunktsioonid moodustaksid [[Sobolevi ruum|Sobolevi ruumi]] <math>H^1(\Omega)</math>. Testfunktsioonid rahuldavad <math>v|_{\Gamma}=0</math>, kus <math>\Gamma</math> on piirkonna <math>\Omega</math> tükati [[siledus|sile]] [[raja (topoloogia)|raja]]. On võimalik näidata, et <math>u\in H^1(\Omega)</math>. Probleeminäite testfunktsioonide ruumiks on <math>H^1(0,1)</math>.

=== Diskreetimine ===

Nõrga vormi (4) diskreetimine taandub lõpmatu-dimensioonilise lineaarse probleemi

:<math>\mbox{ leia } u\in H^1(0,1)\mbox{ nii, et }\forall v\in H^1(0,1)\mbox{ korral }-\phi(u,v)=\int fv</math>

asendamisele lõpliku-dimensioonilise probleemiga

:(5):<math>\mbox{ leia } u\in V\subset H^1(0,1)\mbox{ nii, et }\forall v\in V\mbox{ korral }-\phi(u,v)=\int fv</math>

kus <math>V</math> on lõpliku dimensiooniga tükiti polünoomide ruum.

Võttes intervalli <math>(0,1)</math>, jagatakse see <math>n+1</math> osaks: <math>0=x_0<x_1<\ldots<x_n<x_{n+1}=1</math>. Ruumi <math>V</math> määratletakse kui

:(6):<math>V=\{v:[0,1]\rightarrow\mathbb{R} \big| v\in C^0, v|_{[x_k,x_{k+1}]}\mbox{ on lineaarne }\forall k=0,\ldots,n\mbox{ ja } v(x_0)=v(x_{n+1})=0\},</math>

milles <math>C^0</math> tähistab pidevate funktsioonide hulka. Ülaltoodud definitsiooni kohaselt pole <math>v</math> diferentseeruv kogu määramispiirkonna ulatuses, st punktides <math>\{x_k\}_{k=0}^{n+1}</math> funktsiooni <math>v</math> tuletist ei leidu.

=== Baasi valik ===



Ruumi <math>V</math> jaoks saab valida järgneva baasi:

:<math>v_k(x)=\begin{cases}
\frac{x-x_{k-1}}{x_k-x_{k-1}}, & \mbox{ kui } x\in[x_{k-1},x_k],\\
\frac{x_{k+1}-x}{x_{k+1}-x_k}, & \mbox{ kui } x\in[x_k,x_{k+1}],\qquad\forall k=1,\ldots,n\\
0 & \mbox{ muul juhul }
\end{cases}.</math>

Sellise definitsiooni kohaselt on igas intervallis <math>[x_{k-1},x_{k+1}]</math> defineeritud baasifunktsioon <math>v_k</math> [[kolmnurkfunktsioon]]. Kehtib <math>v_i(x_j)=\delta_{ij}</math>, kus <math>\delta_{mn}</math> tähistab [[Kroneckeri sümbol|Kroneckeri sümbolit]]. Baas rahuldab järgmisi omadusi:

:(7):<math>\int_0^1 v_jv_k dx=0,\qquad\phi(v_j,v_k)=0,\qquad\mbox{ kui kehtib }|j-k|>1.</math>

=== Maatriksi kujule viimine ===

Kirjutades otsitava funktsiooni <math>u(x)</math> baasifunktsioonide <math>v_k(x)</math> kaudu

:<math>u(x)=\sum_{k=1}^nu_kv_k(x)</math>

ja tähistades valemis <math>v(x)=v_j(x)</math>, saab valemi (5) kirja panna kui

:(8):<math>-\sum_{k=1}^nu_k\phi(v_k,v_j)=\sum_{k=1}^n\int f(x)v_k(x) dx,\qquad\forall j=1,\ldots,n.</math>

Defineerides vektorid <math>\mathbf{u}=(u_1,\ldots,u_n)^T</math> ja <math>\mathbf{b}=(b_1,\ldots,b_n)^T</math>, kus <math>b_i=\int f(x)v_i(x) dx</math>, ning maatriksi <math>L=L_{ij}=\phi(v_i,v_j)</math>, saab valemi (8) avaldada kui

:(9):<math>-L\mathbf{u}=\mathbf{b}.</math>

Järelikult on ääreväärtusprobleem taandunud <math>\mathbf{u}</math> leidmisele võrrandis (9). Omaduse (7) tõttu on maatriks <math>L</math> sümmeetriline, positiivselt määratud ja [[hõre maatriks|hõre]], st enamus tema elementidest on nullid. Seda tüüpi võrrandite jaoks on välja töötatud mitmesuguseid algoritme, näiteks [[konjugeeritud gradiendi meetod]] ning [[LU dekompositsioon|LU-]] ja [[Cholesky dekompositsioon]], mis arvutite peal efektiivselt realiseeruvad.

=== Üldistused ===

LEMi on võimalik rakendada ka kõrgemaid (osa)tuletisi sisaldavatele ääreväärtusprobleemidele, näiteks [[Neumanni probleem|Neumanni]] ja segaprobleemile, üle suvalise piirkonna <math>\Omega</math>. Diferentsiaalvõrrandi järk määrab baasifunktsioonide pidevuse tingimused, piirkonna dimensionaalsus aga elementide dimensiooni, näiteks <math>\Omega\subset\mathbb{R}^2</math> võib jaotada kolmnurkadeks, ruutudeks või muuks kumeraks [[hulknurk|hulknurgaks]], <math>\Omega\subset\mathbb{R}^3</math> tetraeedriteks jne (ühedimensioonilises probleeminäites on piirkond sirglõikudeks jaotatud). Nõrk vorm formuleeritakse [[Greeni identsused|Greeni identsusi]] kasutades, nt homogeense Dirichlet' probleemi nõrgaks vormiks on

:<math>\int_\Omega fv dV=-\int_\Omega \nabla u \cdot \nabla v dV = -\phi(u,v).</math>

Baasifunktsioonid e interpolatsioonifunktsioonid on üldjuhul tükati polünoomid, nt [[Hermite'i polünoomid|Hermite'i]] ja [[Lagrange'i polünoomid]], kusjuures nende väärtused peavad pidevuse tagamiseks erinevate elementide kokkupuuteäärel olema võrdsed. Nõrga vormi koostamist ja selle lähendamist lõpliku baasiga nimetatakse [[Galjorkini meetod|Galjorkini meetodiks]]. Ülesanne taandub lõpuks numbrilisele maatriksivõrrandi lahendamisele või [[Runge-Kutta meetod|Runge-Kutta meetodi]] rakendamisele.

== Võrdlus lõplike vahede meetodiga ==

[[Lõplike vahede meetod]] (LVM) on alternatiivne viis osatuletistega diferentsiaalvõrrandite (süsteemi) lahendamiseks. Põhilised erinevused LEMi ja LVMi vahel on:
* LEM suudab keeruka geomeetria ja ääreväärtusprobleemi lahendada, samas kui LVMi lahendamise piirkond on ristkülikukujuline (või ristkülikutest koosnev);
* LVMi on lihtsam implementeerida;
* LVM on teatud probleemide (nt [[Poissoni võrrand|Poissoni võrrandi]]) puhul LEMi erijuht;
* LEMi lähendus on üldjuhul täpsem vastavast LVMi omast (kuigi see sõltub üsna palju probleemi püstitusest; LVMiga sama täpsuse saavutamiseks vajab LEM palju vähem võre sõlmpunkte, järelikult implementeerimisel ka vähem mälu andmete töötlemiseks).
LEMi kasutatakse üldiselt struktuurianalüüsis, samas kui [[arvutuslik hüdrodünaamika|arvutuslikus hüdrodünaamikas]] (nt õhuvoolude simulatsioon lennukitiiva ümber) kasutatakse rohkem LVMi või [[lõpliku ruumala meetod|lõpliku ruumala meetodit]].

== Rakendused ==

LEM on populaarne mehaanika valdkonda kuuluvate insener-tehniliste probleemide simulatsioonides. LEM on integreeritud aeronautika-, ehitus-, laeva-, auto- ja isegi mööblitööstuse disainimis- ning tootmisprotsessi. Paljud LEMi tarkvarapaketid koosnevad komponentidest, millest igaüks käsitleb erinevaid füüsikavaldkondi, nt [[termodünaamika]], [[elektromagnetism]], [[hüdrodünaamika]] ja [[mehaanika]]. LEM aitab visualiseerida [[pinge (tugevusõpetus)|materjalide pingeid]], nende jaotust ja konstruktsiooni vastupidavust, samuti on võimalik minimeerida erinevaid karakteristikuid, näiteks kaalu, materjali- ja tootmiskulu. LEMi tarkvara võimaldab simulatsiooni parametriseerida (nt konstruktsiooni pingete simulatsioon, kus parameetriks on erineva raskusega koormised), arvestada ajalist sõltuvust ja saada tulemus soovitud täpsuse piires.

LEM on märkimisväärselt parandanud tootearenduse standardeid ja metodoloogiat, seda eriti tööstusvaldkonnas. Näiteks on LEMi kasutuselevõtuga kontseptsioonist tootmisliinini jõudmise aeg oluliselt vähenenud. Seda tänu prototüüpide tarkvaralise testimise võimalusele, mis elimineerib mitteoptimaalsed või -töötavad prototüübid ning nendega seotud kulud, näiteks materjal ja aeg, tootearenduse algetappides.

Lisaks tööstuslikule rakendusele uuritakse LEMi abil füüsikalisi olukordi, mille tingimustes on raske eksperimenti läbi viia või seda seletav mudel vajaks kontrollimist.

== Vaata ka ==
* [[Galjorkini meetod]]
* [[Kompuuterfüüsika]]
* [[Lõplike vahede meetod]]
* [[Numbrilised meetodid]]
* [[Rayleigh'-Ritzi meetod]]
* [[Variatsiooniarvutus]]

== Viited ==


== Kirjandus ==

=== Eesti keeles ===
* Lahe, Andres. *Lõplike elementide meetod*. Tallinn, 2008. [http://staff.ttu.ee/~alahe/konspekt/myCD/Lem.pdf]
* Kirs, Jüri. *Sissejuhatus lõplike elementide meetodisse (I,II,III osa)*. Tallinn, 2001.
* Kasemägi, Heiki. *Kompuuterfüüsika II*. Tartu, 2009.

=== Võõrkeeltes ===

* Ottosen, N.S.; Petersson, H. *Introduction to the Finite Element Method*. Prentice Hall, 1992. ISBN 978-0134738772
* Zienkiewicz, O.C; Taylor, R.L.; Zhu, J.Z. *The Finite Element Method: Its Basis and Fundamentals (6th ed)*. Butterworth-Heinemann, 2006. ISBN 978-0750663205
* Segerlind, L.J. *Applied Finite Element Analysis (2nd ed)*. John Wiley & Sons, 1984. ISBN 978-0-471-80662-2
* Lewis, R.W.; Nithiarasu, P.; Seetharamu, K. *Fundamentals of the Finite Element Method for Heat and Fluid Flow''. John Wiley & Sons, 2004. ISBN 978-0470847893

## Välislingid
* Scholarpedia – Finite element method