23
Eine Methode zur Zeitdiskretisierung bei Discontinuous-Galerkin Verfahren mit lokalen Zeitschritten A local time-stepping method for discontinuous galerkin schemes Seminararbeit in der Studienrichtung Computational Engineering Science an der Rheinisch-Westfälischen Technischen Hochschule Aachen von Melven Zöllner Betreuer: Jens Zudrop Betreuender Professor: Prof. Manuel Torrilhon 18. November 2013

Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Eine Methode zur Zeitdiskretisierung beiDiscontinuous-Galerkin Verfahren mit lokalen Zeitschritten

A local time-stepping method for discontinuous galerkinschemes

Seminararbeit

in der Studienrichtung

Computational Engineering Science

an der

Rheinisch-Westfälischen Technischen Hochschule Aachen

von

Melven Zöllner

Betreuer:Jens Zudrop

Betreuender Professor:Prof. Manuel Torrilhon

18. November 2013

Page 2: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Inhaltsverzeichnis

Notation und Symbole 1

1 Einleitung 3

2 RK-DG-Verfahren 42.1 Discontinuous-Galerkin Diskretisierung im Raum . . . . . . . . . . . . . 42.2 Runge-Kutta Diskretisierung in der Zeit . . . . . . . . . . . . . . . . . . 5

3 Prädiktor-Korrektor-DG Verfahren 73.1 Lokaler CERK Prädiktor . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Globaler Korrektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter 104.1 Legendre-Polynome im eindimensionalen Fall . . . . . . . . . . . . . . . 104.2 Quadratur-freie Darstellung mittels Projektionsmatrizen . . . . . . . . . 114.3 Herleitung eines geeigneten lokalen Prädiktors . . . . . . . . . . . . . . . 12

5 Lokale Zeitschritte 155.1 Prädiktor-Korrektor – Ansatz . . . . . . . . . . . . . . . . . . . . . . . . 15

6 Implementierung und Ergebnisse 176.1 Skizze des gesamten Algorithmus . . . . . . . . . . . . . . . . . . . . . . 176.2 Validierung und Performance . . . . . . . . . . . . . . . . . . . . . . . . 18

7 Fazit 20

Page 3: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Notation und Symbole

In dieser Arbeit wird an vielen Stellen die Einsteinsche Summenkonvention verwendet;über doppelt auftretende, freie Indizes wird summiert.Folgende Schreibweisen sind somit äquivalent: ∂xαfα(w) und

∑3α=1

∂∂xα

fα(w). Dies istnichts anderes als ∇ · f(w).

w Vektor von Erhaltungsgrößen in Raum und Zeit: w : R3×R+ → Rm,m ∈N

fα Flussvektor in einer Raumrichtung α für ein System von Erhaltungsglei-chungen: fα : w→ fα(w) ∈ Rm

s Vektor der Quellterme für ein System von Erhaltungsgleichungen: s :w→ s(w) ∈ Rm

∂t (Schwache) partielle Ableitung nach t; Kurzform für ∂∂t

∂xα (Schwache) partielle Ableitung nach xα; Kurzform für ∂∂xα

α Index für eine Richtung im Raum: α = 1, 2, 3

w Funktion in Raum und Zeit: w : Ω× R+ → R

f(w) Physikalischer Fluss: f : w → f(w) ∈ R3

w0 Anfangsdaten im Raum: w0 : Ω→ R

Ω Rechengebiet (hier Ω = R3), unterteilt in Teilgebiete Ωk

k, l Indizes für die Teilgebiete des Rechengebietes Ω: k, l ∈ N

p Polynomgrad; kann sich im mehrdimensionalen wahlweise auf den totalenPolynomgrad („P“) oder den maximalen Polynomgrad in eine Richtung(„Q“) beziehen.

V ph Raum der stückweisen Polynome (auf Ωk) vom Grad maximal p ausge-

stattet mit dem Skalarprodukt (· , ·)L2

(· , ·)L2 L2-Skalarprodukt des Raumes V ph : (vi, vj)L2 =

∫Ω v

i(x)vj(x) dx

u, v Stückweise Polynome auf Ω: u, v ∈ V ph

nDOF Anzahl der Basisvektoren in jedem Teilgebiet Ωk

ϕik(x) Ansatz-Funktionen, Basis des Raumes V ph ; dabei ist ϕ

ik(x) = 0 für x 6∈ Ωk

ϕjk(x) Test-Funktionen, analog definiert zu ϕik

i, j Indizes der Basispolynome: i, j = 1, . . . , nDOF

1

Page 4: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

∫Ωk· dx Volumenintegral über das Gebiet Ωk

∂Ωk Rand des Gebietes Ωk; d.h. die Seiten von Ωk zu umliegenden Ωl

nα Äußerer Normaleneinheitsvektor bei der Integration über ∂Ωk

w−, w+ Innerer und äußerer Grenzwert von w am Rand des Gebietes Ωk∫∂Ωk· dσ Oberflächenintegral über den Rand des Gebietes Ωk

g(w−, w+, n) Numerischer Fluss: g :(w− w+ n

)→ g(w−, w+, n) ∈ R3

uik Einzelner Freiheitsgrad in Element Ωk, Koeffizient des Basispolynoms ϕik

uk Vektor aller Freiheitsgrade in Element Ωk

Mk Masse-Matrix des Elements Ωk: Mj,ik = (ϕik, ϕ

jk)L2

U(t) Vektor aller zeitabhängigen Koeffizienten uik des semi-diskreten DG-Verfahrens

U0 Anfangsdaten des semi-diskreten DG-Verfahrens

