14.07.2014 Views

# Adaptive Discontinuous Galerkin Finite Element Method

Adaptive Discontinuous Galerkin Finite Element Method

### You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong><br />

<strong>Method</strong><br />

Haihang You<br />

April 24, 2009<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

BUILT FOR SPEED<br />

A FORCE<br />

Introduction<br />

◮ <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

was introduced in early<br />

1940’s to obtain the<br />

numerical solution of<br />

problems in civil and<br />

aeronautical engineering.<br />

◮ The FEM has a prominent<br />

position among Numerical<br />

<strong>Method</strong>s for solving<br />

PDEs(Wikipedia).<br />

1.5<br />

1<br />

0.5<br />

0<br />

−0.5<br />

−1<br />

−1.5<br />

1<br />

0.5<br />

0<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

0.8<br />

1<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

BUILT FOR SPEED<br />

A FORCE<br />

The North American Eagle on a 2007 test run in the desert at Black Rock, Nev., where next year Ed Shadle and<br />

his team will try to set a land speed record of about 800 m.p.h.<br />

By GUY GUGLIOTTA on New York Times<br />

Published: April 20, 2009<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

BUILT FOR SPEED<br />

A FORCE<br />

A computational fluid dynamics study showing the flow of air around the vehicle. The orange areas indicate where<br />

air is approaching the speed of sound. Blue is decelerated flow.<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

Poisson’s Equation<br />

− ∇ 2 u = f in Ω (1)<br />

u = g D on Γ D (2)<br />

∇u · n = g N on Γ N . (3)<br />

◮ Ω ⊂ R d , d = 2, 3<br />

◮ g D denotes Dirichlet boundary condition<br />

◮ g N denotes Neumann boundary condition<br />

◮ boundary ∂Ω = Γ D ∪ Γ N<br />

◮ n is the unit outward normal vector of ∂Ω<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Variational Formulation<br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

◮ V = {v ∈ H 1 (Ω)}<br />

◮ − ∫ Ω (∇2 u)vdx = ∫ Ω fvdx<br />

∀v ∈ V<br />

◮ − ∫ Ω (∇2 u)vdx = ∫ Ω ∇u · ∇vdx − ∫ ∂Ω<br />

∂u<br />

∂n vdx<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Variational Formulation Cont.<br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

Let u be the solution of Eq(1), then u is also the solution of<br />

following variational problem: Find u ∈ V such that<br />

a(u, v) = (f , v) ∀v ∈ V (4)<br />

where<br />

a(u, v) =<br />

(f , v) =<br />

∫<br />

∫<br />

Ω<br />

Ω<br />

∇u · ∇vdx (5)<br />

∫<br />

fvdx +<br />

∂u<br />

vdx<br />

∂n<br />

(6)<br />

∂Ω<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Find u h ∈ V r h<br />

such that<br />

a(u h , v h ) = (f , v h ) ∀v h ∈ V r h (7)<br />

where<br />

V r h = Π K∈T h<br />

P r−1 (K), r ≥ 2<br />

◮ P r−1 (K) is the space of polynomials of total degree r − 1.<br />

◮ T h = {K i : i = 1, 2, ...,m h }.<br />

◮ Ω = ∪ K∈Th K = K 1 ∪ K 2 ∪ ... ∪ K mh .<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

Basis Function<br />

◮ φ j (x i ) = δ ij =<br />

