FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb...

Post on 27-Feb-2021

2 views 0 download

Transcript of FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb...

FEM Multigrid

Trevor CrupiYonah MoiseHannah Odom

Finite Element MethodDefinition

The Finite Element Method (FEM) is a particular numerical method for solvingpartial differential equations in (typically two or three) space variables

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Meshes & Domains

Definition

A mesh is a set of subdivisionsof a chosen domain Ω ⊂ Rn intodiscrete geometric cells

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Meshes & DomainsOur two-dimension domain is theunit square

We divide our domain into different mesh levels. Mesh levels are dependent on thenumber of cells created.

Figure: Mesh Level 1 Figure: Mesh Level 2 Figure: Mesh Level 3

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Function SpacesDefinition

L2(Ω) = f : Ω→ R :∫

Ω |f |2dV <∞

L2 is the space of all square integrable functions.

Definition

H1(Ω) = f ∈ L2(Ω) : ∂f∂xi∈ L2(Ω),1 ≤ i ≤ n

H1 is the subset of all functions in L2 that have first derivatives in L2. Think of H1 asthe space of functions in L2 with nice first derivatives

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Polynomial SpacesDefinition

Vh = vh : vh∣∣T = ax + by + c, ∀T ∈ τh, and vh is globally continuous, where

a,b, c ∈ R and τh is the triangulation of our domain Ω

Vh is the set of all functions that, when restricted to one triangle in our mesh, can bewritten as ax + by + c.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Polynomial SpacesVh = φiNi=1, where N is the number of nodes

φi(vj) =

1 if i = j0 if i 6= j

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Weak DerivativesWeak derivatives are a generaliza-tion of the classic derivative concept.They are similar; however, there arecertain inputs that will yield a resultfrom the weak derivative but not thestrong derivative.For example:

Our starting equation requires thatfunction u be double differentiable byx while the final equation does nothave this restriction.

−uxx + u = fv(−uxx + u) = vf∫v(−uxx + u) =

∫vf

−vux |∞−∞ +

∫vxux +

∫vu =

∫vf∫

vxux +

∫vu =

∫vf∫

∇u∇v + uv =

∫vf

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Reaction-Diffusion EquationOur goal is to find some u ∈ H1(Ω) that satisfies our the The Reaction-DiffusionEquation:

−∆u + u = f

using Neumann Boundary Conditions:

∇u · ~n = 0 on ∂Ω

Crupi & Moise & Odom FEM Multigrid 31st July 2020

FEM & Polynomial SpacesOur weak form of the previous equation:

∫Ω∇u · ∇v + uv =

∫Ω

fv ∀v ∈ H1(Ω)

However H1(Ω), being infinite-dimensional, is difficult to work with. Therefore, weapproximate by letting uh, vh ∈ Vh, where Vh is finite, and seek uh and vh such that

∫Ω∇uh · ∇vh + uhvh =

∫Ω

fvh ∀vh ∈ Vh.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

FEM & Polynomial SpacesWe define uh and vh in terms of the basis function, φ:

uh =n∑

j=1

cj · φj , vh = φ

And use these in our weak formulation:∫Ω

n∑j=1

(cj · ∇φj · ∇φi + cj · φj · φi) =

∫Ω

Crupi & Moise & Odom FEM Multigrid 31st July 2020

FEM & Polynomial SpacesWe transform the equation into matrix-vector form A~c = ~b where:

Ai ,j =

∫Ω∇φi · ∇φj + φiφj , bi =

∫Ω

fφi

∫Ω(∇φ1 · ∇φ1 + φ1 · φ1) ...

∫Ω(∇φn · ∇φ1 + φn · φ1)∫

Ω(∇φ1 · ∇φ2 + φ1 · φ2) ...∫

Ω(∇φn · ∇φ2 + φn · φ2). ... .. ... .. ... .∫

Ω(∇φ1 · ∇φn + φ1 · φn) ...∫

Ω(∇φn · ∇φn + φn · φn)

c1c2...

cn

=

∫Ω fφ1∫Ω fφ2...∫

