53
AEROSPACE COMPUTATIONAL DESIGN LAB An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational Design Lab Massachusetts Institute of Technology March 16, 2005 Computational Prototyping Group Seminar 1/53

An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

An Introduction to the Discontinuous GalerkinMethod

Krzysztof J. Fidkowski

Aerospace Computational Design Lab

Massachusetts Institute of Technology

March 16, 2005

Computational Prototyping Group Seminar 1/53

Page 2: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Overview

What is DG? An Example

Why DG for Computational Fluid Dynamics?

Project X

DG vs. Finite Volume DG for Elliptic Problems

p-Multigrid for Higher-order DG Discretizations

Grid Adaptation

Conclusions and Ongoing Work

Computational Prototyping Group Seminar 2/53

Page 3: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Finite Element Example

Examine 1-D convection equation with source term:

aux = cos(x) on [0, π]

Homogenous Dirichlet BCs ⇒ Exact solution: u(x) = sin(x)a

Standard FEM procedure:

n0

n1

n2

n3

n4

N elements

φ0

φ1

φ2

φ3

φ4

Approximate: u(x) =∑

j Ujφj(x)

φj are “hat” basis functions

N + 1 basis functions in 1-D

Computational Prototyping Group Seminar 3/53

Page 4: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

FEM Example (ctd.)

Goal: solve for the coefficients Uj (discrete vector U)

Weak form of equations:∫

Ωauxφidx =

Ωcos(x)φidx

Ωauφi,xdx +

[(au)φi

]∂ΩR

∂ΩL

=

Ωcos(x)φidx

Substitute u(x) =∑

j Ujφj(x)

−∑

j

Uj

Ωaφjφi,xdx + aUNφi(π) − aU0φi(0) =

Ωcos(x)φidx

Linear System: AU = F

Computational Prototyping Group Seminar 4/53

Page 5: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Solutions to Example

For a = 1, ue = sin(x), we obtain:

0 pi/4 pi/2 3pi/4 pi0

0.2

0.4

0.6

0.8

1

x

U

N = 4N = 8N = 16

4 8 16 3210

−4

10−3

10−2

10−1

N

e =

max

(u −

ue)

e = O(h2)

Computational Prototyping Group Seminar 5/53

Page 6: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Where Discontinous Galerkin Differs

Formulation is the same as standard FEM. DG difference is in the choice of basis. Specifically, no continuity constraint between elements.

κ0

κ1

κ2

κ3

φ0

φ1

φ2

φ3

φ4

φ5

φ6

φ7

φj associated with elements.

2N linear basis functions in 1-D.

Computational Prototyping Group Seminar 6/53

Page 7: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG Weak Form

Ωauxφidx =

Ωcos(x)φidx

κ

κauxφidx =

κ

κcos(x)φidx

κ

κauφi,xdx +

[(au)φi

]κ+1/2

κ−1/2

=

κ

κcos(x)φidx

κauφi,xdx +

[(au)φi

]κ+1/2

κ−1/2=

κcos(x)φidx

Computational Prototyping Group Seminar 7/53

Page 8: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

What About Element Interfaces?

Discontinuity creates problem in the weak form:

κauφi,xdx +

[(au)φi

]κ+1/2

κ−1/2=

κcos(x)φidx

(au) is multi-valued at element interfaces.

κ

u

uL

R

κ+1κ+1/2

Fortunately, this problem has beenwell studied by the Finite Volumecommunity.

Solution: use numerical flux function

(au) → H(uL, uR, a).

In this case use pure upwinding.

Computational Prototyping Group Seminar 8/53

Page 9: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG Solution

For the same 1-D problem, ue = sin(x), we obtain:

0 pi/4 pi/2 3pi/4 pi0

0.2

0.4

0.6

0.8

1

x

U

N = 4N = 8N = 16

4 8 16 3210

−4

10−3

10−2

10−1

N

e =

max

(u −

ue)

e = O(h2)

DGFEM

Computational Prototyping Group Seminar 9/53

Page 10: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Why DG?