R(U) Diskreter Operator der DG-Diskretisierung im Raum: U ′(t) = R(U(t))

Un Numerische Lösung aller Koeffizienten uik zum Zeitpunkt tn

∆t Größe eines Zeitschrittes: ∆t = tn+1 − tn

Pk(uk(tn)) Operator des lokalen Prädiktors

Rk(vk) Diskreter Operator des lokalen DG-Prädiktors im Raum: v′k = Rk(vk)

qk(tn + θ∆t) Approximative Entwicklung der Koeffizienten uk in der Zeit: qk : θ →

qk(tn + θ∆t) ∈ RnDOF

Q Vektor aller lokalen Vorhersagen qk

C(Q) Operator des globalen Korrektors

δi,j Kronecker-Delta: δi,j = 1 für i = j und andernfalls δi,j = 0

ϕjE Duale Legendre-Polynome im eindimensionalen Referenzintervall

ϕiE(x) Legendre-Polynome im eindimensionalen Referenzintervall ΩE = [−1, 1]

f ik,α Physikalischer Fluss aus Element Ωk in Polynomialbasis

gik,l Numerische Fluss der Seite ∂Ωk ∩ ∂Ωl in Polynomialbasis

Sk,α Steifigkeitsmatrix zur Projektion des physikalischen Flusses aus ElementΩk

Fk,l Matrix zur Projektion des numerischen Flusses der Seite ∂Ωk ∩ ∂Ωl

2

Page 5: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

1 Einleitung

Die computergestützte Analyse komplexer physikalischer Vorgänge ist wesentlich füreinen großen Bereich ingenieurstechnischer Probleme. Die zugrunde liegenden physika-lischen Gesetze lassen sich in vielen Fällen mit Hilfe partieller Differentialgleichungenformulieren, die die Erhaltung physikalischer Größen in Raum und Zeit beschreiben:

∂tw + ∂xαfα = s

Dabei bezeichnet w(x, t) den Vektor der Erhaltungsgrößen und fα den Vektor der Flüssedieser Größen in die Raumrichtungen α = 1, 2, 3. Mit s können Quellen und Senken derErhaltungsgrößen berücksichtigt werden.Hier relevante Beispiele für solche Systeme von Erhaltungsgleichungen sind die linearenMaxwell-Gleichungen zur Simulation elektrischer Felder und Ströme, sowie die Euler-Gleichungen zur Simulation kompressibler Strömungen unter Vernachlässigung von Rei-bungseffekten und Wärmetransport.In dieser Arbeit werden der Einfachheit halber zumeist skalare Erhaltungsgleichungenbetrachtet, die Darstellungen lassen sich jedoch auf Systeme übertragen.Zur Simulation benötigt man eine Diskretisierung dieser Gleichungen in Raum und

Zeit. Dazu kann man die partiellen Differentialgleichung zunächst im Raum diskretisie-ren und erhält so ein System gewöhnlicher Differentialgleichungen in der Zeit (Method ofLines). Dieses kann dann mit Hilfe von Verfahren für gewöhnliche Differentialgleichungenin der Zeit integriert werden, man muss jedoch das Zusammenspiel der Diskretisierungenin Raum- und Zeit berücksichtigen, um insgesamt ein stabiles Verfahren zu erhalten[1].Gebräuchliche Ansätze zur Diskretisierung im Raum stellen Finite-Volumen-Methoden(FV) und Finite-Elemente-Methoden (FE) dar. Finite-Volumen-Methoden haben einediskrete Erhaltungseigenschaft, was für Finite-Elemente-Methoden nicht notwendiger-weise gilt. Ideen beider Ansätze vereinen Discontinuous-Galerkin-Methoden (DG); sieweisen ebenfalls eine diskrete Erhaltungseigenschaft auf und erlauben die Verwendunghöherer Ordnung bei kleinem Abhängigkeitsbereich, was für die effiziente parallele Be-rechnung auf aktuellen Supercomputern von Vorteil ist. Des Weiteren ist es gegebenen-falls schwierig, geeignete FV-Stencils höherer Ordnung in komplexen Geometrien zu de-finieren. DG-Methoden sind jedoch weniger gebräuchlich und benötigen zum Teil zusätz-liche Stabilisierung, was einen aktuellen Forschungsgegenstand der Numerik darstellt[7].Da implizite Diskretisierungen in der Zeit hier in vielen Fällen zu großen, aufwendigzu lösenden Gleichungssystemen führen, werden zumeist explizite Verfahren wie Runge-Kutta-Methoden oder Mehrschrittverfahren (BDF) eingesetzt.In dieser Arbeit wird ein spezielles Discontinuous-Galerkin Verfahren betrachtet, das amLehrstuhl für Angewandtes Supercomputing im Maschinenbau an der RWTH-Aachenentwickelt wurde[6]. Für dieses wird die Implementierung einer Methode zur Zeitdis-kretisierung vorgestellt, die auf einem Prädiktor-Korrektor-Ansatz beruht und lokaleZeitschritte ermöglicht[3]. Der Schwerpunkt liegt dabei auf einer möglichst effizientenBerechnung der benötigten DG-Operationen.Insgesamt wird verdeutlicht, wie sich eine Prädiktor-Korrektor-Zeitdiskretisierung in einbestehendes Discontinuous-Galerkin-Framework integrieren lässt.

3

Page 6: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

2 RK-DG-Verfahren