Ω fφn

Now we solve for constants within the c-vector

Crupi & Moise & Odom FEM Multigrid 31st July 2020

FEM & Polynomial Spaces

How do we solve this matrix systemmore efficiently?

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Axisymmetric Domains

Axisymmetric DomainsAn axisymmetric domain Ω is a domain symmetric about an axis. Due to thissymmetry, we can reduce our problem to the 2D domain Ω (the rz plane).

z

y

x

z

y

x

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Fourier DecompositionLet Ω be an axisymmetric domain. For a vector-valued function u ∈ L2(Ω). theFourier decomposition is u = us + ua, given by:

us =

u0r

0u0

z

+∞∑

k=1

ukr cos(kθ)

ukθsin(kθ)

ukz cos(kθ)

ua =

0u0θ

0

+∞∑

k=1

u−kr sin(kθ)

u−kθ cos(kθ)

u−kz sin(kθ)

A specific value of k is referred to as the k th order Fourier mode.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Curl OperatorsThe curl operator in cylindrical coordinates can be written:

curl ~u =

1r∂uz∂θ −

∂uθ∂z

∂ur∂z −

∂uz∂r

1r (∂uθ

∂r −∂ur∂θ )

(1)

If we apply it to the Fourier decomposition us + ua, we get:

curlkrz~u =

− kr uz − ∂zuθ∂zur − ∂r uz

∂r uθ + 1r uθ + k

r ur

(2)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Weighted SpacesDue to the Jacobian from the change of coordinates dxdydz 7→ rdrdθdz, we obtainweighted function spaces:

L2r (Ω) = ~u :

∫Ω

~u2rdrdz <∞ (3)

Note that L2(Ω) ⊂ L2r (Ω). We can also define the Sobolev space based on the

differential operator curlkrz :

Hr (curlkrz ; Ω) = ~u ∈ L2r (Ω) : curlkrz~u ∈ L2

r (Ω) (4)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

The Space WhRecall Vh:

Vh = vh : vh∣∣T = ax + by + c, ∀T ∈ τh, and vh is globally continuous (5)

Where e is an edge and t is the unit tangent vector.

Wh = wh : wh|T =

[B − AyC + Ax

],∫

ewh · t dS is continuous (6)

Our basis for this space is: ∫ej

ψi · t dS =

1 if i = j0 if i 6= j

(7)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

The Space Zh,kWe introduce a new finite element space Zh,k :

Zh,k =

zh : zh

∣∣T =

− 1k β1 + β4x − 1

k β3y − β6xyβ1 + β2x + β3yβ5x + β6x2

, βi ∈ R, ∀1 ≤ i ≤ 6, ∀T ∈ τh

The space Zh,k has a basis ηn+Ni=1 , ηi = (ηr

i , ηθi , ηzi )T satisfying the following

constraints:

ηθi (vj) =

1 if i = j0 if i 6= j

∫ej

[kηr

i +ηθix

kηzi

x

]·~tds =

1 if i = n + j0 if i 6= n + j

Crupi & Moise & Odom FEM Multigrid 31st July 2020

η Basis FunctionsThe basis functions can be written:

η =

− 1k β1 + β4r − 1

k β3z − β6rzβ1 + β2r + β3zβ5r + β6r2

We can use the constraints to solve for β4, β5, β6 and set β1, β2, β3 = 0 we obtain:

φi =

−cik −

aik r − bi

k zai r + biz + ci

0

ψi =

Bik r − Ai

k rz0

Cik r + Ai

k r2

We will let Xi = φi , ψji=N ,j=n+N

i=1,j=1+N .

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Integral Form of Our ProblemGiven a domain Ω and F ∈ L2

r (Ω), we wish to find a u ∈ Hr (curlkrz ; Ω) such that:

∫Ω

(curlkrzu · curlkrzv + u · v)rdrdz =

∫Ω

(F · v)rdrdz (8)

For all v ∈ Hr (curlkrz ; Ω). We use boundary conditions:(curlkrz~u)rz ·~t = 0 on Γ1