DG seems to add additional DOFs for no reason. Why do we want to use DG over standard FEM?

Main Benefit:Easy to Introduce Higher Order (p > 1) interpolation

κ0

κ1

κ2

κ3

φ0

φ1

φ2

κref

Lagrange Basis

Functions: p = 2

(p + 1) Basis Functions per element

Computational Prototyping Group Seminar 10/53

Page 11: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Other Benefits of DG

Basic iterative solution schemes (e.g. block Jacobi) are stable forhigher order (i.e. no need for multistaging).

Discretization lends itself to solution via p-multigrid.

Easy parallelization.

In the field of CFD for aerodynamics, these benefits seem tooutweigh the cost of extra DOFs.

Computational Prototyping Group Seminar 11/53

Page 12: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Project-X

DG solver package for computational fluid dynamics.

Started in the Fall of 2002. Involved in seven M.S. theses and six ongoing Ph.D. theses.

Currently: Approximately 100,000 lines of code. Capability ranges from grid generation to visualization. Various side projects: grid adaptation, geometry optimization,

turbulence modeling, shock limiting, unsteady studies. End goal is full Reynolds-Averaged Navier-Stokes in 3-D.

Computational Prototyping Group Seminar 12/53

Page 13: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Project-X Goal

Project X Team Goal: To improve the aerothermal design process for complex 3D

configurations by significantly reducing the time from geometryto solution at engineering-required accuracy using high-orderadaptive methods

Who are we?

Todd Oliver Chris Fidkowski Garrett Barter Bob Haimes Prof. David Darmofal Prof. Jaime Peraire

Tan Bui Shannon Cheng

James Lu Pete Whitney

Doug Quattrochi

Computational Prototyping Group Seminar 13/53

Page 14: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Accuracy of Current CFD Methods

Results of an AIAA Drag Prediction Workshop comparing theperformance of industry-standard CFD codes:

Computational Prototyping Group Seminar 14/53

Page 15: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Motivation for higher order in CFD

State of CFD in applied aerodynamics Finite-volume with at best second order accuracy Questions exist whether current discretizations are capable of

achieving desired accuracy levels in practical time

Decrease computational time and gridding requirements byincreasing solution order

log T = wd(−

1

plog E + log p

)− log F + const

T = time to solution p = discretization order

E = desired error level (E << 1)

w = solution complexity

d = dimension of problem

F = computational speed

Computational Prototyping Group Seminar 15/53

Page 16: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Euler Equations of Gas Dynamics

ut + ∇ · Fi(u) = 0

u is the state vector and Fi is the inviscid flux.

In two dimensions:

u =

ρρuρvρE

Fx

i =

ρuρu2 + p

ρuvρuH

, Fy

i =

ρvρuv

ρv2 + pρvH

.

Computational Prototyping Group Seminar 16/53

Page 17: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Integral Form

2

01

3

Integrate Euler equations over tri-angle 0 and use Green’s theorem:

d

dt

A0

u dx+

3∑

k=1

0kFi(u)·n ds = 0

If we assume u is constant ineach triangle . . .

Computational Prototyping Group Seminar 17/53

Page 18: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

First-order Accurate Finite Volume

2

01

3

u constant in each triangle:

du0

dtA0 +

3∑

k=1

0kHi(u0,uk, n0k) ds = 0

Hi(uL,uR, nLR) is flux function thatdetermines inviscid flux in nLR directionfrom left and right states, uL and uR.

Example flux functions: Godunov, Roe,Osher, Van Leer, Lax-Friedrichs, etc.

This discretization has a solution errorwhich is O(h) where h is mesh size.

Computational Prototyping Group Seminar 18/53

Page 19: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Second-order Accurate Finite Volume

83

9

4

1

5

0

7

26

In each triangle, reconstruct a linear so-lution, u, using neighboring averages:

u0 ≡ u0 + (x − x0) · ∇u0,

∇u0 ≡ ∇u0 (u0,u1,u2,u3) .

Apply conservation law on triangle:

du0

dtA0 +

3∑

k=1