Im folgenden werden kurz klassische RKDG-Methoden skizziert: Eine Discontinuous-Galerkin Diskretisierung im Raum führt zu einem System gewöhnlicher Differential-gleichungen in der Zeit. Dieses wird anschließend mit einem Runge-Kutta Verfahrendiskretisiert.Eine ausführlichere Darstellung von Discontinuous-Galerkin Verfahren findet sich bei-spielsweise in [7].

2.1 Discontinuous-Galerkin Diskretisierung im Raum

Betrachte die Differentialgleichung:

∂tw + ∂xαfα(w) = 0 ∀(x, t) ∈ Ω× R+,

w(x, 0) = w0(x) ∀x ∈ Ω (1)

Mit Ω = R3 und f : w → f(w) ∈ R3. Des weiteren sei Ω unterteilt in nicht überlappendeGebiete Ωk und V p

h der Raum der stückweisen Polynome vom Grad maximal p.Dieser sei ausgestattet mit einer Basis ϕik(x), die auf jedem Teilgebiet Ωk aus i =1, . . . , nDOF transformierten Basispolynomen des Einheitselements besteht. Ein belie-biges v ∈ V p

h lässt sich also mit den Koeffizienten vjk ∈ R und der Basis ϕjk, k ∈ N,j = 1, . . . , nDOF darstellen als:

v = vjkϕjk

Man fordert nun, dass das L2-Skalarprodukt der Differentialgleichung mit beliebigenstückweisen Polynomen Null ist:

(wt + ∂xαfα(w), v)L2 = 0 ∀v ∈ V ph

⇔ (wt + ∂xαfα(w), ϕjk)L2 = 0 ∀k, j

Dies kann man mittels partieller Integration umformen zu:

0 =

∫Ω

(wt + (∂xαfα(w))) ϕjk dx

=

∫Ωk

wtϕjk dx +

∫Ωk

(∂xαfα(w))ϕjk dx

=

∫Ωk

wtϕjk dx−

∫Ωk

fα(w)∂xαϕjk dx +

∫∂Ωk

fα(w−)ϕjk nα dσ

=d

dt

∫Ωk

wϕjk dx−∫

Ωk

fα(w)∂xαϕjk dx +

∫∂Ωk

fα(w−)ϕjk nα dσ

Der letzte Term repräsentiert den Fluss über die Kanten des Gebietes Ωk mit dem äu-ßeren Normaleneinheitsvektor n. In der obigen Form existiert jedoch keinerlei diskreteErhaltungseigenschaft, da für jedes Element das Flussintegral über den inneren Grenz-wert w− bestimmt wird.

4

Page 7: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Setzt man nun hier stattdessen einen numerischen Fluss g(w−, w+, n) mit äußeremGrenzwert w+ (d.h. innere Grenzwerte aus benachbarten Zellen) ein, erhält man:

d

dt

∫Ωk

wϕjk dx =

∫Ωk

fα(w)∂xαϕjk dx−

∫∂Ωk

g(w−, w+, n)ϕjk dσ ∀k, j

Die Lösung w(x, t) kann man im Raum mit einem stückweisen Polynom u(·, t) ∈ V ph in

einer Basis ϕik approximieren:

w(x, t) ≈ u(x, t) = uik(t)ϕik(x)

Damit ergibt sich die folgende semi-diskrete Darstellung eines DG-Verfahrens:(∫Ωk

ϕikϕjk dx

)(uik)

′(t) =

∫Ωk

fα(uikϕik)∂xαϕ

jk dx

−∑l

∫∂Ωk∩∂Ωl

g(uikϕ

ik, u

ilϕil, n)ϕjk dσ ∀k, j (2)

Hier bezeichnet Ωl ein zu Gebiet Ωk benachbartes Gebiet.Das Integral auf der linken Seite führt zu einer invertierbaren Masse-Matrix Mk, die nurvon der Wahl der Basen der Polynomräume der Ansatz- und Testfunktionen (ϕik, ϕ

jk)

abhängt:

Mk :=

(∫Ωk

ϕikϕjk dx

)j,i

(3)

Multiplikation mit der Inversen der Masse-Matrix in jedem Gebiet führt zu einer expli-ziten Darstellung von u′k. Man benötigt weiterhin Quadraturformeln zur numerischenAuswertung der Integrale und erhält so ein System gewöhnlicher Differentialgleichungender Form:

U ′(t) = R(U(t))

U(0) = U0 (4)

Hier bezeichnet U den Vektor aller Koeffizienten uik, U0 die Anfangsdaten in der gewähl-ten Basis ϕik und R(·) den diskreten Operator, der sich aus der obigen Discontinuous-Galerkin-Diskretisierung im Raum ergibt.

2.2 Runge-Kutta Diskretisierung in der Zeit

Dieses System gewöhnlicher Differenzialgleichungen kann mit einem Runge-Kutta-Verfahrendiskretisiert werden. Ein Beispiel ist das klassische, explizite vierstufige Runge-Kutta-

5

Page 8: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Verfahren (siehe beispielsweise [2]):

Un+1 = Un +∆t

6(k1 + 2k2 + 3k3 + k4) mit

k1 = R(Un)

k2 = R (Un + 0.5∆t k1)

k3 = R (Un + 0.5∆t k2)

k4 = R (Un + ∆t k3) (5)

6

Page 9: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

3 Prädiktor-Korrektor-DG Verfahren

Das Verfahren aus [3] besteht aus zwei Schritten:

1. Einem lokalen Prädiktor, der für jedes Element Ωk eine Vorhersage für die Ent-wicklung in der Zeit bestimmt:

qk = Pk (uk(tn)) ∀k (6)

Dabei bezeichnet Pk einen approximativen Evolutions-Operator und qk(tn+θ∆t),

