modellierung von hydrosystemen numerische und daten-basierte … · mathematischen trick in diesen...

Post on 02-Mar-2021

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modellierung von Hydrosystemen

”Numerische und daten-basierte Methoden”

BHYWI-22-V2-09 @ 2020

Finite-Elemente-Methode

Saulen-Modell

Olaf Kolditz

*Helmholtz Centre for Environmental Research – UFZ

1Technische Universitat Dresden – TUDD

2Centre for Advanced Water Research – CAWR

10.07.2020 - Dresden

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 1 / 31

Lecture Table of Contents

I Zusammenfassung FDM

I Einfuhrung in die Finite-Elemente-Methode (am Beispiel einerBodensaule)

I Implementierung

I Testbeispiel

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 2 / 31

Zusammenfassung

explizite FDM implizite FDM- Pro / Cons

- FDM:einfacheImplemen-tierung, starreGeometrien

- FEM:schwieriger zuimplemen-tieren (heute),flexibleGeometrien

FEM

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 3 / 31

Finite-Elemente-Methode (FEM)

Wir haben uns sehr intensiv mit der Methode der finitenDifferenzen beschaftigt. Bei der Einfuhrung der numerischenBerechnungsmethoden in der Hydroinformatik II Veranstaltunghaben wir gesehen, dass es ein ganzes Arsenal von Verfahren gibt(Abb. 2.1, Hydroinformatik II Skript), welche fur bestimmteProblemstellungen geeignet oder ungeeignet sind. In denVisualisierungsubungen im VISLab werden wir sehen, dass FDVerfahren Grenzen haben, wenn es um die exakte Beschreibungkomplexer Geometrien geht. Hier sind Verfahren im Vorteil, diesogenannte unstrukturierte Rechengitter benutzen konnen. Hierzuzahlt z.B. die Finite Elemente Methode, mit der wir uns nun etwasnaher beschaftigen mochten. Die Abb. 1 zeigt uns ein aktuellesBeispiel aus einem Forschungsvorhaben zusammen mit derBundesanstalt fur Geowissenschaften und Rohstoffe (BGR) inHannover

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 4 / 31

Finite-Elemente-Methode (FEM)

Figure: Modellierung eines Kluftsystems im Kristallin (Herbert Kunz,BGR)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 5 / 31

Finite-Elemente-Methode (FEM) - Motivation

Figure: Bodensaulenmodell zur Erlauterung der FE Methode nach Istok(1989)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 6 / 31

Finite-Elemente-Methode (FEM) - Konzept

Wir betrachten ein 1D stationares Grundwasserstromungsproblem.

∂x

(Kx

∂h

∂x

)= 0 (1)

Ein Naherungsverfahren wird uns eine Naherungslosung h liefern,welche die Bilanzgleichung (1) nicht mehr ganz korrekt erfullt.

∂x

(Kx

∂h

∂x

)= R(x) 6= 0 (2)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 7 / 31

Finite-Elemente-Methode (FEM)

Dabei ist R(x) der Fehler, das sogenannte Residuum. DasResiduum kann in den verschiedenen Gitterpunkten i , junterschiedliche Wert Ri 6= Rj annehmen. Am Knoten 3 hangendie Elemente (2) und (3) (Abb. 2). Daher ergibt sich dasResiduum im Knoten 3 aus den Elementwerten wie folgt.

R3 = R(2)3 + R

(3)3 (3)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 8 / 31

Finite-Elemente-Methode (FEM)

Ohne Beschrankung der Allgemeinheit konnen wir fur jedenKnoten i , das Residuum wie folgt schreiben.

Ri =

p∑e=1

R(e)i (4)

Dabei ist p die Anzahl der Elemente, die am Knoten i angebundensind.

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 9 / 31

Finite-Elemente-Methode (FEM)

Der Elementbeitrag zum Residuum lasst sich wie folgt berechnen.

R(e)i =

∫ xej

xei

N(e)i

(K

(e)x

∂2h(e)

∂x2

)dx (5)