0kHi(u0, uk, n0k) ds = 0

On smooth meshes and flows, solutionerror is O(h2).

Computational Prototyping Group Seminar 19/53

Page 20: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Pros/Cons of Higher-order Finite Volume

83

9

4

1

5

0

7

26

+ Increased accuracy on given meshwithout additional degrees of free-dom

− Difficulty in achieving higher-orderon unstructured meshes and nearboundaries

− Stabilizing multi-stage methods nec-essary for local iterative schemes

− Matrix fill-in results in high-memory re-quirements

Computational Prototyping Group Seminar 20/53

Page 21: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Instability of Local Iterative Methods

Consider steady state problem and define discrete residual for cell j,

Rj(u) ≡3∑

k=1

jkHi(uj , uk, njk) ds = 0.

A Jacobi iterative method to solve this problem is,

un+1j = u

nj − ω (∂Rj/∂uj)

−1Rj(u).

For any finite ω, Jacobi is unstable for higher-order. One solution is amulti-stage method,

uj = unj − ω (∂Rj/∂uj)

−1Rj(u

n)

un+1j = u

nj − ω (∂Rj/∂uj)

−1Rj(u)

⇐ Requires two residualevaluations.

Computational Prototyping Group Seminar 21/53

Page 22: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Matrix Fill for Higher-order Finite Volume

50 100 150 200 250 300 350 400 450 500 55050

100

150

200

250

300

350

400

450

500

550

First-order

0 5 10 15 20 25 30 35 40 45

0

5

10

15

20

25

30

35

40

45

nz = 115

Second-order

0 5 10 15 20 25 30 35 40 45

0

5

10

15

20

25

30

35

40

45

nz = 355

Third-order

0 5 10 15 20 25 30 35 40 45

0

5

10

15

20

25

30

35

40

45

nz = 601

Computational Prototyping Group Seminar 22/53

Page 23: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG for the Euler Equations

Start from strong form of governing equations:

ut + ∇ · Fi(u) = 0.

Look for a solution uh ∈ Vph.

Multiply governing equation by weight function vh ∈ Vph and

integrate over element κ ∈ Th:∫

κv

Th [(uh)t + ∇ · Fi] dx = 0.

Integrate second term by parts (assume interior element):∫

κv

Th (uh)t dx −

κ∇v

Th · Fi dx +

∂κv

+h

THi(u

+h ,u−

h , n)ds = 0.

Computational Prototyping Group Seminar 23/53

Page 24: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG and Finite Volume

DG weighted residual:∫

κv

Th (uh)t dx −

κ∇v

Th · Fi dx +

∂κv

+h

THi(u

+h ,u−

h , n)ds = 0.

For p = 0 solution, this reduces to:

(uκ)tAκ +

∂κHi(u

+h ,u−

h , n)ds = 0.

Thus, p = 0 DG is identical to first-order finite volume.

Computational Prototyping Group Seminar 24/53

Page 25: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG discretization: Global view

Find uh ∈ Vph such that ∀vh ∈ Vp

h,

κ∈Th

κv

Th (uh)t dx −

κ∇v

Th · Fi dx

+

Γi

v+h

THi(u

+h ,u−

h , n) ds +

∂Ωv

+h

THb

i (u+h ,ub

h, n) ds = 0.

Boundary conditions enforced weakly through Hbi (u

+h ,ub

h, n)

where ubh is determined from desired boundary conditions and

outgoing characteristics.

For smooth problems, the error of this scheme is expected to beO(hp+1).

Computational Prototyping Group Seminar 25/53

Page 26: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Pros/Cons of Higher-order DG

− Increased accuracy on given mesh requires additional degrees offreedom

+ Higher-order accuracy not hampered on unstructured meshes nornear boundaries

+ Local iterative methods are stable

+ Matrix fill-in maintains block sparsity of p = 0

κv

Th (uh)t dx −

κ∇v

Th · Fi dx +

∂κv

+h

THi(u

+h ,u−

h , n)ds = 0.

Computational Prototyping Group Seminar 26/53

