new enhancing iterative solvers in diana - enhancing iterative...

89
Abstract “Enhancing iterative solution methods for general FEM computations using rigid body modes.” Alex Sangers - June 27, 2014 at 15:30 in EEMCS LB 01.010 Diana is a general finite element software package that can be used to analyze a wide range of problems arising in Civil engineering. The solution of one or more systems of linear equations is a computational intensive part of a finite element analysis. Iterative solvers have proved to be efficient for solving these systems of equations. However, the convergence of iterative solvers stagnates if there are large stiffness jumps in the underlying model. The considered remedy is based on the approximate rigid body modes of the model. To identify the approximate rigid body modes in a finite element application we propose a generally applicable method based on element stiffness matrices. These rigid body modes can be used for deflation and coarse grid correction.

Upload: others

Post on 17-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Abstract

“Enhancing iterative solution methods for general FEMcomputations using rigid body modes.”

Alex Sangers - June 27, 2014 at 15:30 in EEMCS LB 01.010

Diana is a general finite element software package that can be used toanalyze a wide range of problems arising in Civil engineering. The solutionof one or more systems of linear equations is a computational intensivepart of a finite element analysis.

Iterative solvers have proved to be efficient for solving these systems ofequations. However, the convergence of iterative solvers stagnates if thereare large stiffness jumps in the underlying model.

The considered remedy is based on the approximate rigid body modes ofthe model. To identify the approximate rigid body modes in a finiteelement application we propose a generally applicable method based onelement stiffness matrices. These rigid body modes can be used fordeflation and coarse grid correction.

Page 2: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Enhancing iterative solvers in DianaEnhancing iterative solution methods for general FEM

computations using rigid body modes.

Alex Sangers

Delft Institute of Applied MathematicsTNO DIANA

June 27, 2014

Enhancing iterative solvers in Diana June 27, 2014

2

Page 3: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Content

Finite element analysis at DIANA

Motivation

Iterative solvers

Approximate rigid bodies

Applying rigid body modes

Domain decomposition

Results

Conclusions

Enhancing iterative solvers in Diana June 27, 2014

3

Page 4: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite element analysis

1. Real-life application

2. Model with elements

3. Assign properties

4. Analysis

Enhancing iterative solvers in Diana June 27, 2014

4

Page 5: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite element analysis

1. Real-life application

2. Model with elements

3. Assign properties

4. Analysis

Enhancing iterative solvers in Diana June 27, 2014

4

Page 6: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite element analysis

1. Real-life application

2. Model with elements

3. Assign properties

4. Analysis

Enhancing iterative solvers in Diana June 27, 2014

4

Page 7: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite element analysis

1. Real-life application

2. Model with elements

3. Assign properties

4. Analysis

Enhancing iterative solvers in Diana June 27, 2014

4

Page 8: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements applications

I Structures

I Geomechanics

I Dams and dikes

I Tunneling

I Oil and gas industry

Enhancing iterative solvers in Diana June 27, 2014

5

Page 9: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements applications

I Structures

I Geomechanics

I Dams and dikes

I Tunneling

I Oil and gas industry

Enhancing iterative solvers in Diana June 27, 2014

5

Page 10: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements applications

I Structures

I Geomechanics

I Dams and dikes

I Tunneling

I Oil and gas industry

Enhancing iterative solvers in Diana June 27, 2014

5

Page 11: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements applications

I Structures

I Geomechanics

I Dams and dikes

I Tunneling

I Oil and gas industry

Enhancing iterative solvers in Diana June 27, 2014

5

Page 12: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements applications

I Structures

I Geomechanics

I Dams and dikes

I Tunneling

I Oil and gas industry

Enhancing iterative solvers in Diana June 27, 2014

5

Page 13: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

One-dimensional Poisson problem

A 1D problem consisting of soft clay and granite:

− d

dx

(cdu

dx

)= f, x ∈ (0, 20)

u = 0, x ∈ 0, 20.

Enhancing iterative solvers in Diana June 27, 2014

6

Page 14: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

One-dimensional Poisson problem

A 1D problem consisting of soft clay and granite:

− d

dx

(cdu

dx

)= f, x ∈ (0, 20)

u = 0, x ∈ 0, 20.

Enhancing iterative solvers in Diana June 27, 2014

6

Page 15: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements for Poisson problem

1. Mesh the model into 40 equal-sized elements

2. Compute each element stiffness matrix and vector:

Kem =

(c(xm) −c(xm+1)−c(xm) c(xm+1)

), fem =

(f(xm)f(xm+1)

).

Jumps in c(x20) and c(x25).

3. Assemble the stiffness matrix and vector:

K =⋃40

m=1Kem , f =

⋃40m=1 f

em .

4. Solve Ku = f .

Enhancing iterative solvers in Diana June 27, 2014

7

Page 16: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements for Poisson problem

1. Mesh the model into 40 equal-sized elements

2. Compute each element stiffness matrix and vector:

Kem =

(c(xm) −c(xm+1)−c(xm) c(xm+1)

), fem =

(f(xm)f(xm+1)

).

Jumps in c(x20) and c(x25).

3. Assemble the stiffness matrix and vector:

K =⋃40

m=1Kem , f =

⋃40m=1 f

em .

4. Solve Ku = f .

Enhancing iterative solvers in Diana June 27, 2014

7

Page 17: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements for Poisson problem

1. Mesh the model into 40 equal-sized elements

2. Compute each element stiffness matrix and vector:

Kem =

(c(xm) −c(xm+1)−c(xm) c(xm+1)

), fem =

(f(xm)f(xm+1)

).

Jumps in c(x20) and c(x25).

3. Assemble the stiffness matrix and vector:

K =⋃40

m=1Kem , f =

⋃40m=1 f

em .

4. Solve Ku = f .

Enhancing iterative solvers in Diana June 27, 2014

7

Page 18: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Finite elements for Poisson problem

1. Mesh the model into 40 equal-sized elements

2. Compute each element stiffness matrix and vector:

Kem =

(c(xm) −c(xm+1)−c(xm) c(xm+1)

), fem =

(f(xm)f(xm+1)

).

Jumps in c(x20) and c(x25).

3. Assemble the stiffness matrix and vector:

K =⋃40

m=1Kem , f =

⋃40m=1 f

em .

4. Solve Ku = f .

Enhancing iterative solvers in Diana June 27, 2014

7

Page 19: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Iterative solvers

Solve Ku = f step by step.

I Popular algorithms:

I Conjugate Gradient (CG) for symmetric K

I Restarted GMRES (GMRES(s)) for non-symmetric K

I Convergence speed depends on eigensystem of KI Clustered eigenvalues ⇒ fast convergence

I Preconditioning may improve convergence

I P−1Ku = P−1f

I P ≈ KI Px = y is easy to solve

Enhancing iterative solvers in Diana June 27, 2014

8

Page 20: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Iterative solvers

Solve Ku = f step by step.

I Popular algorithms:

I Conjugate Gradient (CG) for symmetric K

I Restarted GMRES (GMRES(s)) for non-symmetric K

I Convergence speed depends on eigensystem of KI Clustered eigenvalues ⇒ fast convergence

I Preconditioning may improve convergence

I P−1Ku = P−1f

I P ≈ KI Px = y is easy to solve

Enhancing iterative solvers in Diana June 27, 2014

8

Page 21: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Iterative solvers

Solve Ku = f step by step.

I Popular algorithms:

I Conjugate Gradient (CG) for symmetric K

I Restarted GMRES (GMRES(s)) for non-symmetric K

I Convergence speed depends on eigensystem of KI Clustered eigenvalues ⇒ fast convergence

I Preconditioning may improve convergence

I P−1Ku = P−1f

I P ≈ KI Px = y is easy to solve

Enhancing iterative solvers in Diana June 27, 2014

8

Page 22: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Iterative solvers

Solve Ku = f step by step.

I Popular algorithms:

I Conjugate Gradient (CG) for symmetric K

I Restarted GMRES (GMRES(s)) for non-symmetric K

I Convergence speed depends on eigensystem of KI Clustered eigenvalues ⇒ fast convergence

I Preconditioning may improve convergence

I P−1Ku = P−1f

I P ≈ KI Px = y is easy to solve

Enhancing iterative solvers in Diana June 27, 2014

8

Page 23: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the Poisson problem

Solve the Jacobi preconditioned system:

P−1Ku = P−1f

The convergence of Preconditioned CG depends on λ(P−1K):

Enhancing iterative solvers in Diana June 27, 2014

9

Page 24: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the Poisson problem

Solve the Jacobi preconditioned system:

P−1Ku = P−1f

The convergence of Preconditioned CG:

Enhancing iterative solvers in Diana June 27, 2014

