Download - A robust preconditioner for the conjugate gradient method

Transcript
Page 1: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 1

A robust preconditioner for the conjugate gradient method

– Pierre Verpeaux CEA DEN/DM2S/SEMT– Stéphane Gounand CEA DEN/DM2S/SFME/LTMF

• Work context• Direct solver• Krylov solver

– New preconditionner• Conclusion• Further development

Page 2: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 2

General context

• General purpose Cast3m computer code developed at CEA for mechanical problem solving by FEM method.

• Used in Nuclear Industry and others.• Toolbox for researcher• Blackbox for end user• Important need for qualification and

validation.

Page 3: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 3

Quality criteria for industrial code

– No need for tuning– Correct solution if correct problem– Incorrect problem detection– Predictable time– No failure

Page 4: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 4

Context

• Cement paste studies – EHPOC project• Heterogeneous material with inclusions• High mechanical properties contrast• REV analysis• Need for realistic representation of

inclusions including sharp edge• Need for accuracy. Reference calculation• CAO meshes with the Salome framework

Page 5: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 5

Spherical inclusions

Page 6: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 6

Sharp inclusions

Page 7: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 7

23.5 million tetrahedrons

Page 8: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 8

Solver challenge

• Large number of degrees of freedom• Very bad matrix conditioning due to

– Properties contrast– Flattened elements

• Various boundary condition including periodic condition of different kind. Use of cinematic constraints with Lagrange multiplier.

• Multiple problem solving on the same matrix.

Page 9: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 9

Direct solver

• Robust and precise• Nested dissection ordering and sparse

Crout solver• Spatial complexity in O(n4/3)• Temporal complexity in O(n5/3) for

preconditioning (factorization). Parallelizable.

• Temporal complexity in O(n4/3) for solving.

Page 10: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 10

Direct solver - 2

• Out of core storage• Around 100Go of matrix storage for

10.000.000 dof. Practical limit on desktop PC.

• 1d-12 accuracy• Unilateral constraints available

Page 11: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 11

Krylov method

• Constraint: maintain O(n) spatial complexity• In core preconditioner storage• No convergence with ILU(n) or ILUT

preconditioner• No convergence with domain decomposition

preconditioner• Some hope with algebraic multigrid

preconditioner, but not yet implemented for mechanic.

Page 12: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 12

New preconditioner

• ILU(0) far better than ILU(n) for n small when it converges

• Non convergence of Krylov iterations is related to small diagonal terms in the preconditioner

• Idea: control the diagonal terms of the preconditioner by augmentation.

• Risk of numerical instability due to the augmentation.

Page 13: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 13

New preconditioner - 2

• Converge in all tested cases!• Most efficient with conjugate gradient

method and RCM ordering• 1d-15 accuracy• O(n) space complexity• O(n4/3) temporal complexity approx• Poor parallelism• 16 000 000 dof on a 16gB desktop PC

Page 14: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 14

Stresses in matrix

Page 15: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 15

Convergence comparaison

Page 16: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 16

CG versus BiCG

Page 17: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 17

Iterations versus DOF

Page 18: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 18

Shell mesh refinement

• Convergence study• No refinement in the thickness of the

element• Degradation of the stiffness matrix

conditioning• No convergence of Krylov iteration at

some point• In our case, loss of respect of cinematic

constraints (Lagrange multiplier)

Page 19: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 19

New preconditioner - 3

• Idea: exact factorization on constraint unknowns. Incomplete factorization on others

• Applies well in solid mechanic since few filling due to cinematic constraints. To be tested in fluid mechanic with pressure constraint

• Penalization of Lagrange multiplier• Convergence maintained on highly refined

meshes.

Page 20: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 20

Conclusion

• New preconditioner for CG or BiCG method

• RCM ordering• Augmentation of small diagonal terms• Penalization of Lagrange multipliers• Standard in Cast3M FEM code for

mechanical analysis

Page 21: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 21

Conclusion -2

• Robust – accurate• Low programming complexity (one

instruction development, 6 months thinking)

• Slower convergence than ILU(0) when ILU(0) works – factor 1.5-2

• No failure (yet)

Page 22: A robust preconditioner for the conjugate gradient method

04/24/23 ECCM 2010 22

Further development

• Parallelization by block operations• Unilateral constraints on Lagrange

multiplier• Automatic switch between ILU(0) and

ILU(0)augmented?