{ 1 if i = j<br />

0 if i ≠ j<br />

0<br />

−1<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

0<br />

1<br />

1<br />

◮ u h (x i ) =<br />

N∑<br />

ξ i φ i (x i )<br />

i=1<br />

1<br />

1<br />

0.5<br />

0.8<br />

0.6<br />

0<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.4<br />

0.2<br />

0<br />

0<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Stiffness Matrix<br />

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

N∑<br />

∫<br />

ξ i<br />

i=1<br />

◮ Aξ = b<br />

Ω<br />

∫<br />

∇φ i · ∇φ j dx =<br />

◮ a ji = a ij = ∫ Ω ∇φ i · ∇φ j dx<br />

◮ b j = ∫ Ω f φ jdx + ∫ ∂Ω<br />

Ω<br />

∂u<br />

∂n · ∇φ jdx<br />

∫<br />

∂u<br />

f φ j dx +<br />

∂Ω ∂n · ∇φ jdx<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

a γ h (u,v) = ∑ K∈T h<br />

(∇u, ∇v) K (8)<br />

− ∑ e∈E I h<br />

[<br />

〈{∂ n u} ,[v]〉 e<br />

+ 〈{∂ n v} ,[u]〉 e<br />

− γh −1<br />

e 〈[u],[v]〉 e<br />

]<br />

− ∑<br />

e∈E D h<br />

Eh I set of internal edges<br />

Eh B set of boundary edges on Γ D<br />

Eh N set of boundary edges on Γ N<br />

[<br />

〈∂ n u,v〉 e<br />

+ 〈∂ n v,u〉 e<br />

− γh −1<br />

e 〈u,v〉 e<br />

]<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

DG Formulation<br />

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Poisson’s Equation<br />

Variational Formulation<br />

Variational Formulation Cont.<br />

Standard <strong>Galerkin</strong> <strong>Method</strong><br />

Basis Function<br />

Stiffness Matrix<br />

<strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Method</strong><br />

DG Formulation<br />

Find u h ∈ V r h<br />

such that<br />

where<br />

F(v h ) = (f ,v h ) − ∑<br />

a γ h (uγ h ,v h) = F(v h ) ∀v h ∈ V r h (9)<br />

e∈E D h<br />

〈<br />

gD ,∂ n v h − γh −1<br />

e v h<br />

〉<br />

e + ∑<br />

e∈E N h<br />

〈g N ,v h 〉 e<br />

and<br />

V r h = Π K∈Th P r−1 (K), r ≥ 2<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Additive Schwarz Preconditioner<br />

Embeding and Projection Operators<br />

Performance of Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong><br />

Preconditioning and Iterative Solver<br />

◮<br />

Ax = b<br />

where A is Symmetric Positive Definite. For practical problems, the matrix is sufficiently large to require<br />

iterative methods such as Conjugate Gradient method(CG). However,<br />

κ = cond(A) ≈ O(h −2<br />

min )<br />

where h is the diameter of the smallest triangle of the mesh.<br />

◮ The convergence rate for CG is close to 1 as K is big,so number of iterations grows as size of A grows.<br />

√ κ − 1<br />

‖e m ‖ A ≤ 2( √ ) m ‖e 0 ‖ A κ + 1<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Additive Schwarz Preconditioner<br />

Embeding and Projection Operators<br />

Performance of Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong><br />

◮ T s ⊆ T H ⊆ T h , where T s is union of T H , and T H is<br />

union of T h .<br />

◮ Define additive Schwarz preconditioner as:<br />

P = R T 0 A −1<br />

0 R 0 + (R T 1 A −1<br />

1 R 1 + · · · R T n A −1<br />

n R n ) (10)<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Additive Schwarz Preconditioner<br />

Embeding and Projection Operators<br />

Performance of Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong><br />

(EH h) dg<br />

V dg<br />

h<br />

↑↓ (Ph H) dg<br />

(EH H) cg<br />

V dg<br />

H<br />

↑↓<br />

V cg<br />

H<br />

(PH H) cg<br />

◮ (Ph H) dg = (EH h) T<br />

dg<br />

◮ (PH H) cg = (EH H) T<br />

cg<br />

◮ V dg<br />

h<br />

◮ V dg<br />

H<br />

◮ V cg<br />

H<br />

represents DG function space on fine mesh.<br />

represents DG function space on coarse mesh.<br />

represents CG function space on coarse mesh.<br />

R 0 = (P H H ) cg (P H h ) dg<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Additive Schwarz Preconditioner<br />

Embeding and Projection Operators<br />

Performance of Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong><br />

Performance of Conjugate Gradient <strong>Method</strong>(Time) -- Core 2 duo(2.66 GHz)<br />

Performance of Conjugate Gradient <strong>Method</strong>(Iters) -- Core 2 duo(2.66 GHz)<br />

4.1e+03<br />

Time<br />

8192<br />

Iters<br />

1.0e+03<br />

4096<br />

2.6e+02<br />

6.4e+01<br />

2048<br />

1.6e+01<br />

1024<br />

Time<br />

4.0e+00<br />

1.0e+00<br />

2.5e-01<br />

Iters<br />

512<br />

256<br />

6.2e-02<br />

1.6e-02<br />

3.9e-03<br />

128<br />

64<br />

9.8e-04<br />

1 2 3 4 5 6 7 8<br />

Level<br />

32<br />

1 2 3 4 5 6 7 8<br />

Level<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Additive Schwarz Preconditioner<br />

Embeding and Projection Operators<br />

Performance of Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong><br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong>(Time) -- Core 2 duo(2.66 GHz)<br />

Performance of Preconditioned Conjugate Gradient <strong>Method</strong>(Iters) -- Core 2 duo(2.66 GHz)<br />

2048<br />

1024<br />

DG-cgSV<br />

DG-DG-pcgSV<br />

DG-CG-pcgSV<br />

8192<br />

4096<br />

DG-cgSV<br />

DG-DG-pcgSV<br />

DG-CG-pcgSV<br />

512<br />

2048<br />

256<br />

1024<br />

Time<br />

128<br />

Iters<br />

512<br />

64<br />

256<br />

32<br />

128<br />

16<br />

64<br />

8<br />

6 6.5 7 7.5 8<br />

32<br />

6 6.5 7 7.5 8<br />

Level<br />

Level<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

A Posteriori Estimator<br />

Refinement Algorithm<br />

Application<br />

An adaptive algorithm is an iterative method consisting of cycles of<br />

the form: Solve⇒Estimate⇒Refine<br />

1. Given a mesh T H , compute solution u H<br />

2. Estimate the error of u H .<br />

3. If: error ≤ specified tolerance, STOP.<br />

else: refine mesh to new mesh T h<br />

4. go to step 1).<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

A Posteriori Estimator<br />

Refinement Algorithm<br />

Application<br />

Refinement Algorithm<br />

An refinement algorithm is an method to choose certain elements<br />

for the refinement:<br />

1. Given a mesh T H , compute solution u H<br />

2. Estimate the error of u H .<br />

3. Sort each element by its error, and predict refinement levels to<br />

achieve the torlance.<br />

4. Refine chosen elements accordingly to new mesh T h .<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

A Posteriori Estimator<br />

Refinement Algorithm<br />

Application<br />

Application<br />

{<br />

−∇ 2 u = 0<br />

u = r 2/3 sin(2/3θ)<br />

in Ω<br />

on ∂Ω<br />

0.3<br />

Residual Error<br />

drastic cutting<br />

theta=0.6<br />

0.25<br />

0.2<br />

Error<br />

0.15<br />

0.1<br />

0.05<br />

0<br />

0 5 10 15 20 25<br />

aIters<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>

Introduction<br />

Mathematical Description<br />

Preconditioning and Iterative Solver<br />

<strong>Adaptive</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong><br />

Thank You!<br />

Haihang You<br />

<strong>Adaptive</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>Finite</strong> <strong>Element</strong> <strong>Method</strong>