jim e. jones center for applied scientific computing
DESCRIPTION
Jim E. Jones Center for Applied Scientific Computing. Algebraic Multigrid for Finite Element Problems: AMGe. Andy Cleary Rob Falgout Van Henson Panayot Vassilevski Ulrike Meier Yang. Marian Brezina Tim Chartier Tom Manteuffel Steve McCormick John Ruge. Collaborators. Outline. - PowerPoint PPT PresentationTRANSCRIPT
Jim E. JonesCenter for Applied Scientific Computing
Algebraic Multigrid for Finite Element Problems: AMGe
JEJ2CASC
Collaborators
Andy Cleary
Rob Falgout
Van Henson
Panayot Vassilevski
Ulrike Meier Yang
Marian Brezina
Tim Chartier
Tom Manteuffel
Steve McCormick
John Ruge
JEJ3CASC
Outline
Motivation for AMGe
AMGe measure
Interpolation
Choosing coarse grids
Agglomeration coarsening
Conclusions
JEJ4CASC
AMG uses “strength of dependence” to determine multigrid components
Smooth error means “small” residuals
Based on properties of M-matrices, AMG uses the following heuristic: smooth error varies slowest in the direction of strong dependence
Here, strong connections are defined by “large” matrix coefficients: i strongly depends on j if
eAr 0
aa kiikji 10xam
JEJ5CASC
Prolongation in AMG is defined by first “collapsing the stencil”
Fie
Cie
eP ckki
Ck
ci
ic
i
Prolongation has the form:
iC C
CF F
F
Assume smooth error given by:
Write error, , at both F-points and “weak” C-points in terms of error at “strong” C-points
We now have an equation for the error in terms of error at neighboring “strong” C-points
Use the coefficients in this equation for the weights
eaear jjiNj
iiii
i
0
Defining prolongation weights
ei
ej
ki
JEJ6CASC
We need a more robust characterization of smooth error
Example: consider quadrilateral finite elements on a stretched 2D Cartesian grid ( )
Strong dependence is not apparent here Iterative weight interpolation will sometimes
compensate for mis-identified strong dependence Elasticity problems are still problematic
A
141282141
x
JEJ7CASC
Start with a global measure that relates interpolation accuracy and eigenmodes
Fundamental heuristic: for a two grid algorithm, the interpolation operator must be able to reproduce a mode up to the same accuracy as the size of the associated eigenvalue.
That is, the following measure should be small
eeAeQIeQI
JEJ8CASC
Two-level convergence results
If K is an upper bound for the measure, then the two-level convergence factor is bounded by
One Richardson smoothing with relaxation parameter
21
AK
As
20
JEJ9CASC
AMGe uses finite element stiffness matrices to localize new heuristic
Global measure:
Local measure:
where is a canonical basis vector, is a row of interpolation, and is a sum of local stiffness matrices
Local bound yields Global bound
Ai
eeA
eQIeQIM
xamQ
e0
eeA
eqeqM
i
Tii
Tii
eii
xamq
0
i qTi
JEJ10CASC
Interpolation is defined by the arg min of
where we restrict the structure of iterpolation to “nearest neighbors” by
This is easily computed in practice
Using local measure to define interpolation
nim iiZq iiqM
CjvRvZ ijn
i \rof0
JEJ11CASC
Using local measure to define interp. is equivalent to fitting local eigenmodes
Assume the eigen-decomposition:
Finding the arg min is equivalent to solving the following constrained least-squares problem
VVVVVAi
iiiiiiii 0
000
0ottcejbusnim iiTiii
Tiiqi
0221 qVqV
JEJ12CASC
Computing interpolation in practice
Partition local matrix by F and C-pts:
Interpolation to point i is defined by
Perfect interpolation of the local problem
AA
AAA
ccfc
cfffi
AAq
ifffci
0
1
JEJ13CASC
2D plane-stress cantilever beam, fixed on one end.
Convergence factors: finest grid elements are hxh; h=1/64, grids are coarsened geometrically.
Preliminary results for new AMGe prolongation are promising
1
d
Two-level Multilevel
height amg amge amg amge
1 0.97 0.49 0.98 0.65
1/4 0.97 0.48 0.98 0.68
1/8 0.98 0.47 0.99 0.64
1/16 0.97 0.49 0.99 0.58
1/32 0.97 0.45 0.98 0.51
1/64 0.98 0.39 0.98 0.39
JEJ14CASC
Review of Local AMGe Measure
Given C-points, defines interpolation. Given C-points, can indicate where interpolation
should be improved by adding additional C-points.
eeA
eqeqxamqM
i
Tii
Tii
eAii
i 0
JEJ15CASC
Using AMGe measure to pick C-points
Can replace standard AMG “strength of connection” definition with one based on the measure.
Approach 1: Calculate measure for i assuming j is the only C-point used in interpolation, Mi(j). Then, i strongly depends on j if
11
kMxam
jM iik
i
JEJ16CASC
We are now investigating ways of using our local measure to select coarse grids
One approach is to use the local measure to redefine the AMG notion of strength of dependence:
For each point k connected to point i , computevalue of assuming k is the only C-point. Mi
A
141282141
values for quadrilateral example (1000:1)
Mi
01379013
013013
01379013
66
66
66
JEJ17CASC
Using AMGe measure to pick C-points
Can replace standard AMG “strength of connection” definition with one based on the measure.
Approach 2: Calculate measure for i assuming j is the only neighbor not used in interpolation, Mi(j). Then, i strongly depends on j if
kMxamjM iiki
JEJ18CASC
Using AMGe measure to pick C-points
Maximize accuracy / cost.
Accuracy is modeled by the AMGe measure. Cost is modeled by the number of C-points.
JEJ19CASC
Problems with picking C-points
What are the coarse grid element matrices?
— Number of CG elements = Number of fine— Sometimes can agglomerate elements— Coarse elements may have larger null space
PAPA eT
e fc
JEJ20CASC
Coarsening
Coarse grid elements naturally form agglomerates
JEJ21CASC
Coarsening
Coarse grid elements don’t naturally form agglomerates
JEJ22CASC
Agglomeration coarsening
Force agglomerated coarse grid elements— Group fine elements into agglomerates— Define C-points to be vertices of agglomerated
elements— Interpolate only from degrees of freedom in the
same agglomerate
JEJ23CASC
Constructing interpolation
“Edge points” interpolate from coarse points on the same edge
“Element points” intepolate from coarse points in the element
JEJ24CASC
Agglomeration coarsening
Coarse element matrices
Global coarse matrix
PAPA eEet
E fcfc
ft
cEE ccPAPAA
JEJ25CASC
Agglomeration coarsening:
List of fine grid degrees of freedom
List of fine grid elements (each is a list of d.o.f.)
Element stiffness matrices
JEJ26CASC
Agglomeration coarsening:
last_f = 0
if max_f >= last_f update neighbors
else complete E
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
JEJ27CASC
Agglomeration coarsening:
last_f = 0
if max_f >= last_f update neighbors
else complete E
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
10 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 2 0 0 0 0
2 2 0 0 0 0
JEJ28CASC
Agglomeration coarsening:
last_f = 0
if max_f >= last_f update neighbors
else complete E
2 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
32 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 0 0 0 0
2 2 0 0 0 0
JEJ29CASC
Agglomeration coarsening:
last_f = 2
if max_f >= last_f update neighbors
else complete E
2 2 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
52 2 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
3 1 0 0 0
2 2 0 0 0 0
JEJ30CASC
Agglomeration coarsening:
last_f = 3
if max_f >= last_f update neighbors
else complete E
2 2 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
10 0 0 0 0 0
52 2 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 2 0 0 0 0
1 0 0 0
2 2 0 0 0 0
JEJ31CASC
Agglomeration coarsening:
last_f = 5
if max_f >= last_f update neighbors
else complete E
2 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
10 0 0 0 0 0
0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0
1 0 0 0
0 0 0 0
JEJ32CASC
Agglomeration coarsening:
last_f = 0
if max_f >= last_f update neighbors
else complete E
2 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
00 0 0 0 0 0
10 0 0 0 0 0
2 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0
1 1 0 0
0 0 0 0
JEJ33CASC
Agglomeration coarsening:
Define faces by intersecting elements
Define vertices by intersecting faces
JEJ34CASC
Agglomeration coarsening:
Let the vertices be the C-points
Construct coarse elements and stiffness matrices
PAPE
T
JEJ35CASC
Agglomerations for triangular elements, both structured and unstructured
JEJ36CASC
The agglomeration method can be easily modified to handle anisotropic problems
Basic approach: prevent agglomeration through faces that tie together elements in a direction of weak coupling
Compute the measure for each pair of elements:
If the measure is above some parameter threshold, the elements should not be agglomerated, so the shared face is marked as unacceptable in the graph
F C
F
C
C C
E1 E2AD
Mffff
F
1
1nim
JEJ37CASC
Numerical results
Poisson Problem on unstructured grids
P1 P2 P3 P4
#Felements
48 1001 4016 16016
#Celements
20 242 1016 3859
#Fd.o.f.
35 523 2085 8095
#Cd.o.f.
27 281 1083 3515
#its. 7 9 8 8
Conv.Factor
0.16 0.32 0.26 0.26
JEJ38CASC
Numerical results
Elasticity Problem on structured square grids
P1 P2 P3 P4
#Felements
400 900 1600 2500
#Celements
118 253 438 673
#Fd.o.f.
882 1922 3362 5202
#Cd.o.f.
314 624 1034 1544
#its. 9 9 9 9
Conv.Factor
0.25 0.25 0.25 0.25
JEJ39CASC
Conclusions/Questions
Given the individual element stiffness matrices and the right coarse grid, the AMGe method can give high quality interpolation.
The AMGe method can be used to guide the coarsening process.
Parallel agglomeration algorithms? How closely tied must the element and d.o.f
coarsening procedures be? What to do when you don’t have stiffness matrices? Papers available: http://www.llnl.gov/casc/linear_solvers