Page 27: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Stability of Local Iterative Methods for DG

An elemental block Jacobi iterative method to solve this problem is,

un+1j = u

nj − ω (∂Rj/∂uj)

−1Rj(u).

where ∂Rj/∂uj is the diagonal block for the element j.

For 0 < ω < 1, elemental block Jacobi is stable independent of p.

Computational Prototyping Group Seminar 27/53

Page 28: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Matrix Fill for Higher-order DG

50 100 150 200 250 300 350 400 450 500 55050

100

150

200

250

300

350

400

450

500

550

First-order (p = 0)

0 5 10 15 20 25 30 35 40 45

0

5

10

15

20

25

30

35

40

45

nz = 115

Second-order (p = 1)

0 20 40 60 80 100 120

0

20

40

60

80

100

120

nz = 1035

Third-order (p = 2)

0 50 100 150 200 250

0

50

100

150

200

250

nz = 4140

Computational Prototyping Group Seminar 28/53

Page 29: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Inviscid Flow Example

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

NACA 0012 M = 0.5, α = 2o

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1.5

−1

−0.5

0

0.5

1

x/c

Pre

ssur

e C

oeffi

cien

t

p = 0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1.5

−1

−0.5

0

0.5

1

x/c

Pre

ssur

e C

oeffi

cien

t

p = 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1.5

−1

−0.5

0

0.5

1

x/c

Pre

ssur

e C

oeffi

cien

t

p = 2

Computational Prototyping Group Seminar 29/53

Page 30: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Navier-Stokes Equations

Navier-Stokes Equations: ut + ∇ · Fi(u) −∇ · Fv(u,∇u) = 0

Fv = Av∇u = (Fxv ,Fy

v) is the viscous flux vector

Fxv =

023µ(2∂u

∂x − ∂v∂y )

µ(∂u∂y + ∂v

∂x)23µ(2∂u

∂x − ∂v∂y )u + µ(∂u

∂y + ∂v∂x)v + κ∂T

∂x

,

Fyv =

0

µ(∂u∂y + ∂v

∂x)23µ(2∂v

∂y − ∂u∂x)

23µ(2∂v

∂y − ∂u∂x)v + µ(∂u

∂y + ∂v∂x)u + κ∂T

∂y

Computational Prototyping Group Seminar 30/53

Page 31: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG for Elliptic Operators: First Attempt

Model problem for viscous terms of N-S: 1-D, scalar Poisson’sequation

−uxx = f on [−1, 1]

Proceed as for Euler: Triangulate domain into non-overlapping elements κ ∈ Th

Define solution and test function space Vph

Discrete formulation: Find uh ∈ Vph such that ∀vh ∈ Vp

h,

κ∈Th

[vhux

]xκ+1/2

xκ−1/2

+

κ(vh)x(uh)xdx

=

κ∈Th

κvhfdx

Need to define ux

Computational Prototyping Group Seminar 31/53

Page 32: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

DG for Elliptic Operators: First Attempt

No upwinding mechanism ⇒ choose central flux

ux =1

2((uh)L

x + (uh)Rx )

Discrete formulation becomes: Find uh ∈ Vph such that ∀vh ∈ Vp

h,

κ∈Th

[1

2vh((uh)L

x + (uh)Rx )

]xκ+1/2

xκ−1/2

+

κ(vh)x(uh)xdx

=

κ∈Th

κvhfdx

PROBLEM: Scheme is inconsistent!

Computational Prototyping Group Seminar 32/53

Page 33: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Inconsistency

Examine Laplace’s equation with homogeneous Dirichlet BCs

− uxx = 0 on [−1, 1]

u(−1) = u(1) = 0

Exact solution: u(x) = 0

u hR(u )=0h

x

If (uh)x = 0 everywhere, discrete equations satisfied exactlyregardless of magnitude of uh

Computational Prototyping Group Seminar 33/53

Page 34: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

First Order System Approach

Introduce new variable, q = ux, such that

− qx = f

q − ux = 0

Discrete formulation: Find uh ∈ Vph and qh ∈ Vp