θ ∈ [0, 1) sind zeitabhängige Koeffizienten; im Gegensatz dazu gibt uk(tn) nur den

Zustand im Element Ωk zum Zeitpunkt tn an.Insbesondere ist der Operator Pk lokal in dem Sinne, dass er nur den Zustands-vektor des Elements Ωk berücksichtigt und nicht die der umliegenden Elemente.

2. Einem globalen Korrektor, der aus den lokalen Vorhersagen aller Elemente denZustand zum Zeitpunkt tn+1 ermittelt:

Un+1 = Un + C(Q) (7)

Hier ist Q der Vektor aller lokalen Vorhersagen qk und C(Q) der Korrektur-Operator, der den Zustand zum nächsten Zeitschritt global bestimmt.

3.1 Lokaler CERK Prädiktor

Betrachte hier zunächst erneut die partielle Differentialgleichung zum Zeitpunkt tn:

wt + ∂xαfα(w) = 0, ∀(x, t) ∈ Ωk × [tn, tn+1)

w(x, tn) = uik(tn)ϕik ∀x ∈ Ωk

Approximiert man w(x, tn + θ∆t) für das Gebiet Ωk wie oben in Polynomialbasis als

wk(x, t) ≈ vik(tn + θ∆t)ϕik(x)

dann erhält man:

∂tvikϕ

ik = −∂xαfα(vikϕ

ik) ∀k

vk(tn) = uk(t

n)

Multiplikation mit den Testfunktionen ϕk und Integration über Ωk ergibt:

Mkv′k = −

∫Ωk

∂xαfα(vikϕik)ϕk dx (8)

Mit einer Quadraturformel für das Integral (und für nichtlineare f gegebenenfalls einergeeigneten Approximation des Terms ∂xαfα) erhält man für jedes Gebiet Ωk ein Systemgewöhnlicher Differentialgleichungen der Form:

v′k(tn + θ∆t) = Rk(vk(t

n + θ∆t))

vk(tn) = uk(t

n) (9)

7

Page 10: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Im Unterschied zu (4) hängt in diesem Fall die approximierte Lösung in jedem GebietΩk nicht von benachbarten Gebieten Ωl ab.Mit einem vierstufigen CERK-Verfahren (dritter Ordnung) aus [5] erhält man für den

lokalen Prädiktor Pk:

qk(tn + θ∆t) = uk(t

n) + ∆t (b1(θ)k1 + b2(θ)k2 + b3(θ)k3) mitk1 = Rk (uk(t

n))

k2 = Rk

(uk(t

n) +12

23∆t k1

)k3 = Rk

(uk(t

n)− 68

375∆t k1 +

368

375∆t k2

)k4 = Rk

(uk(t

n) +31

144∆t k1 +

529

1152∆t k2 +

125

384∆t k3

)und

b1(θ) =41

72θ3 − 65

48θ2 + θ

b2(θ) = −529

576θ3 +

529

384θ2

b3(θ) = −125

192θ3 +

125

128θ2

b4(θ) = θ3 − θ2 (10)

3.2 Globaler Korrektor

Den globalen Korrektur-Schritt erhält man aus (2) durch Integration über∫ tn+1

tn · dt:

Mkuk(tn+1) = Mkuk(t

n) +

∫ tn+1

tn

∫Ωk

fα(qikϕik)∂xαϕk dx dt

−∫ tn+1

tn

∑l

∫∂Ωk∩∂Ωl

g(qikϕ

ik, q

ilϕil, n)ϕk dσ dt ∀k (11)

Zur Anwendung des globalen Korrektur-Schrittes benötigt man Quadraturformeln zurnumerischen Auswertung der Integrale. Hier kann man für die Integrale im Raum dieselbe Diskretisierung wählen wie zuvor bei den RKDG-Methoden.Für die Integrale in der Zeit bietet sich eine Gauß-Legendre-Quadratur an (siehe bei-spielsweise [2]); verwendet man den oben vorgestellten Prädiktor, genügt eine Auswer-tung der Volumen- und Flächen-Integrale an zwei Stützstellen in der Zeit um insgesamtein Verfahren dritter Ordnung in der Zeit zu erhalten:

Un+1 = Un + ∆t (b1R(Q(tn + θ1∆t)) + b2R(Q(tn + θ2∆t))) mit

b1,2 =1

2

θ1,2 =

√3± 1

2√

3(12)

8

Page 11: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Hierbei bezeichnet R(·) den diskreten Operator aus (4). Insbesondere werden also inder obigen Formulierung des Korrektors nur Operationen benötigt, die auch im RKDG-Verfahren auftreten.

9

Page 12: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

4 Quadratur-freies Discontinuous-Galerkin Verfahren fürkubische Gitter

Im folgenden wird kurz ein spezielles Discontinuous-Galerkin Verfahren für kubischeGitter vorgestellt, das im Rahmen des Frameworks APES aus [6] entwickelt wurde.Die Beschreibung hier basiert auf [4], dort wird das Verfahren jedoch noch deutlichausführlicher dargestellt.

4.1 Legendre-Polynome im eindimensionalen Fall

Die grundlegende Idee besteht darin, spezielle Basen für die Ansatz- und Testfunktionenzu wählen. Im eindimensionalen Fall Ω = R bilden die Legendre-Polynomen eine ortho-gonale Basis bezüglich des L2-Skalarproduktes. Diese kann man im ReferenzintervallΩE = [−1, 1] rekursiv definieren als

ϕ1E(x) := 1,

ϕ2E(x) := x,

ϕi+1E (x) :=

2i− 1

ixϕiE(x)− i− 1

iϕi−1E (x). (13)

