jim e. jones center for applied scientific computing

39
Jim E. Jones Center for Applied Scientific Computing Algebraic Multigrid for Finite Element Problems: AMGe

Upload: brie

Post on 20-Jan-2016

30 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Jim E. Jones Center for Applied Scientific Computing

Jim E. JonesCenter for Applied Scientific Computing

Algebraic Multigrid for Finite Element Problems: AMGe

Page 2: Jim E. Jones Center for Applied Scientific Computing

JEJ2CASC

Collaborators

Andy Cleary

Rob Falgout

Van Henson

Panayot Vassilevski

Ulrike Meier Yang

Marian Brezina

Tim Chartier

Tom Manteuffel

Steve McCormick

John Ruge

Page 3: Jim E. Jones Center for Applied Scientific Computing

JEJ3CASC

Outline

Motivation for AMGe

AMGe measure

Interpolation

Choosing coarse grids

Agglomeration coarsening

Conclusions

Page 4: Jim E. Jones Center for Applied Scientific Computing

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

Page 5: Jim E. Jones Center for Applied Scientific Computing

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

Page 6: Jim E. Jones Center for Applied Scientific Computing

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

Page 7: Jim E. Jones Center for Applied Scientific Computing

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

Page 8: Jim E. Jones Center for Applied Scientific Computing

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

Page 9: Jim E. Jones Center for Applied Scientific Computing

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

Page 10: Jim E. Jones Center for Applied Scientific Computing

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

Page 11: Jim E. Jones Center for Applied Scientific Computing

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

Page 12: Jim E. Jones Center for Applied Scientific Computing

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

Page 13: Jim E. Jones Center for Applied Scientific Computing

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

Page 14: Jim E. Jones Center for Applied Scientific Computing

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

Page 15: Jim E. Jones Center for Applied Scientific Computing

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

Page 16: Jim E. Jones Center for Applied Scientific Computing

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

Page 17: Jim E. Jones Center for Applied Scientific Computing

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

Page 18: Jim E. Jones Center for Applied Scientific Computing

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.

Page 19: Jim E. Jones Center for Applied Scientific Computing

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

Page 20: Jim E. Jones Center for Applied Scientific Computing

JEJ20CASC

Coarsening

Coarse grid elements naturally form agglomerates

Page 21: Jim E. Jones Center for Applied Scientific Computing

JEJ21CASC

Coarsening

Coarse grid elements don’t naturally form agglomerates

Page 22: Jim E. Jones Center for Applied Scientific Computing

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

Page 23: Jim E. Jones Center for Applied Scientific Computing

JEJ23CASC

Constructing interpolation

“Edge points” interpolate from coarse points on the same edge

“Element points” intepolate from coarse points in the element

Page 24: Jim E. Jones Center for Applied Scientific Computing

JEJ24CASC

Agglomeration coarsening

Coarse element matrices

Global coarse matrix

PAPA eEet

E fcfc

ft

cEE ccPAPAA

Page 25: Jim E. Jones Center for Applied Scientific Computing

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

Page 26: Jim E. Jones Center for Applied Scientific Computing

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

Page 27: Jim E. Jones Center for Applied Scientific Computing

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

Page 28: Jim E. Jones Center for Applied Scientific Computing

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

Page 29: Jim E. Jones Center for Applied Scientific Computing

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

Page 30: Jim E. Jones Center for Applied Scientific Computing

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

Page 31: Jim E. Jones Center for Applied Scientific Computing

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

Page 32: Jim E. Jones Center for Applied Scientific Computing

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

Page 33: Jim E. Jones Center for Applied Scientific Computing

JEJ33CASC

Agglomeration coarsening:

Define faces by intersecting elements

Define vertices by intersecting faces

Page 34: Jim E. Jones Center for Applied Scientific Computing

JEJ34CASC

Agglomeration coarsening:

Let the vertices be the C-points

Construct coarse elements and stiffness matrices

PAPE

T

Page 35: Jim E. Jones Center for Applied Scientific Computing

JEJ35CASC

Agglomerations for triangular elements, both structured and unstructured

Page 36: Jim E. Jones Center for Applied Scientific Computing

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

Page 37: Jim E. Jones Center for Applied Scientific Computing

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

Page 38: Jim E. Jones Center for Applied Scientific Computing

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

Page 39: Jim E. Jones Center for Applied Scientific Computing

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