h such that ∀vh ∈ Vph

and ∀τh ∈ Vph,

κ∈Th

[vhq

]xκ+1/2

xκ−1/2

+

κ(vh)xqhdx

κ∈Th

κvhfdx

= 0

κ∈Th

κτhqhdx +

κ(τh)xuhdx −

[τhu

]xκ+1/2

xκ−1/2

= 0

Need to choose q and u

Computational Prototyping Group Seminar 34/53

Page 35: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Bassi-Rebay Schemes

Scheme 1: no upwinding mechanism ⇒ choose central fluxes

u =1

2(uL

h + uRh ); q =

1

2(qL

h + qRh )

Sub-optimal order of accuracy for odd p

Stencil no longer compact

Scheme 2: With JsK = sL − sR and s = 0.5(sL + sR),

u = uh; q = (uh)x − ηfδf

New variable, δf (JuK), is a jump penalty term.

Optimal accuracy and compact stencil.

Computational Prototyping Group Seminar 35/53

Page 36: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Iterative Solver

Nonlinear discrete equations can be written

R(uh) = 0

Use a preconditioned iterative scheme

un+1h = u

nh − P

−1R(un

h)

Preconditioner Block-element smoothing

P = Mblock ⇒ Block diagonal of the Jacobian Line-element smoothing

P = Mline ⇒ Block tridiagonal systems from Jacobian

Computational Prototyping Group Seminar 36/53

Page 37: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Line Solver

Motivation: Transport of information in Navier-Stokes equationscharacterized by convection-diffusion like phenomena Inviscid regions: characteristic directions set by convection Viscous regions: diffusion effects can be stronger

Procedure: Construct lines of elements based on measure of influence Build and invert Mline, which is a set of block tridiagonal

systems from the full Jacobian

Computational Prototyping Group Seminar 37/53

Page 38: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Example Lines and Performance

Trailing edge of NACA 0012

0 500 1000 1500 2000 2500 3000 350010

−10

10−8

10−6

10−4

10−2

100

102

Line Solver Iters

||R|| L1

Convection−Diffusion LinesConvection Only Lines

Computational Prototyping Group Seminar 38/53

Page 39: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

p-Multigrid Solver: Motivation

Observation: Smoothers are inefficient at eliminating lowfrequency error modes on fine level

h-Multigrid Spatially coarse grid used to correct solution on fine grid Grid coarsening is complex on unstructured meshes

p-Multigrid (Ronquist & Patera, Helenbrook et al., Fidkowski &Darmofal) Low order (p − 1) approximation used to correct high order (p)

solution Natural implementation in DG discretization on unstructured

meshes

Computational Prototyping Group Seminar 39/53

Page 40: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

p-Multigrid Solver: Full Multigrid

Iterate on coarsest levels first and use these solutions as initialguesses for fine level solutions.

Line solver used as smoother Full Approximation Scheme (FAS) used to deal with non-linearity

p=0

p=1

p=2

p=3

Computational Prototyping Group Seminar 40/53

Page 41: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

NACA 0012 Test Case

M = 0.5, Re = 5000, α = 0Grids are from Swanson at NASA Langley

2112 element mesh Mach contours

Computational Prototyping Group Seminar 41/53

Page 42: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Drag Error Convergence

0 0.5 1 1.5 210

−4

10−2

100

102

104

0.85p = 0

2.42

p = 1

3.99

p = 2

3.22p = 3

log2(h

0/h)

1000

0*|c

d − c

d,e|

6.88

104

105

106

10−4

10−3

10−2

10−1

100

101

102

DOF

1000

0*|c

d − c

d,e|

p = 1p = 2p = 3FUN2D

Computational Prototyping Group Seminar 42/53

Page 43: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

CPU Timing

102

103

104

10−3

10−2

10−1

100

101

102

CPU Time (s)

1000

0*|c

d − c

d,e|

p = 1p = 2p = 3

Computational Prototyping Group Seminar 43/53

Page 44: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

h-Adaptation

For smooth flows, large high-order elements are ideal foraccuracy and efficiency