Für diese gilt insbesondere:

(ϕiE , ϕjE)L2 =

2

2i− 1δi,j

Des weiteren erhält man für Ableitungen der Legendre-Polynome:

∂xϕiE(x) =

1

2i− 1∂x(ϕi+1E (x)− ϕi−1

E (x))

Und an den Rändern des Referenzintervalls ergibt sich:

ϕiE(−1) = (−1)i−1 ∧ ϕiE(1) = 1

Zur effizienten Umsetzung des DG-Verfahrens ist es notwendig, die einzelnen in (2) auf-tretenden Terme sowie die Anwendung der Inversen der Masse-Matrix mit möglichstgeringem Aufwand zu bestimmen.Wählt man als Basis für die Testfunktionen ebenfalls die Legendre-Polynome, ist dieMasse-Matrix eine Diagonalmatrix und somit trivial invertierbar. Da jedoch im Flussin-tegral die Ableitung ∂xϕ

jk(x) auftritt, ergibt sich für diesen Term keine ähnlich einfache

Darstellung.Eine Alternative liegt darin, für die Testfunktionen folgende duale Legendre-Basis zu

verwenden:

ϕ1E(x) := 1,

ϕ2E(x) := x,

ϕjE(x) := ϕjE(x)− ϕj−2E (x) (14)

10

Page 13: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Damit ergeben sich folgende drei Eigenschaften, die die Grundlage des hier betrachtetenDG-Verfahrens bilden:

(ϕiE , ϕjE)L2 =

2

2i− 1(δi,j − δi,j−2) (15)

(ϕiE , ∂xϕjE)L2 = 2δi,j−2 (16)

ϕjE∣∣∂ΩE

= 0 für j > 2 (17)

Aus der Eigenschaft (15) folgt, dass die Masse-Matrix im eindimensionalen Fall unte-re Dreiecksform hat und nur die Diagonale und zweite untere Nebendiagonale besetztsind. Die Multiplikation der inversen Masse-Matrix mit einem Vektor ist also mit wenigAufwand mittels Rückwärts-Einsetzen möglich.Die Eigenschaft (16) führt dazu, dass das Integral des physikalischen Flusses effizientberechnet werden kann. Dies wird im nächsten Abschnitt noch genauer ausgeführt.Und die Eigenschaft (17) verringert den Aufwand zur Berechnung des Oberflächen-integrals des numerischen Flusses, da dieses offensichtlich nur für die Fälle j = 1, 2ausgewertet werden muss.

4.2 Quadratur-freie Darstellung mittels Projektionsmatrizen

Die Ergebnisse des vorigen Abschnittes zum eindimensionalen Fall lassen sich im All-gemeinen leider nicht direkt auf den dreidimensionalen Fall Ω = R3 übertragen. Fürkubische Elemente kann man jedoch eine Basis aus den Tensor-Produkten der eindi-mensionalen Basis-Polynome bilden:

ϕ~ik(x) =

3∏α=1

ϕiαk (xα),

ϕ~jk(x) =

3∏α=1

ϕjαk (xα) (18)

Betrachtet man nun erneut die semi-diskrete Darstellung eines DG-Verfahren (2) undapproximiert die Flüsse ebenfalls in Polynomialbasis, dann erhält man:

(ϕik, ϕjk)L2(uik)

′(t) = (ϕik, ∂xαϕjk)L2f ik,α

−∑l

(∫∂Ωk∩∂Ωl

ϕikϕjk dσ

)gik,l ∀k, j (19)

Dabei seien f ik,α und gik,l geeignete Approximationen:

f ik,αϕik ≈ fα(uikϕ

ik) auf Ωk

gik,lϕik ≈ g(uikϕ

ik, u

ilϕil, n) auf ∂Ωk ∩ ∂Ωl (20)

Diese Darstellung des numerischen Flusses ergibt sich insbesondere aufgrund der kubi-schen Elemente und der speziellen Wahl der Polynomialbasis. Auf jeder Seite ∂Ωk ∩∂Ωl

11

Page 14: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

kann man auch eine geeignete zweidimensionale Polynom-Basis über das Tensor-Produktvon zwei eindimensionalen Legendre-Polynomen definieren. Für die folgende Herleitungeines lokalen Prädiktors ist dies aber nicht relevant.Lineare Flüsse f, g können hier ohne zusätzlichen Aufwand exakt dargestellt werden als

f ik,α = fα(uik),

gik,l = g(uik,−uil, n) für ∂Ωk ∩ ∂Ωl. (21)

Insgesamt ergibt sich die folgende lineare Darstellung eines Quadratur-freien DG-Verfahrens:

Mku′k = Sk,αfk,α − Fk,lgk,l ∀k (22)

Ähnlich zu der bereits bekannten Masse-Matrix Mk werden hier die SteifigkeitsmatrizenSk,α und Matrizen zur Projektion der numerischen Flüsse Fk,l definiert:

Mk =

(∫Ωk

ϕikϕjk dx

)j,i

Sk,α =

(∫Ωk

ϕik∂xαϕjk dx

)j,i

Fk,l =

(∫∂Ωk∩∂Ωl

ϕikϕjk dσ

)j,i

(23)

In der speziellen Basis hier ergibt sich insbesondere:

M~j,~ik =

(∆x

2

)3 3∏α=1

2(δiα,jα − δiα,jα−2)

2iα − 1

S~j,~ik,α =

(∆x

2

)2

2δiα,jα−2

∏β 6=α

2(δiβ ,jβ − δiβ ,jβ−2)

2iβ − 1(24)