9

Page 25: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Stiffness matrix of Poisson problem

|K| =

Enhancing iterative solvers in Diana June 27, 2014

10

Page 26: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the Poisson problem

Deflation: Apply Π⊥

Enhancing iterative solvers in Diana June 27, 2014

11

Page 27: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the Poisson problem

Deflation: Apply Π⊥

Enhancing iterative solvers in Diana June 27, 2014

11

Page 28: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the deflated Poisson problem

Solve the deflated Jacobi preconditioned system:

P−1Π⊥Ku = P−1Π⊥f

The convergence of Deflated PCG depends on λ(P−1Π⊥K):

Enhancing iterative solvers in Diana June 27, 2014

12

Page 29: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Solving the deflated Poisson problem

Solve the deflated Jacobi preconditioned system:

P−1Π⊥Ku = P−1Π⊥f

The convergence of Deflated PCG:

Enhancing iterative solvers in Diana June 27, 2014

12

Page 30: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Approximate rigid bodies

True rigid bodies

Kx = 0 for some x 6= 0.

Approximate rigid bodies

Represents “weak coupling” in the model.

Enhancing iterative solvers in Diana June 27, 2014

13

Page 31: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Approximate rigid bodies

True rigid bodies

Kx = 0 for some x 6= 0.

Approximate rigid bodies

Represents “weak coupling” in the model.

Enhancing iterative solvers in Diana June 27, 2014

13

Page 32: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Identifying approximate rigid bodies

I Diana is general FE softwareI Wide range of elementsI Wide range of materials

I Element matrices!I Always presentI Fair comparison

1

ntr(Kem) =

1

n

n∑i=1

Kemii

Enhancing iterative solvers in Diana June 27, 2014

14

Page 33: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Identifying approximate rigid bodies

I Diana is general FE softwareI Wide range of elementsI Wide range of materials

I Element matrices!I Always presentI Fair comparison

1

ntr(Kem) =

1

n

n∑i=1

Kemii

Enhancing iterative solvers in Diana June 27, 2014

14

Page 34: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Identifying approximate rigid bodies

I Diana is general FE softwareI Wide range of elementsI Wide range of materials

I Element matrices!I Always presentI Fair comparison

1

ntr(Kem) =

1

n

n∑i=1

Kemii

Enhancing iterative solvers in Diana June 27, 2014

14

Page 35: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 36: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 37: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 38: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 39: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 40: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 41: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 42: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 43: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 44: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 45: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coloring algorithm

Consider this two-dimensional finite element mesh

Nonlinear iteration loop

I Reuse the coloring if 1n tr(Kem) changes less than 50%.

Enhancing iterative solvers in Diana June 27, 2014

15

Page 46: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 47: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 48: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.

Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 49: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.

Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 50: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 51: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 52: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation

Define

Π∈ = I − Z(ZTKZ)−1ZTK,

Π⊥ = I −KZ(ZTKZ)−1ZT ,

so that Π⊥K = KΠ∈.

Split u by

u = u⊥ + u∈

= (I −Π∈)u+ Π∈u.

First part u⊥: u⊥ = (I −Π∈)u = Z(ZTKZ)−1ZT f.Second part u∈: Ku∈ = KΠ∈u = Π⊥Ku.

⇒ Π⊥Ku = Π⊥f.

Enhancing iterative solvers in Diana June 27, 2014

16

Page 53: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coarse grid correction

The coarse grid correction

PC = I + Z(ZTKZ)−1ZT

corrects the solution during the iteration process:

uk+1 = uk + Z(ZTKZ)−1ZT r0.

In two-level Additive Schwarz form (dual preconditioning):

PC,P−1 = P−1 + Z(ZTKZ)−1ZT .

Enhancing iterative solvers in Diana June 27, 2014

17

Page 54: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Coarse grid correction

The coarse grid correction

PC = I + Z(ZTKZ)−1ZT

corrects the solution during the iteration process:

uk+1 = uk + Z(ZTKZ)−1ZT r0.

In two-level Additive Schwarz form (dual preconditioning):

PC,P−1 = P−1 + Z(ZTKZ)−1ZT .

Enhancing iterative solvers in Diana June 27, 2014

17

Page 55: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 56: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 57: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 58: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 59: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 60: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Deflation vs. coarse grid correction

Define the coarse matrix

E = ZTKZ.

Deflation Coarse grid

correction

Π⊥ = I −KZE−1ZT PC = I + ZE−1ZT

