55
FEM Multigrid Trevor Crupi Yonah Moise Hannah Odom

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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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