4.3 Herleitung eines geeigneten lokalen Prädiktors

Betrachte nun die rechte Seite des lokalen Prädiktors aus (8) in linearer, Quadratur-freierDarstellung:

Mkv′k =

(∫Ωk

∂xαϕikϕ

jk dx

)︸ ︷︷ ︸

Sj,ik

f ik,α

Da hier jedoch ein Term mit einer partielle Ableitung der Ansatz-Polynome ∂xαϕik auf-tritt, ist die Matrix Sk nicht dünnbesetzt. Zur Auswertung des lokalen Prädiktors ergibtsich so ein erheblicher Aufwand.

12

Page 15: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Man kann jedoch im lokalen Prädiktor auch andere Polynombasen wählen. Allgemeindargestellt in Polynombasen ψik und ψjk ergibt sich:

Mkv′k(t) = Sk,αfk,α(vk(t)) mit

ψikvik = ϕikv

ik (25)

Dabei gilt:

ψikfik,α = ϕikf

ik,α

Mk :=(ψik, ψ

jk

)L2

Sk,α :=(∂xαψ

ik, ψ

jk

)L2

(26)

Als geeignete Wahl der Polynombasen erscheint hier:

ψik := ϕik,

ψjk := ϕjk

Damit erhält man:

Mk =

(∫Ωk

ϕikϕjk dx

)j,i

= MTk ,

Sk,α =

(∫Ωk

∂xαϕikϕ

jk dx

)j,i

= STk,α

Zur Transformation von der Basis ϕik in die duale Basis ϕik kann man folgende Eigen-schaft ausnutzen:

ϕikvik = ϕikv

ik ∀k

⇔(ϕik, ϕ

jk

)L2vik =

(ϕik, ϕ

jk

)L2vik ∀k, j

⇔ Mkvk = Ikvk ∀k

Mit der Diagonalmatrix

Ik :=

(∫Ωk

ϕikϕjk

)j,i

(27)

Für die hier definierte Basis ergibt sich insbesondere:

I~j,~ik =

(∆x

2

)3 3∏α=1

2δiα,jα2iα − 1

(28)

13

Page 16: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Skaliert man nun noch die transponierten Masse- und Steifigkeitsmatrizen mit der In-versen von Ik, so erhält man folgende Darstellung der lokalen Probleme des Prädiktors:

v′k = Sk,αfk,α für t ∈ [tn, tn+1),

Mk fk,α = fk,α(vk) undvk(t

n) = uk(tn) (29)

Für die skalierten transponierten Matrizen ergibt sich:

M~j,~ik =

3∏α=1

(δiα,jα − δiα−2,jα)

S~j,~ik,α =

2

∆x(2jα − 1)δiα−1,jα

∏β 6=α

(δiβ ,jβ − δiβ−2,jβ ) (30)

Im linearen Fall gilt zusätzlich:

fk,α = fα(vk), mit

Mkvk = vk (31)

Die transponierte und skalierte Masse-Matrix Mk hat offensichtlich wieder Dreiecksform,sodass sich ihre Inverse auch effizient auf einen Vektor anwenden lässt.

14

Page 17: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

5 Lokale Zeitschritte

Das Ziel des zuvor vorgestellten Verfahrens soll im folgenden Abschnitt veranschaulichtwerden: die Verwendung unterschiedlich großer Zeitschritte in verschiedenen Teilen desRechengebietes.Hier werden ausschließlich Verfahren mit expliziter Zeitdiskretisierung betrachtet; einVergleich mit impliziten Verfahren ist im Rahmen dieser Arbeit nicht möglich. Bei derWahl des Zeitschrittes muss in diesem Fall die CFL-Bedingung berücksichtigt werden,die das Stabilitätslimit expliziter Zeitdiskretisierungen angibt[1].Verwendet man globale Zeitschritte wie das zu Beginn vorgestellte RK-DG Verfahren,richtet sich der maximal mögliche Zeitschritt im gesamten Rechengebiet nach dem kleins-ten Wert des Quotienten aus charakteristischer Länge und Geschwindigkeit in einemElement.In vielen Fällen unterscheiden sich die Gittergröße und die charakteristische Geschwin-digkeiten der Erhaltungsgleichung im Rechengebiet jedoch um mehrere Größenordnun-gen. Das bedeutet, dass in einem großen Teil des Rechengebietes – lokal gesehen – einzu kleiner Zeitschritt verwendet wird. Hier bieten Verfahren mit lokalen Zeitschrittendie Möglichkeit, den Zeitschritt entsprechend anzupassen und damit bei vergleichbarerGenauigkeit den Rechenaufwand deutlich zu reduzieren.

5.1 Prädiktor-Korrektor – Ansatz

Die Formulierung der Zeitintegration als Prädiktor- und Korrektor-Schritt ermöglichtes, für benachbarte Elemente unterschiedlich große Zeitschritte zu wählen. Dies soll Ab-bildung 1 verdeutlichen:Zu Beginn (oder an ausgewählten Synchronisationspunkten) haben alle Elemente dasgleiche Zeitniveau tnk (Abbildung 1a). Als erstes wird für alle Elemente Ωk ein Prädiktor-Teilschritt mit lokal vorgegebenen Zeitschrittweiten ∆tk durchgeführt (Abbildung 1b).Nun kann ein Korrektor-Teilschritt mit den selben Schrittweiten für diejenigen Elementedurchgeführt werden, für die alle benötigten Information in den benachbarten Elemen-ten vorliegen. Das ist genau dann der Fall, wenn der letzte Prädiktor-Schritt in denangrenzenden Elementen mindestens das Zeitniveau tn+1

