Finita elementmetoden

Från Wikipedia
Hoppa till: navigering, sök
Ett exempel på ett beräkningsnät (i dagligt tal kallat en mesh) som kan användas för analys med finita elementmetoden. Man har här försökt modellera ett rör i ett magnetfält. De olika färgerna illustrerar att materialen är olika.
Beräkningsresultatet från finita elementmetoden visualiserat. Här har FEM använts för att beräkna magnetisk flödestäthet.

Finita Elementmetoden (FEM) är en numerisk metod för att lösa partiella differentialekvationer med hjälp av datorer. Sedan 1980-talet har FEM fått mycket bred användning inom vetenskap och teknologi eftersom den tillåter att mycket komplexa tekniska problem kan analyseras i detalj. Inom t ex mekanisk konstruktion används FEM bland annat för hållfasthetsanalys. FEM är integrerat i moderna CAD-system vilket tillåter konstruktörer att snabbt och realistiskt kontrollera hållfastheten på detaljer som ännu inte existerar annat än som datormodeller. Vid design av elektriska maskiner kan FEM användas för att beräkna elektriska fält i maskinen som i sin tur kan användas för att beräkna hur stora energiförlusterna kommer bli.[1][2]

Vid lösandet av partiella differentialekvationer är den huvudsakliga utmaningen att skapa en ekvation som approximerar den partiella differentialekvationen men som är numeriskt stabil, vilket betyder att fel i indata inte förstoras så att resultatet blir oanvändbart. Det finns flera sätt att göra detta och finita elementmetoden är bra för att lösa partiella differentialekvationer på problem med komplexa ytor, exempelvis bilar, eller när vissa delar av området kräver större noggrannhet än andra. Vid väderprognoser är det viktigare att ha korrekt prognos över land än till havs, vilket är möjligt med finita elementmetoden.

Metoden i korthet[redigera | redigera wikitext]

Finita elementmetoden används för att lösa partiella differentialekvationer approximativt. Första steget i FE-metoden är att skriva om differentialekvationen i variationsform. Sedan delas problemdomänen upp i en stor mängd små delområden med nodpunkter längs områdesgränserna. Till varje nodpunkt i definieras en funktion \phi_i(x) som är kontinuerlig över hela problemdomänen men nollskild endast i de delområden som omger noden. Ekvationens approximativa lösning beskrivs som en linjärkombination av alla \phi_i

U = \sum_{j=1}^N U_j \phi_j.

Funktionerna \phi_i kallas för finita element. Viktningen U_i kan nu bestämmas genom insättning i variationsproblemet.[3]

Historia[redigera | redigera wikitext]

Finita elementmetoden har sitt ursprung i behoven att lösa komplexa elasticitets- och strukturanalysproblem inom flyg- och strukturmekanik. Dess utveckling började med arbeten av A. Hrennikoff (1941) och R. Courant (1942) . Fastän tillvägagångssättet var olika hade de en viktig sak gemensam: uppdelandet av ett kontinuerligt område till en uppsättning diskreta delområden. Hrennikoffs arbete delar upp området genom att använda galleranalogi medan Courant använder finita triangulära delområden för lösning av andra ordningens differentialekvationer som kommer från problemet med vridning av en cylinder.

Metoden fick en ordentlig matematisk grund 1973 i och med publiceringen av Strang och Fixs An Analysis of The Finite Element Method, och har sedan dess generaliserats till numerisk modellering av fysiska problem inom många ingenjörsområden, exempelvis elektromagnetism och strömningsdynamik.

Implicita och explicita finita elementmetoder[redigera | redigera wikitext]

Det finns två principiellt olika lösningsmetoder för finita element. Implicit och explicit. Den implicita metoden lämpar sig bäst för problem med små olinjäriteter och stora krav på noggrannhet. Lösningen är ovillkorligt stabil och steglängden påverkar endast lösningens noggrannhet. Denna metod har större krav på RAM men ger å andra sidan noggrannare resultat. Exempel på analyser som lämpar sig för implicit lösning är statiska spänningsanalyser. Den explicita metoden lämpar sig mer för problem med stora olinjäriteter (materialmodeller, stora deformationer, kontaktytor etc.). Lösningen är villkorligt stabil av steglängden och för stora inkrement genererar felaktiga resultat. Fördelen med denna metod är att man lättare får konvergens vid stora olinjäriteter, beräkningen skalar bättre på många processorer (SMP eller kluster) och är inte lika minneskrävande. Exempel på analyser som använder explicit lösare är krock-, islag- och explosionsanalyser.

Exempel[redigera | redigera wikitext]

Antag att vi vill lösa den tidsoberoende värmeledningsekvationen med homogen värmeutveckling i domänen och konstant temperatur vid ränderna. Detta problem beskrivs av Poissons ekvation och kan enkelt lösas med finita elementmetoden. Lösningen kan generaliseras till andra differentialekvationer och högre dimensioner.[3]

Problemets ekvation kan skrivas

\frac{d^2 u}{d x^2} = -1

med randvillkoren

u(0)=u(1)=0

och skrivs först om i variationsform. Detta görs genom att ekvationen multipliceras med en godtagbar funktion v. En godtagbar funktion är en funktion som uppfyller problemets randvillkor v(0)=v(1)=0. Därefter integreras båda sidor. Efter delvis integration har vi

\int_0^1 \frac{du}{dx}\frac{dv}{dx}\,dx = \int_0^1 v\,dx

Domänen delas upp i en mesh med 6 noder. Nodernas läge väljs till

