Analysis of a hybrid p-Multigrid method for the discontinuous Galerkin discretisation ... ·...
Transcript of Analysis of a hybrid p-Multigrid method for the discontinuous Galerkin discretisation ... ·...
Analysis of a hybrid p-Multigridmethod for the discontinuous Galerkindiscretisation of the Euler equations
Koen HillewaertCFD-multiphysics GroupCENAERO
Eccomas CFD - 5 september 2006
Research supported by the Walloon Region and the European funds ERDF and ESF
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Acknowledgments
Joint work CENAERO - UCL (GCE)
■ Prof. J-F. Remacle (UCL - GCE)
■ Dr. N. Cheveaugeon(UCL - GCE)
■ Ir. P.-E. Bernard (UCL - MEMA)
■ Dr. P. Geuzaine (CENAERO)
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Outline
■ Motivation
■ DGFEM
■ Solvers● Newton-Krylov-ILU(0)● h- or p-Multigrid
◆ General FAS framework◆ Theoretical analysis
■ Comparison: flow around NACA0012
■ Conclusions And Future Work
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Motivation
Advantages of higher order DGFEM
■ increased order improves ratio precision wrt RAM and CPU■ maintains first order stencil on “unstructured level”
● parallellisability● low overhead associated to mesh
■ data per element is locally “structured”● no global renumbering of unknowns● casting of global operator into matrix-matrix operations
■ hp adaptivity
Shortfalls for the moment
■ efficient solution methods ?■ expensive evaluation of the terms due to Gauss quadrature■ viscous terms■ turbulence model■ shock capturing
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
DGFEM
Find the solution u in D to
L (u) = ∇ · ~f (u) = 0
with appropriate boundary conditions.
Approximate solution in broken space U
u =Xi
ui φi , φi ∈ U
Galerkin weighting:
rj =
ZD
φj∂u
∂tdV +
ZD
φj∇ · ~f (u) dV = 0 , ∀φj ∈ U
rj =
ZT
φj∂u
∂tdV +
I∂T
φj~f (u) · ~ndS −
ZT∇φj · ~f (u) dV
=
ZT
φj∂u
∂tdV +
I∂T
φjH“
u+
, u−
, ~n”
dS −ZT∇φj · ~f (u) dV
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Solvers
■ Runge-Kutta local timestepping
∆τ = CFL ·L
u·
1
2p + 1
■ Newton-Krylov with ILU preconditioner
■ Multigrid● mesh resolution : h-Multigrid● order of solution : p-Multigrid
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Newton-Krylov-ILU
■ Nonlinear iteration : Newton solution for damped equations
r∗j =
un − un−1
∆τn +∇ · ~f“
un”
, φi
!= 0 , ∀φi ∈ U
resulting in „M
∆τn +∂r
∂u
«·∆un
= −r“un−1
”
■ Linear iterations : GMRES● “Matrix-free” implementation„
M
∆τn +∂r
∂u
«· s ≈
r∗`un + ε · s
´− r∗
`un´
ε
● block ILU preconditioner : one block per element, two per face◆ 2D : dofs/element ∼ p2 hence elementary matrix ∼ p4
◆ 3D : dofs/element ∼ p3 hence elementary matrix ∼ p6
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid
■ MG uses successively coarser representations of the solution to iterate on● grid size: h-Multigrid (Bastian et al. 2000, Van der Vegt et al. 2002)● interpolation order: p-Multigrid (Helenbrook et al. 2003, Fidkowski et al.
2004)
■ MG has optimal complexity (TME): ie. work needed to solve the system is onlyproportional to the number of dofs.
■ MG convergence hinges upon● fast reduction of high-frequency errors - simple smoothers suffice● good quality of transfer operators
■ MG is extremely easy to implement in a discontinuous interpolation framework
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : FAS for Galerkin FEM
“Fine” solution up ∈ Up
“Coarse” solution uq ∈ Uq
■ presmoothing on level p, leading to solution up∗
■ restrictionu
q∗= T qp
“u
p∗”■ defect correction“
L“
uq”− L
“u
q∗”+ L
“u
p∗”, v
q”
= 0 ∀vq ∈ Uq
■ prolongation
up
= up∗
+ T pq“
uq − u
q∗”■ post-smoothing: perform additional iterations on level p to smooth the corrected
solution
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : Solution transfer
T ba is defined as the L2 projection from ua ∈ Ua to ub ∈ Ub:
Xi
“φ
bk, φ
bj
”ubj =
Xj
“φ
bk, φ
ai
”uai , ∀φ
bk ∈ U
b
Equivalent discrete operator
ub= Tba · ua
Tba=“Mbb
”−1·Mba
where
Mbbij =
“φ
bi , φ
bj
”Mba
ij =“
φbi , φ
aj
”
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : Residual restriction
Avoid modified residual operators associated to mixed weighting
■ project residual function on Up using L2 projection:
L“
up”≈Xi
lpiφ
pi
Xi
lpi
“φ
pi, φ
pj
”≈“L“
up”
, φpj
”= rp
j
■ then Galerkin weighting becomes trivial:“L“
up”
, φqj
”≈Xi
lpi
“φ
pi, φ
qj
”Equivalent discrete operator:
rq = Tqp · rp
Tqp= Mqp ·
“Mp”−1
=“Tpq
”T
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : convergence analysis
Suppose L () is a linear operator, then
“L“
up”
, φpi
”=“
f, φpi
”, ∀φ
pi∈ Up
is equivalent to
Lp · up= fp
Lpij
=“
φpi,L“
φpj
””Suppose that interpolation space Uq is “embedded” in Up
φqi
= αqpij· φp
j, ∀φ
qi∈ Uq
then
αqp
=
„Mqp ·
“Mpp
”−1«
= Tqp=“Tpq
”T
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : convergence analysis
We can prove in this case
Lqij
=“
φqi,L“
φqj
””= α
qpik·“
φpk
,L“
φpl
””· αqp
jl
Hence for the chosen transfer operators the discrete coarse grid approximation(DCGA) coincides with the Galerkin coarse grid approximation (GCGA) :
Lq= Tqp · Lp · Tpq
Hence the discretised defect correction equation
Lq ·“uq − uq∗”
+ Tqp ·“Lp · up∗ − fp
”= 0
translates to:
Tqp„
Lp ·„
up∗+ Tpq ·
“uq − uq∗”«− fp
«= 0
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid : convergence analysis
We define the error ep as:
Lpep= Lpup − fp = rp
The error ep after one two-level iteration now becomes
ep=
„Ip− Tpq ·
“Lq”−1
· Tqp · Lp«· ep∗
We may now decompose the error ep∗
ep∗= ep∗
s + ep∗r
ep∗s =
„Tpq ·
“TqpTpq
”−1· Tqp
«· ep∗
ep∗r =
„Ip− Tpq ·
“TqpTpq
”−1· Tqp
«· ep∗
after the coarse grid correction we find
ep=
„Ip− Tpq ·
“Lq”−1
· Tqp · Lp«· ep∗
r
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Multigrid strategy
■ cycling
W−cycleV−cycle p
p−1
p−2
p−3
p
p−1
p−2
p−3
Full Multigrid
■ solvers and solver parameters for each level● explicit methods on fine levels● implicit methods on coarse levels
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 airfoil
M = 0.3, α = 2o
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012: Mach isolines
p=1, coarse
p=1, fine
p=4, coarse
p=4, fine
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 : strategies compared(cycles,coarse)
order 2 order 4
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 : strategies compared(CPU,coarse)
order 2 order 4
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 : strategies compared (cycles,fine)
order 2 order 4
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 : strategies compared (CPU,fine)
order 2 order 4
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
NACA0012 : strategies compared (FMG)
order 2, fine mesh order 3, fine mesh
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
Conclusions and future work
Conclusions:
■ generic framework for multigrid in DGFEM (equally applicable to h-multigrid onconforming or non-conforming meshes and non-hierarchic p-multigrid);
■ p-MG convergence independent of order (TME), but dependent on grid size;
■ using pure explicit smoothers, w-cycle is most performant;
■ using implicit coarsest level v-cycle provides significant speed-ups, providingviable alternative to Newton-Krylov-ILU(0);
■ FMG does not improve convergence rates.
Future work:
■ look for a more performant smoother for higher order levels;
■ combine with h-multigrid to obtain h- and p-independent convergence rates;
■ use MG as preconditioner for GMRES;
■ directional p-coarsening in boundary layers.
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖
TOC
■ Acknowledgments ❖
■ Outline ❖
■ Motivation ❖
■ DGFEM ❖
■ Solvers ❖
■ Newton-Krylov-ILU ❖
■ Multigrid ❖
■ Multigrid : FAS for Galerkin FEM ❖
■ Multigrid : Solution transfer ❖
■ Multigrid : Residual restriction ❖
■ Multigrid : convergence analysis ❖
■ Multigrid : convergence analysis ❖
■ Multigrid : convergence analysis ❖
■ Multigrid strategy ❖
■ NACA0012 airfoil ❖
■ NACA0012: Mach isolines ❖
■ NACA0012 : strategies compared (cycles,coarse) ❖
■ NACA0012 : strategies compared (CPU,coarse) ❖
■ NACA0012 : strategies compared (cycles,fine) ❖
■ NACA0012 : strategies compared (CPU,fine) ❖
■ NACA0012 : strategies compared (FMG) ❖
■ Conclusions and future work ❖
www.cenaero.be Multigrid for DGFEM ➠ ➡➡ ➠ ✇ ■ ? ✖