k des betreffenden ElementesΩk erreicht (Abbildung 1c). Anschließend kann man für dieses direkt eine neue Vorher-sage über den nächsten Zeitraum [tn+1

k , tn+1k + ∆tk) bestimmen (Prädiktor-Schritt in

Abbildung 1d).Dieses Vorgehen wird nun wiederholt bis die Rechnung ein vorgegebenes Zeitniveauerreicht, wobei man für jedes Element in jeder Iteration eine eigene Zeitschrittweitewählen kann. Im vorliegenden Beispiel sind die Zeitschritte so gewählt, dass im folgen-den Korrektor-Schritt wieder ein gemeinsames Zeitniveau erreicht wird (Abbildung 1e).Anschließend kann der ganze Vorgang wiederholt werden, beginnend mit dem nächstenPrädiktor-Schritt (Abbildung 1f).

15

Page 18: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

012345

0 2 3 4

t

xt = 0

(a)

012345

0 2 3 4

t

xt = 0 Prädiktor

(b)

012345

0 2 3 4

t

xt = 0 Korrektor

(c)

012345

0 2 3 4

t

xt = 1 Prädiktor

(d)

012345

0 2 3 4

t

xt = 1 Korrektor

(e)

012345

0 2 3 4

t

xt = 2 Prädiktor

(f)

Abbildung 1: Schematische Darstellung mehrerer Elemente mit unterschiedlichen loka-len Zeitschritten

16

Page 19: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

lokaler Prädiktor

globaler Korrektor

1. CERK4 Teilschritt

2. CERK4 Teilschritt

3. CERK4 Teilschritt

4. CERK4 Teilschritt

1. Quadratur-Punkt

2. Quadratur-Punkt

lokale rechte Seite berechnen:

globale rechte Seite berechnen:

identisch zu RK-DG Teilschritt

1. physikalischer Fluss2. lokale DG-Projektion

1. Projektion auf Seiten2. Kommunikation3. numerischer Fluss4. physikalischer Fluss5. DG-Projektion

Abbildung 2: Schematische Darstellung des CERK4-Prädiktor-Korrektor-DG–Verfah-rens

6 Implementierung und Ergebnisse

Das hier beschriebene Prädiktor-Korrektor-DG Verfahren wurde im Rahmen dieser Ar-beit im HPC-Simulationsframework APES[6] implementiert. Bisher fehlt noch die Unter-stützung lokaler Zeitschritte, da dafür in APES geeignete Datenstrukturen zur Kommu-nikation der lokalen Vorhersagen zwischen den Prozessen entworfen und implementiertwerden müssen.Der folgende Abschnitt stellt am Beispiel des APES-Framework dar, wie sich ein Prädiktor-Korrektor-DG Verfahren in ein bestehendes DG-Framework integrieren lässt. Anschlie-ßend soll kurz auf die Validierung und Performance der Implementierung eingegangenwerden.

6.1 Skizze des gesamten Algorithmus

Abbildung 2 zeigt schematisch den Ablauf des hier vorgestellten CERK4-Prädiktor-Korrektor-DG Verfahrens:

17

Page 20: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Im ersten Schritt wird der lokale Prädiktor in einem Element mit einem vierstufigenCERK-Verfahren bestimmt. In jedem CERK-Teilschritt muss die rechte Seite der loka-len Diskretisierung berechnet werden. Diese ergibt sich aus dem physikalischen Fluss derErhaltungsgleichung und der in Abschnitt 4.3 vorgestellten lokalen DG-Projektion.Im zweiten Schritt wird die Vorhersage eines Elements (und ihrer Nachbarn) an zweiQuadratur-Punkten in der Zeit ausgewertet und an diesen die rechte Seite der DG-Diskretisierung berechnet. Diese Rechnung besteht aus der Projektion des Zustandesin den Elementen (in Polynomialdarstellung) auf die Seiten der Elemente, der anschlie-ßenden Kommunikation dieser Seiten im parallelen Fall, der Berechnung des numeri-schen Flusses auf den Seiten und des physikalischen Flusses in den Elementen und derDG-Projektion mit den Testfunktionen. Sie ist identisch zur Bestimmung der globalenrechten Seite in einem Teilschritt eines RK-DG-Verfahrens.Das Zustand zum nächsten Zeitschritt ergibt sich mit der gewichteten Summe der rech-ten Seiten an den Quadratur-Punkten.Insgesamt zeigt sich, dass sich fast alle benötigten Operationen des Prädiktor-Korrektor-

Verfahrens aus vorhandenen Bausteinen eines RK-DG-Verfahrens zusammensetzen las-sen. Hinzu kommt lediglich die lokale DG-Projektion im Prädiktor-Schritt.Mit dem Discontinuous-Galerkin-Framework in APES können sowohl lineare Erhal-

tungsgleichungen wie die Maxwell-Gleichungen simuliert werden, als auch nichtlinearewie die Euler-Gleichungen. Des Weiteren kann man zwischen zwei verschiedenen DG-Polynomräumen wählen (für eine genaue Darstellung siehe [4]).Im Rahmen dieser Arbeit wurde das vorgestellte CERK4-Prädiktor-Korrektor-DG–Verfahrenfür alle obigen Kombinationen mit globalen Zeitschritten in APES eingebaut. Ein be-sonderes Augenmerk liegt dabei in APES auf der effizienten Implementierung der DG-Projektionen, die sich als Matrix-Vektor-Produkte mit speziellen dünnbesetzten Ma-trizen darstellen lassen. Noch nicht berücksichtigt wurden Quellterme in den Erhal-tungsgleichungen, sowie eventuell benötigte Anpassungen an der CFL-Bedingung zurBestimmung geeigneter Zeitschrittweiten.