(curlkrz~u)θ = 0 on Γ1

(9)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Breaking Down the ProblemWeak Formulation:

∫Ω

(curlkrzu · curlkrzv + u · v)rdrdz =

∫Ω

(F · v)rdrdz (10)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Breaking Down the ProblemWeak Formulation:

∫Ω

(curlkrzu · curlkrzv + u · v)rdrdz =

∫Ω

(F · v)rdrdz (11)

Approximation:

∫Ω

(curlkrzuh · curlkrzvh + uh · vh)rdrdz =

∫Ω

(F · vh)rdrdz (12)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Breaking Down the ProblemFill in:

uh =n+N∑j=1

cj · Xj

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Breaking Down the ProblemFill in:

uh =n+N∑j=1

cj · Xj

And we get:

∫Ω

(n+N∑j=1

cj · curlkrzXj · curlkrzX +n+N∑j=1

cj · Xj · X )rdrdz =

∫Ω

(F · Xj)rdrdz (13)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Breaking Down the ProblemWe can transform this into a matrix system by setting:

Aij =

∫Ω

(curlkrzXj · curlkrzX + Xj · X )rdrdz

bi =

∫Ω

(F · Xi)rdrdz

This gives us the matrix system:

Ac = b (14)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

FEM on Maxwell’s Equations ResultsMesh Level Weighted L2 Error Convergence Rate

1 0.008 0.252 0.007 1.703 0.002 1.904 0.0006 1.995 0.0001 2.00

u(r , z) =

z − 1k (1

3 r3 − 12 r2)

−kz + 13 r3 − 1

2 r2

r

, F (r , z) =

k(r − 1) + ur (r , z)−2r + 1 + uθ(r , z)

uz(r , z)

, (15)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Solving For The C-Vector

Ac = b (16)

This was easy to solve – using the Matlab backslash-operator:

c = A\b

However, Gaussian elimination is slow and inefficient when dealing with largematrices.

Now: we will use iterative methods to solve this system.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Ac = b (16)

This was easy to solve – using the Matlab backslash-operator:

c = A\b

However, Gaussian elimination is slow and inefficient when dealing with largematrices.

Now: we will use iterative methods to solve this system.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Ac = b (16)

This was easy to solve – using the Matlab backslash-operator:

c = A\b

However, Gaussian elimination is slow and inefficient when dealing with largematrices.

Now: we will use iterative methods to solve this system.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Ac = b (16)

This was easy to solve – using the Matlab backslash-operator:

c = A\b

However, Gaussian elimination is slow and inefficient when dealing with largematrices.

Now: we will use iterative methods to solve this system.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Iterative Methods

Iterative MethodsImplement some algorithm over-and-over again, refining the input each time.

input output

Idea of the Structure

while Stopping-criterion is not fulfilled doProcess the inputReturn to top

end while

We first implemented the Multiplicative Subspace Correction Method.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Iterative MethodsImplement some algorithm over-and-over again, refining the input each time.

input output

Idea of the Structure

while Stopping-criterion is not fulfilled do

Process the inputReturn to top

end while

We first implemented the Multiplicative Subspace Correction Method.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Iterative MethodsImplement some algorithm over-and-over again, refining the input each time.

input output

Idea of the Structure

while Stopping-criterion is not fulfilled doProcess the inputReturn to top

end while

We first implemented the Multiplicative Subspace Correction Method.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Iterative MethodsImplement some algorithm over-and-over again, refining the input each time.

input output

Idea of the Structure

while Stopping-criterion is not fulfilled doProcess the inputReturn to top

end while

We first implemented the Multiplicative Subspace Correction Method.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

The Multiplicative SubspaceCorrection (MSC) Method

Subspace decomposition

Zh =N∑

l=1

Zl

e1 e2

e6e7e3e4e5

v1 v2

Figure: A Vertex Patch

For example:Z1 = span(φ1, ψ1, ψ7 )

Crupi & Moise & Odom FEM Multigrid 31st July 2020

The MSC-Method

Ui+1 = MSC(ui , f )

