FEM Multigrid - ICERMThis was easy to solve – using the Matlab backslash-operator: c = Anb...
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) =
∫Ω
fφ
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