6.2 Validierung und Performance

Die Implementierung konnte mit der in APES integrierten Testmatrix überprüft werden.Dabei ergaben sich mit allen Testfällen plausible Abweichungen zu RK4-DG-Rechnungenin Größenordnungen von unter 0,01%. Anhand einzelner Testfälle mit analytischer Lö-sung konnte überprüft werden, dass der Fehler zwischen RK-DG-Rechnungen 2. und4. Ordnung in der Zeit liegt. Dies entspricht den Erwartungen, da man für das hiervorgestellte CERK4-Prädiktor-Korrektor-Verfahren einen Fehler 3. Ordnung in der Zeiterwartet.Zusätzlich wurden die Rechenzeiten und die benötigten Gleitkommaoperationen (FLOPS)pro Freiheitsgrad und Zeitschritt (DOF-Update) bestimmt. Tabelle 1 zeigt die Ergeb-nisse dieser Messungen. Die benötigten FLOPS belegen, dass die lokale DG-Projektionähnlich effizient wie die vorhandenen DG-Projektionen implementiert wurde. Anhandder Rechenzeiten lässt sich ablesen, dass der Aufwand des CERK4-Prädiktor-Korrektor–Verfahrens bei der Verwendung globaler Zeitschritte mit dem vorhanden RK4-Verfahren

18

Page 21: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Testfall Polynomraum RK4 CERK4Maxwell Q8 225 194

(a) Flops pro DOF-Update

Testfall Polynomraum RK4 CERK4Maxwell Q2 1,6s 1,8sMaxwell Q4 2,6s 2,9sMaxwell Q8 5,4s 6,7sMaxwell P2 1,1s 0,9sMaxwell P4 0,9s 0,8sMaxwell P8 1,4s 1,4sMaxwell P16 4,5s 3,5sEuler Q4 1,7s 1,7Euler Q8 2,9s 3,4

(b) Rechenzeit

Tabelle 1: Gemessene Performance der CERK4-Prädiktor-Korrektor Implementierungim Vergleich zu RK4

vergleichbar ist; je nach Polynomraum- und Ordnung ergeben sich nur leichte Abwei-chungen. Dies verdeutlicht das Potential der Methode für die Verwendung mit lokalenZeitschritten.

19

Page 22: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

7 Fazit

In dieser Arbeit wurde veranschaulicht, wie ein Prädiktor-Korrektor-Ansatz zur Zeitdis-kretisierung lokale Zeitschritte ermöglicht und wie dieser mit geringem Aufwand in einbestehendes RKDG-Framework integriert werden kann. Zur effizienten Berechnung deslokalen Prädiktors wurde eine geeignete Formulierung im Rahmen der hier verwendetenspeziellen DG-Diskretisierung im Raum hergeleitet.Die Implementierung der Prädiktor-Korrektor-Zeitdiskretisierung ist in den HPC-CodeAPES eingeflossen, bisher jedoch unter Verwendung globaler Zeitschritte. Für die Un-terstützung lokaler Zeitschritte in APES wird insbesondere noch Kommunikation zumAustausch der lokalen Vorhersagen zwischen den Prozessen der parallelen Rechnung zuunterschiedlichen lokalen Zeitpunkten benötigt.

20

Page 23: Eine Methode zur Zeitdiskretisierung bei Discontinuous ... · 4 Quadratur-freies Discontinuous-Galerkin Verfahren für kubische Gitter Im folgenden wird kurz ein spezielles Discontinuous-Galerkin

Literatur

[1] Courant, Richard, Kurt Friedrichs und Hans Lewy: Über die partiellen Differenzen-gleichungen der mathematischen Physik. Mathematische Annalen, 100:32–74, 1928.

[2] Dahmen, Wolfgang und Arnold Reusken: Numerik für Ingenieure und Naturwis-senschaftler. Springer-Lehrbuch. Springer-Verlag Berlin Heidelberg, zweite, korri-gierte Auflage, 2008.

[3] Gassner, Gregor, Michael Dumbser, Florian Hindenlang und Claus-Dieter Munz:Explicit one-step time discretizations for discontinuous Galerkin and finite volumeschemes based on local predictors. Journal of Computational Physics, 230(11):4232–4247, May 2011.

[4] Hückelheim, Jan: Highly efficient, high order Discontinuous Galerkin schemes forconservation laws on octree datastructures. Masterarbeit, RWTH Aachen University,December 2012.

[5] Owren, Brynjulf und Marino Zennaro: Derivation of efficient, continuous, explicitRunge-Kutta methods. SIAM journal on scientific and statistical computing, Seiten1–17, 1992.

[6] Roller, Sabine, Jörg Bernsdorf, Harald Klimach, Manuel Hasert, Daniel Harlacher,Metin Cakircali, Simon Zimny, Kannan Masilamani, Laura Didinger und Jens Zu-drop: An adaptable simulation framework based on a linearized octree. In: Resch,Michael, XinWang, Wolfgang Bez, Erich Focht, Hiroaki Kobayashi und Sabine Roller(Herausgeber): High Performance Computing on Vector Systems 2011, Seiten 93–105. Springer-Verlag Berlin Heidelberg, 2012.

[7] Shu, Chi Wang: Discontinuous Galerkin Methods: General Approach and Stability.In: Numerical solution of partial differential equations, Advanced Courses in Math-ematics - CRM Barcelona, Kapitel III, Seiten 149–202. Birkhäuser Basel, Basel,2009.

21