Cost per iteration + +

Parallelizability – +

Effectiveness + –

Numerical sensitivity – +

Note: Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

18

Page 61: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Ωb1 = Ωb

2!Linear dependent columns Zb

1 and Zb2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 62: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Z =

Za

Zb

Za

Ωb1 = Ωb

2!Linear dependent columns Zb

1 and Zb2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 63: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Ωb1 = Ωb

2!Linear dependent columns Zb

1 and Zb2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 64: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Ωb1 = Ωb

2!

Linear dependent columns Zb1 and Zb

2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 65: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Z =

Z1

Z2

Ωb1 = Ωb

2!

Linear dependent columns Zb1 and Zb

2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 66: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Z =

Za1

Za2

Zb1 Zb

2

Za1

Za2

Ωb1 = Ωb

2!

Linear dependent columns Zb1 and Zb

2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 67: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Domain decomposition

Consider model Ω with two rigid bodies Ωa and Ωb.

Z =

Za1

Za2

Zb1 Zb

2

Za1

Za2

Ωb1 = Ωb

2!Linear dependent columns Zb

1 and Zb2!

Enhancing iterative solvers in Diana June 27, 2014

19

Page 68: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Measures concerning the coarse matrix

I Remove small overlapping bodies

Z =

Za1

Za2

Zb1 Zb

2

Za1

Za2

⇒ Z =

Za1

Za2

Zb1

Za1

Za2

I Switch from deflation to coarse grid correction if

κ(E) 1.

Enhancing iterative solvers in Diana June 27, 2014

20

Page 69: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Measures concerning the coarse matrix

I Remove small overlapping bodies

Z =

Za1

Za2

Zb1 Zb

2

Za1

Za2

⇒ Z =

Za1

Za2

Zb1

Za1

Za2

I Switch from deflation to coarse grid correction if

κ(E) 1.

Enhancing iterative solvers in Diana June 27, 2014

20

Page 70: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Measures concerning the coarse matrix

I Remove small overlapping bodies

Z =

Za1

Za2

Zb1 Zb

2

Za1

Za2

⇒ Z =

Za1

Za2

Zb1

Za1

Za2

I Switch from deflation to coarse grid correction if

κ(E) 1.

Enhancing iterative solvers in Diana June 27, 2014

20

Page 71: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

The SplittedCube case

I Layer of interface elements splits a cube ⇒ two bodies

I 161.711 degrees of freedom

I Constraints at three planes

I Uniform load on top

Enhancing iterative solvers in Diana June 27, 2014

21

Page 72: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for SplittedCube case

Figure: Preconditioned Conjugate Gradient (PCG)

Enhancing iterative solvers in Diana June 27, 2014

22

Page 73: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for SplittedCube case

Figure: Deflated PCG

Enhancing iterative solvers in Diana June 27, 2014

22

Page 74: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for SplittedCube case

Figure: Coarse grid correction PCG

Enhancing iterative solvers in Diana June 27, 2014

22

Page 75: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

The Geo case

I Eight layers of different materials ⇒ two bodies

I 73.336 degrees of freedom

I Constraints at two planes and all edges

I Pressure load at center

Enhancing iterative solvers in Diana June 27, 2014

23

Page 76: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for Geo case

Figure: Computation with one domain

Enhancing iterative solvers in Diana June 27, 2014

24

Page 77: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Conclusions

Enhancements

I Identify rigid bodies based on element matrices

I Reuse of rigid bodies

I Remove significantly overlapping rigid bodies

I Switch from deflation to coarse grid correction

I Tested on 2572 test problems

I Great advantage for stiffness jumps of 103 or larger

Future research

I (Physics-based) preconditioner for elements with scalardegrees of freedom

I Identify rigid bodies before domain decomposition

I Alternative non-symmetric solver: IDR(s)

Enhancing iterative solvers in Diana June 27, 2014

25

Page 78: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Conclusions

Enhancements

I Identify rigid bodies based on element matrices

I Reuse of rigid bodies

I Remove significantly overlapping rigid bodies

I Switch from deflation to coarse grid correction

I Tested on 2572 test problems

I Great advantage for stiffness jumps of 103 or larger

Future research

I (Physics-based) preconditioner for elements with scalardegrees of freedom

I Identify rigid bodies before domain decomposition

I Alternative non-symmetric solver: IDR(s)

Enhancing iterative solvers in Diana June 27, 2014