Dabei ist N(e)i ≡Wi (x) eine Interpolationsfunktion auf dem

Element (e) (Abb. 3).

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 10 / 31

Finite-Elemente-Methode (FEM)

Figure: Interpolationsfunktion fur die Galerkin-Methode nach Istok (1989)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 11 / 31

Finite-Elemente-Methode (FEM)

Die gleiche Beziehung lasst sich den anderen Element-Knoten jschreiben.

R(e)j =

∫ x(e)j

x(e)i

N(e)j

(K

(e)x

∂2h(e)

∂x2

)dx (6)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 12 / 31

Finite-Elemente-Methode (FEM)

Die linearen Interpolationsfunktionen fur 1D Elemente sind

N(e)i (x) =

x(e)j − x

L(e), N

(e)j (x) =

x − x(e)i

L(e)(7)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 13 / 31

Finite-Elemente-Methode (FEM)

Die approximierte Feldgroße h kann nun wie folgt auf dem 1Dfiniten Element interpoliert werden (Abb. 3).

h(e)(x) = N(e)i hi + N

(e)j hj

=x(e)j − x

L(e)hi +

x − x(e)i

L(e)hj (8)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 14 / 31

Finite-Elemente-Methode (FEM)

Figure: Interpolierte Naherungslosung auf einem 1D Element nach Istok(1989)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 15 / 31

Finite-Elemente-Methode (FEM)

Jetzt stoßen wir auf ein ernsthaftes Problem. In den Gleichungen(5) und (6) mussten wir Ableitungen zweiter Ordnung berechnen,unsere Interpolationsfunktionen sind aber linear - also existierenkeine zweiten Ableitung - was tun? Wir machen einemathematischen Trick in diesen Gleichungen. Ein partielleIntegration von (5) ergibt. ∫ xej

xei

N(e)i

(K

(e)x

∂2h(e)

∂x2

)dx (9)

= −∫ xej

xei

K(e)x

∂N(e)i

∂x

∂h(e)

∂xdx + N

(e)i K

(e)x

∂h(e)

∂x

∣∣∣∣∣xej

xei

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 16 / 31

Finite-Elemente-Methode (FEM)

I Wie konnen wir die Umformung in Gleichung (10) uberprufen?

Der zweite Term auf der rechten Seite von (10)

N(e)i K

(e)x

∂h(e)

∂x

∣∣∣∣∣xej

xei

(10)

entspricht der Vorgabe von Werten auf den Randknoten xej und xeides Elements (e). Handelt es sich um einen Randknoten, danngeht es um Randbedingungen.

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 17 / 31

Finite-Elemente-Methode (FEM)

I Um welchen Randbedingungstypen handelt es bei (10)?

I Welche Randbedingung ist es, wenn der Wert von (10) gleichNull ist?

I Was passiert mit inneren Knoten?

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 18 / 31

Finite-Elemente-Methode (FEM)

Nun setzen wir die Beziehung (10) in die Gleichung (5) ein underhalten.

R(e)i =

∫ xej

xei

N(e)i

(K

(e)x

∂2h(e)

∂x2

)dx

= −∫ xej

xei

K(e)x

∂N(e)i

∂x

∂h(e)

∂xdx + N

(e)i K

(e)x

∂h(e)

∂x

∣∣∣∣∣xej

xei

(11)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 19 / 31

Finite-Elemente-Methode (FEM)

Jetzt mussen wir uns um ∂h(e)/∂x kummern.

∂h(e)

∂x=

∂x

(N

(e)i hi + N

(e)j hj

)=

∂N(e)i

∂xhi +

∂N(e)j

∂xhj (12)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 20 / 31

Finite-Elemente-Methode (FEM)

Nach Einsetzen der Interpolationsfunktionen erhalten wirschließlich.

∂h(e)

∂x=

1

L(e)(−hi + hj) (13)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 21 / 31

Finite-Elemente-Methode (FEM)

