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

55
FEM Multigrid Trevor Crupi Yonah Moise Hannah Odom

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

Page 1: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

FEM Multigrid

Trevor CrupiYonah MoiseHannah Odom

Page 2: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 3: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 4: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 5: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 6: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 7: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 8: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 9: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 10: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 11: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 12: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 13: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

FEM & Polynomial Spaces

How do we solve this matrix systemmore efficiently?

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Page 14: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Axisymmetric Domains

Page 15: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 16: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 17: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 18: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 19: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 20: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 21: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

η 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

Page 22: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 23: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Breaking Down the ProblemWeak Formulation:

∫Ω

(curlkrzu · curlkrzv + u · v)rdrdz =

∫Ω

(F · v)rdrdz (10)

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Page 24: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 25: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Breaking Down the ProblemFill in:

uh =n+N∑j=1

cj · Xj

Crupi & Moise & Odom FEM Multigrid 31st July 2020

Page 26: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 27: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 28: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 29: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Solving For The C-Vector

Page 30: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 31: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 32: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 33: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 34: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Iterative Methods

Page 35: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 36: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 37: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 38: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 39: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

The Multiplicative SubspaceCorrection (MSC) Method

Page 40: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 41: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 42: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 43: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 44: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

The Multigrid Method

Page 45: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 46: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 47: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 48: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 49: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 50: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

Results of the Iterative Methods

Page 51: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 52: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 53: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 54: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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

Page 55: FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb However, Gaussian elimination is slow and inefficient when dealing with large matrices.

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