25

Page 79: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Enhancing iterative solvers in DianaEnhancing iterative solution methods for general FEM

computations using rigid body modes.

Alex Sangers

Delft Institute of Applied MathematicsTNO DIANA

June 27, 2014

Enhancing iterative solvers in Diana June 27, 2014

26

Page 80: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Additional slides

Enhancing iterative solvers in Diana June 27, 2014

1

Page 81: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Approximate rigid bodies

I Stiffness jumps in the underlying model

I Domain decomposition

1. Divide domain Ω into subdomains Ωi.2. Compute the local solutions of subdomains Ωi.3. Compute the global solution.

Enhancing iterative solvers in Diana June 27, 2014

2

Page 82: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Approximate rigid bodies

I Stiffness jumps in the underlying model

I Domain decomposition

1. Divide domain Ω into subdomains Ωi.2. Compute the local solutions of subdomains Ωi.3. Compute the global solution.

Enhancing iterative solvers in Diana June 27, 2014

2

Page 83: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Choosing Z

I Eigenvectors:Z =

(v1 . . . vk

).

I Subdomains:

Zij =

1 if i ∈ Ωj ,0 otherwise.

I Rigid body modes:Z is the rigid body modes of the approximate rigid bodies.

Enhancing iterative solvers in Diana June 27, 2014

3

Page 84: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Rigid body modes

Consider a one-element rigid body with nodes x1 = (x1, y1, z1)and x2 = (x2, y2, z2).

x1

x2

y1

y2

z1

z2

Z =

1 0 0 0 −z1 y11 0 0 0 −z2 y20 1 0 z1 0 −x10 1 0 z2 0 −x20 0 1 −y1 x1 00 0 1 −y2 x2 0

Enhancing iterative solvers in Diana June 27, 2014

4

Page 85: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

The coarse matrix

Recall the coarse matrix

E = ZTKZ.

I Deflation: Π⊥ = I −KZE−1ZT ,

I Coarse grid correction: PC = I + ZE−1ZT .

The condition (quality) of E is

κ(E) = ‖E‖ · ‖E−1‖.

I κ(E) ≈ 1

I κ(E) ≈ 1016

I Z needs to have linearly independent vectors

Enhancing iterative solvers in Diana June 27, 2014

5

Page 86: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Condition number of the coarse matrix

The inverse of E is computed by a QR-decomposition:

E−1 = R−1QT ,

where R−1 is explicitly computed.

The condition number κ2(E) is bounded by:

κ2(E) ≤ κF (E),

with

κF (E) = ‖E‖F ‖E−1‖F= ‖QR‖F ‖R−1QT ‖F= ‖R‖F ‖R−1‖F .

Enhancing iterative solvers in Diana June 27, 2014

6

Page 87: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for SplittedCube case

κ(E) PCG PARDISO DPCG PPCGiter CPU(s) iter CPU(s) iter CPU(s) iter CPU(s)

1 3 · 108 248 66.2 1 132.0 122 37.8 126 38.72 6 · 108 229 43.1 1 78.0 n/a n/a 144 30.74 9 · 108 255 35.4 1 47.1 n/a n/a 151 23.38 3 · 1019 248 37.5 1 47.9 n/a n/a 128 23.4

Enhancing iterative solvers in Diana June 27, 2014

7

Page 88: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Results for Geo case

κ(E) PCG PARDISO DPCG PPCGiter CPU(s) iter CPU(s) iter CPU(s) iter CPU(s)

1 2 · 104 289 17.5 1 18.6 248 16.6 251 16.72 7 · 104 255 10.3 1 11.1 255 10.9 258 10.84 1 · 105 284 9.2 1 7.1 279 10.1 283 9.88 4 · 105 256 9.2 1 6.5 251 10.6 255 9.9

Enhancing iterative solvers in Diana June 27, 2014

8

Page 89: New Enhancing iterative solvers in Diana - Enhancing iterative …homepage.tudelft.nl/d2b4e/numanal/sangers_presentation2.pdf · 2014. 7. 12. · Diana is a general nite element software

Future research

I Identify rigid bodies before the partitioning

I Specialize the rigid body modesI Better reuse information in nonlinear iteration loop

I Eigenvector deflationI Optimize the parameter for rigid body reuse

I (Physics-based) preconditioner for models withtemperature or pressure

I The non-symmetric iterative solver IDR(s)

Enhancing iterative solvers in Diana June 27, 2014

9