When singularities are present, h-adaptation is necessary tomaintain accuracy

Where to adapt? One option is output-based adaptation (Venditti& Darmofal) Pick output of interest (lift, drag) and a desired error tolerance Solve for output adjoint in addition to the flow solution Use adjoint and flow solutions to estimate which elements

contribute most/least to output error Refine/coarsen mesh until the output error tolerance is met

Computational Prototyping Group Seminar 44/53

Page 45: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

h-Adaptation Example

NACA 0012 Transonic test case: M = 0.8, α = 1.25o

Computational Prototyping Group Seminar 45/53

Page 46: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

NACA 0012: M = 0.8, α = 1.25o

⇐ P149,836 DOF

|Cd −Cd,exact| =

4.0 ∗ 10−5

P2 ⇒30,288 DOF

|Cd −Cd,exact| =

1.2 ∗ 10−5

Computational Prototyping Group Seminar 46/53

Page 47: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Ongoing Work

Turbulence modeling (Todd Oliver)

Shocks (Garrett Barter)

Adaptation (Mike Park and Chris Fidkowski)

Optimization (James Lu)

Unsteady + Frequency Domain Solver (Tan Bui)

Axisymmetric Solver + Plasma Physics (Shannon Cheng)

Explicit solver (Pete Whitney)

Hypersonic Flow (Doug Quattrochi)

Computational Prototyping Group Seminar 47/53

Page 48: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

Questions?

Computational Prototyping Group Seminar 48/53

Page 49: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

BR1 Scheme

No upwinding mechanism ⇒ choose central fluxes

u =1

2(uL

h + uRh ); q =

1

2(qL

h + qRh )

Sub-optimal order of accuracy for odd p

Stencil no longer compact

Rk

qk-1k

q+1k

q

-1kq

u k-2 -1ku u k

+1kq

u k +1ku u k+2

qk

-1ku u k +1ku

Computational Prototyping Group Seminar 49/53

Page 50: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

BR1 Scheme

Define jump, J·K, and average, ·, operators:

JsK = sL − sR and s =1

2(sL + sR)

Central fluxes become

u = uh; q = (uh)x − δ

δ given by following problem: Find δ ∈ Vph such that ∀τh ∈ Vp

h,

κ∈Th

κτhδdx =

n

[JuhKτh

]

Computational Prototyping Group Seminar 50/53

Page 51: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

BR1 Scheme

BR1 becomes: Find uh ∈ Vph and such that ∀vh ∈ Vp

h,

κ∈Th

κ(vh)x(uh)xdx

−∑

n

[JuhK(vh)x + JvhK((uh)x − δ)

]=

κ∈Th

κvhfdx

Stencil extended by δ de-pendence on uh

-1ku u k +1kuδk

u k-2 -1ku u k

δk-1

Rk

-1ku u kδk-1 δk δk+1+1ku

u k +1ku u k+2

δk+1

Computational Prototyping Group Seminar 51/53

Page 52: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

BR2 Scheme

Goal: Eliminate extended stencil Approach: Modify auxiliary variable, δ, previously defined by:

κ∈Th

κτhδdx =

n

[JuhKτh

]

New variable, δf , given by: Find δf ∈ Vph such that ∀τh ∈ Vp

h,

κL/R

τhδL/Rf dx =

[JuhKτh

L/R]

nf

New fluxes have same form as before

u = uh; q = (uh)x − ηfδf

Computational Prototyping Group Seminar 52/53

Page 53: An Introduction to the Discontinuous Galerkin Methodkfid/MYPUBS/2005_IntroToDG.pdf · An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational

AEROSPACE COMPUTATIONAL DESIGN LAB

BR2 Scheme

Replacing δ in BR1 by ηfδf gives BR2

For proper choice of ηf , can prove optimal order of accuracy

Stencil is compact

δk-1/2+/-

-1ku u k

δk+1/2+/-

u k +1ku

Rk

δk-1/2+/--1ku

δk+1/2+/- +1kuu k

Computational Prototyping Group Seminar 53/53