x_j = \frac{j}{5} \equiv hj, \quad j = 0,\dots , 5
Meshen och basfunktionen \phi_2(x).

Till varje intern nod i knyts en så kallad basfunktion (ett så kallat finit element)


    \phi_i(x) = \begin{cases}
        \cfrac{x-x_{i-1}}{x_i-x_{i-1}} & x \in [x_{i-1}, x_i] \\
        \cfrac{x-x_{i+1}}{x_i-x_{i+1}} & x \in [x_{i+1}, x_i] \\
        0 & \text{annars}
    \end{cases}

Nu antas att lösningen till problemet kan skrivas

U = \sum_{j=1}^4 U_j \phi_j.

Insättning i variationsformuleringen ger

\sum_{j=1}^4 U_j \int_0^1 \frac{d\phi_j}{dx}\frac{dv}{dx}\,dx = \int_0^1 v\,dx

Denna ekvation gäller för alla godtagbara funktioner v. I synnerhet gäller de för alla basfunktioner \phi_i. Successiv insättning av dessa i ovanstående ekvation ger det algebraiska ekvationssystemet

\sum_{j=1}^4 U_j \int_0^1 \frac{d\phi_j}{dx}\frac{d\phi_i}{dx}\,dx = \int_0^1 \phi_i\,dx\quad i=1,\dots,4

Ekvationssystemet kan skrivas i matrisform som

K U = f

där matrisen K har komponenterna

K_{ij} = \int_0^1 \frac{d\phi_j}{dx}\frac{d\phi_i}{dx}\,dx

och

\mathbf{f}_i = \int_0^1 \phi_i\,dx.

FE-metoden har sitt ursprung inom strukturanalys och därför kallas K traditionellt för systemets styvhetsmatris. Vektorn f kallas för systemets lastvektor.

Integralerna kan i detta fall lösas analytiskt

\int_0^1 \frac{d\phi_j}{dx}\frac{d\phi_i}{dx}\,dx = \begin{cases} 0 & \| i-j \| > 1 \\ -1/h & \| i-j \| = 1 \\ 2/h & i = j \end{cases}
\int_0^1 \phi_j\,dx = h.
K = \left( \begin{array}{cccc} 2/h &  -1/h & 0    & 0   \\ -1/h  & 2/h & -1/h  & 0   \\ 0    &  -1/h & 2/h & -1/h \\ 0    &   0  &  -1/h & 2/h \end{array} \right)
f = \left( \begin{array}{c} h \\ h \\ h \\ h \end{array} \right)
Finita elementlösningen tillsammans med analytisk lösning.

Lösningen till KU=f är

\begin{cases} U_1 = 0.08 \\ U_2 = 0.12 \\ U_3 = 0.12 \\ U_4 = 0.08 \end{cases}

Den analytiska lösningen är

u(x) = \frac{1}{2}x(1-x)

I detta fall är FEM-lösningen exakt i nodpunkterna.

Exempel på programvara för FE-analys[redigera | redigera wikitext]

Nuförtiden ingår FEM som en naturlig komponent i alla större CAD-system. Dessa paket är dock oftast begränsade till enklare analyser. För allmänna FEM-beräkningar finns ett antal omfattande programpaket. Nedan följer en inkomplett lista[1]

Prorietära[redigera | redigera wikitext]

  • MSC/NASTRAN - Omfattande paket för linjär och olinjär strukturanalys. Härstammar från NASA och flygindustrin. Vida använt med anor från FEM:s barndom.
  • HyperWorks - Heltäckande simuleringsvektyg för linjära- olinjära- och strömningsproblem samt stelkroppsdynamik. Specialicerat på optimering av strukturer.
  • LS-DYNA - Omfattande paket för olinjär explicit struktur- och strömningberäkningar. Härstammar från atombombsimuleringar. Vida använt för krocksimulering i bilindustrin.
  • ABAQUS - Omfattande paket för olinjär strukturanalys.
  • ANSYS - Omfattande paket. Har sitt ursprung inom kärnkraftindustrin.
  • COMSOL - Multiphysics simulering.
  • ADINA - Specialiserat på olinjär analys

Öppen källkod[redigera | redigera wikitext]

  • Elmer - Multiphysics simulering.
  • Calculix - Allmän olinjär strukturanalys.
  • Code_Aster - Omfattande franskt program med rötter i kärnkraftsindustrin

Referenser[redigera | redigera wikitext]

  1. ^ [a b] Sunnersjö, Staffan (1999). FEM i praktiken: en introduktion till finita elementmetodens praktiska tillämpning (2., [granskade och kompletterade] utg.). Stockholm: Sveriges verkstadsindustrier. Libris 8374937. ISBN 91-7548-541-9 
  2. ^ Zienkiewicz, O. C.; Taylor Robert Leroy (2005) (på eng). Finite Element Method Set [Elektronisk resurs]. Butterworth-Heinemann. Libris 11954543 
  3. ^ [a b] Logg, Anders.; Mardal Kent-Andre., Wells Garth. (2012) (på eng). Automated Solution of Differential Equations by the Finite Element Method [Elektronisk resurs : The FEniCS Book]. Lecture Notes in Computational Science and Engineering, 1439-7358 ; 84. Berlin, Heidelberg: Springer Berlin Heidelberg. Libris 12733043. ISBN 9783642230998. https://launchpadlibrarian.net/83776282/fenics-book-2011-10-27-final.pdf 

Externa länkar[redigera | redigera wikitext]

Uppdatera denna sida