Fur die Ableitungen der linearen Interpolationsfunktionen folgt.

∂N(e)i

∂x=

∂x

x(e)j − x

L(e)

= − 1

L(e)(14)

∂N(e)j

∂x=

∂x

(x − x

(e)i

L(e)

)=

1

L(e)(15)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 22 / 31

Finite-Elemente-Methode (FEM)

Setzen wir jetzt die Beziehungen in die Gleichung (11) ein, ergibtsich.

R(e)i =

∫ xej

xei

K(e)x

(− 1

L(e)

)(1

L(e)

)(−hi + hj)

=K

(e)x

L(e)(hi − hj) (16)

In gleicher Weise bekommen wir.

R(e)j =

K(e)x

L(e)(−hi + hj) (17)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 23 / 31

Finite-Elemente-Methode (FEM)

Beide Gleichungen (16) und (17) lassen sich zusammen in einerMatrizen-Form schreiben.

{R(e)i

R(e)j

}=

K(e)x

L(e)

[+1 −1−1 +1

]︸ ︷︷ ︸

2×2

{hihj

}(18)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 24 / 31

Finite-Elemente-Methode (FEM)

Leitfahigkeitsmatrix

[K (e)] =K

(e)x

L(e)

[+1 −1−1 +1

]︸ ︷︷ ︸

2×2

(19)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 25 / 31

Finite-Elemente-Methode (FEM)

Aufgrund der Elementgeometrien L(e) (Abb. 2) ergeben sichfolgende Elementmatrizen.

[K (1)] =

[+1/2 −1/2−1/2 +1/2

], [K (2)] =

[+1 −1−1 +1

][K (3)

]=

[+1/3 −1/3−1/3 +1/3

], [K (4)] =

[+1/3 −1/3−1/3 +1/3

](20)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 26 / 31

Finite-Elemente-Methode (FEM)

Zusammenbauen des Gleichungssystems.

{R} = [K]{h} = 0 (21)

{R} =

R1

R2

R3

R4

R5

, {h} =

h1h2h3h4h5

(22)

[K] = [K(1)] + [K(2)] + [K(3)] + [K(4)] (23)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 27 / 31

Finite-Elemente-Methode (FEM)

[K] =

1/2 −1/2 0 0 0−1/2 1 + 1/2 −1 0 0

0 −1 1 + 1/3 −1/3 00 0 −1/3 1/3 + 1/3 −1/30 0 0 −1/3 1/3

=

1/2 −1/2 0 0 0−1/2 3/2 −1 0 0

0 −1 4/3 −1/3 00 0 −1/3 2/3 −1/30 0 0 −1/3 1/3

(24)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 28 / 31

Finite-Elemente-Methode (FEM)

1/2 −1/2 0 0 0−1/2 3/2 −1 0 0

0 −1 4/3 −1/3 00 0 −1/3 2/3 −1/30 0 0 −1/3 1/3

h1h2h3h4h5

=

00000

(25)

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 29 / 31

Finite-Elemente-Methode (FEM) - Implementierung

Vergleichen wir die Quelltexte der main Funktionen fur FD und FEVerfahren, sehen wir kaum Unterschiede. Das heisst die Ablaufe(Algorithmen) sind sehr ahnlich.

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 30 / 31

Finite-Elemente-Methode (FEM)

extern void Gauss(double*,double*,double*,int);

int main()

{

//----------------------------------------------

FEM* fem = new FEM();

fem->SetInitialConditions();

fem->SetBoundaryConditions();

//----------------------------------------------

int tn = 10;

for(int t=0;t<tn;t++)

{

fem->AssembleEquationSystem();

Gauss(fem->matrix,fem->vecb,fem->vecx,fem->IJ);

fem->SaveTimeStep();

fem->OutputResults(t);

}

//----------------------------------------------

return 0;

}

Olaf Kolditz - Modellierung von Hydrosystemen // BHYWI-22-V2-09 @ 2020 - Finite-Elemente-Methode - 10.07.2020 31 / 31

top related