A robust preconditioner for the conjugate gradient method
date post
22-Mar-2016Category
Documents
view
80download
2
Embed Size (px)
description
Transcript of A robust preconditioner for the conjugate gradient method
A robust preconditioner for the conjugate gradient methodPierre Verpeaux CEA DEN/DM2S/SEMTStphane Gounand CEA DEN/DM2S/SFME/LTMFWork contextDirect solverKrylov solverNew preconditionnerConclusionFurther development
ECCM 2010
General contextGeneral purpose Cast3m computer code developed at CEA for mechanical problem solving by FEM method.Used in Nuclear Industry and others.Toolbox for researcherBlackbox for end userImportant need for qualification and validation.
ECCM 2010
Quality criteria for industrial codeNo need for tuningCorrect solution if correct problemIncorrect problem detectionPredictable timeNo failure
ECCM 2010
ContextCement paste studies EHPOC projectHeterogeneous material with inclusionsHigh mechanical properties contrastREV analysisNeed for realistic representation of inclusions including sharp edgeNeed for accuracy. Reference calculationCAO meshes with the Salome framework
ECCM 2010
Spherical inclusions
ECCM 2010
Sharp inclusions
ECCM 2010
23.5 million tetrahedrons
ECCM 2010
Solver challengeLarge number of degrees of freedomVery bad matrix conditioning due toProperties contrastFlattened elementsVarious boundary condition including periodic condition of different kind. Use of cinematic constraints with Lagrange multiplier.Multiple problem solving on the same matrix.
ECCM 2010
Direct solverRobust and preciseNested dissection ordering and sparse Crout solverSpatial complexity in O(n4/3)Temporal complexity in O(n5/3) for preconditioning (factorization). Parallelizable.Temporal complexity in O(n4/3) for solving.
ECCM 2010
Direct solver - 2Out of core storageAround 100Go of matrix storage for 10.000.000 dof. Practical limit on desktop PC.1d-12 accuracyUnilateral constraints available
ECCM 2010
Krylov methodConstraint: maintain O(n) spatial complexityIn core preconditioner storageNo convergence with ILU(n) or ILUT preconditionerNo convergence with domain decomposition preconditionerSome hope with algebraic multigrid preconditioner, but not yet implemented for mechanic.
ECCM 2010
New preconditionerILU(0) far better than ILU(n) for n small when it convergesNon convergence of Krylov iterations is related to small diagonal terms in the preconditionerIdea: control the diagonal terms of the preconditioner by augmentation.Risk of numerical instability due to the augmentation.
ECCM 2010
New preconditioner - 2Converge in all tested cases!Most efficient with conjugate gradient method and RCM ordering1d-15 accuracyO(n) space complexityO(n4/3) temporal complexity approxPoor parallelism16 000 000 dof on a 16gB desktop PC
ECCM 2010
Stresses in matrix
ECCM 2010
Convergence comparaison
ECCM 2010
CG versus BiCG
ECCM 2010
Iterations versus DOF
ECCM 2010
Shell mesh refinementConvergence studyNo refinement in the thickness of the elementDegradation of the stiffness matrix conditioningNo convergence of Krylov iteration at some pointIn our case, loss of respect of cinematic constraints (Lagrange multiplier)
ECCM 2010
New preconditioner - 3Idea: exact factorization on constraint unknowns. Incomplete factorization on othersApplies well in solid mechanic since few filling due to cinematic constraints. To be tested in fluid mechanic with pressure constraintPenalization of Lagrange multiplierConvergence maintained on highly refined meshes.
ECCM 2010
ConclusionNew preconditioner for CG or BiCG methodRCM orderingAugmentation of small diagonal termsPenalization of Lagrange multipliersStandard in Cast3M FEM code for mechanical analysis
ECCM 2010
Conclusion -2Robust accurateLow programming complexity (one instruction development, 6 months thinking)Slower convergence than ILU(0) when ILU(0) works factor 1.5-2No failure (yet)
ECCM 2010
Further developmentParallelization by block operationsUnilateral constraints on Lagrange multiplierAutomatic switch between ILU(0) and ILU(0)augmented?
ECCM 2010