1) u(0)i = ui

2) For j = 1, 2, . . ., N

u(j)i = u(j−1)

i + A−1j Qj(f − Au(j−1)

i )

3) ui+1 = u(N)i

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Results of MSC-Method

Mesh Level Number of Iterations Convergence Rate

2 65 0.593 230 0.874 864 0.965 3274 0.996 12466 1

Crupi & Moise & Odom FEM Multigrid 31st July 2020

MSC→ MultigridMSC-method

is very slowrequires many iterationseliminates high-frequency errors quickly.

Instead, we will apply the Multigrid method:much faster than MSC-methodincorporates one iteration of MSC-Method to eliminate high-frequency errors.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

The Multigrid Method

Multigrid V-CycleUses a sequence of nested meshes to solve Ac=b

Figure: Mesh Level 1 Figure: Mesh Level 2 Figure: Mesh Level 3

Z 1h,k ⊂ Z 2

h,k ⊂ Z 3h,k

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Multigrid V-CycleUses a sequence of nested meshes to solve Ac=b

Figure: Mesh Level 1 Figure: Mesh Level 2 Figure: Mesh Level 3

Z 1h,k ⊂ Z 2

h,k ⊂ Z 3h,k

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Multigrid V-CycleSet MG1(u, f ) = A−1

1 f .

For s >1, define MGs(u, f ) recursively:

1) V (1): One iteration of MSC(u, f )

2) V (2) = V (1) + MGs−1(0,Qs−1(f − AsV (1)))

3) V (3): One iteration of MSCT (V (2), f ).

Also, for s >1, we iterate over these steps multiple times – in order to refine u into amore-accurate approximation of the real solution.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Multigrid V-CycleSet MG1(u, f ) = A−1

1 f .

For s >1, define MGs(u, f ) recursively:

1) V (1): One iteration of MSC(u, f )

2) V (2) = V (1) + MGs−1(0,Qs−1(f − AsV (1)))

3) V (3): One iteration of MSCT (V (2), f ).

Also, for s >1, we iterate over these steps multiple times – in order to refine u into amore-accurate approximation of the real solution.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Multigrid V-CycleSet MG1(u, f ) = A−1

1 f .

For s >1, define MGs(u, f ) recursively:

1) V (1): One iteration of MSC(u, f )

2) V (2) = V (1) + MGs−1(0,Qs−1(f − AsV (1)))

3) V (3): One iteration of MSCT (V (2), f ).

Also, for s >1, we iterate over these steps multiple times – in order to refine u into amore-accurate approximation of the real solution.

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Results of the Iterative Methods

Multigrid Results for k = 1

Mesh Level Number of Iterations L2 Convergence Rate

2 18 0.143 19 0.174 24 0.265 27 0.306 28 0.327 27 0.328 27 0.32

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Iterations to Convergence Results Comparison

2 3 4 5 6101

102

103

104

Mesh Level

Itera

tions

toC

onve

rgen

ce

MSCMultigrid

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Convergence Rate Results Comparison

2 3 4 5 6 7 80

0.2

0.4

0.6

0.8

1

Mesh Level

Con

verg

ence

Rat

e

MSCMultigrid

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Convergence Rate Comparison BetweenVarious Fourier Modes

Mesh Level k = 1 k = 2 k = 3 k = 4 k = 5

2 0.14 0.11 0.08 0.05 0.063 0.17 0.14 0.12 0.11 0.094 0.26 0.23 0.19 0.16 0.155 0.30 0.30 0.29 0.28 0.276 0.32 0.32 0.31 0.31 0.317 0.32 0.32 0.32 0.32 0.328 0.32 0.32 0.32 0.32 0.32

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Concluding Remarks

Mathematical analysis of Multigrid on Hr (curlkrz) using our subspace decompositionhas yet to be proven mathematically, however we have shown numerically that theconvergence is uniform.

For future work we will be extending our analysis to include the time harmonicMaxwell’s equation and exploring the applications.

Crupi & Moise & Odom FEM Multigrid 31st July 2020