augmented lagrangian preconditioner for linear stability
play

Augmented Lagrangian Preconditioner for Linear Stability Analysis - PowerPoint PPT Presentation

Augmented Lagrangian Preconditioner for Linear Stability Analysis of incompressible fluid flows on large configurations J.Moulin 1 , J-L. Pfister 1 , O.Marquet 1 , P. Jolivet 2 1 Office National dEtudes et de Recherches Arospatiales 2


  1. Augmented Lagrangian Preconditioner for Linear Stability Analysis of incompressible fluid flows on large configurations J.Moulin 1 , J-L. Pfister 1 , O.Marquet 1 , P. Jolivet 2 1 Office National d’Etudes et de Recherches Aérospatiales 2 ENSEEIHT – Institut de Recherche en Informatique de Toulouse Funded by ERC Starting Grant FreeFem++ Days, Paris, 14-15 december 2017

  2. Introduction What is Linear Stability Analysis ? One wants to know if some steady solution of equation (1) is temporally stable or unstable : �� �� = � � (1) Method : Linear Stability Analysis � � � = � Step 1 : compute a steady solution � � � �� around the Step 2 : test its stability for small monochromatic perturbations � steady solution � � ��� � = �(� � )� � Growth rate Frequency Mass matrix � = ℜ[�] � = ℑ[�] Jacobian matrix : (spatial discretization) �� �� (� � ) 2

  3. Introduction A classical example From [Goharzadeh & Molki, 2015] Typical question : What is the critical Reynolds number above which the von Karman vortex street appears ? 3

  4. Introduction A classical example Step 1 : compute a steady solution Steady Navier-Stokes solution ( �� = 50 ) [Sipp et al, 2010] 4

  5. Introduction A classical example Step 1 : compute a steady solution Steady Navier-Stokes solution ( �� = 50 ) [Sipp et al, 2010] � � � �� around the Step 2 : test its stability for small monochromatic perturbations � steady solution � � ��� � = �(� � )� � � = ℜ[�] � = ℑ[�] 5

  6. Introduction A classical example Step 1 : compute a steady solution Steady Navier-Stokes solution ( �� = 50 ) [Sipp et al, 2010] � � � �� around the Step 2 : test its stability for small monochromatic perturbations � steady solution � � ��� � = �(� � )� � � = ℜ[�] � = ℑ[�] Unstable eigenmode at �� = 50 [Sipp et al, 2010] 6

  7. Introduction Why Linear Stability Analysis ? Some nice features : o Easy to determine a threshold value (sign of ℜ[�] ) o Less expensive than nonlinear time-integration But some computational burdens : o Find a (not necessarily stable) steady solution : Newton method � Multiple inversions of � o Find internal eigenvalues of generalized EV problems : Krylov-Schur + shift-and-invert � Multiple inversions of J − � � , where � is the shift 7

  8. Introduction How to invert matrix of the type − ! " efficiently ? � For reasonably small configurations : direct sparse solvers (MUMPS, SUPERLU, etc) � For large configurations : iterative method (GMRES, BiCGSTAB, …) + good preconditioner 8

  9. Introduction Linearized incompressible Navier-Stokes operator ( i.e. J − � � ) : � # + (# � ⋅ &)# + (# ⋅ &)# � + &' − 1 �� &²# = * −& ⋅ # = + Complex shift ( � = 0 in Newton) Once discretized with FE : classical saddle-point problem / 0 - . , = - 0 ' 1 How to precondition this ? SIMPLE [Patankar 1980] o Stokes Preconditioner [Tuckerman, 1989] (based on adaptation of existing time-stepping code) o Pressure Convection Diffusion [Silvester et al. 2001] o Least-Squares Commutator [Elman et al. 2006] o Augmentated Lagrangian [Benzi and Olshanskii 2006], [Heister and Rapin 2013] o 9

  10. Introduction Linearized incompressible Navier-Stokes operator ( i.e. J − � � ) : � # + (# � ⋅ &)# + (# ⋅ &)# � + &' − 1 �� &²# = * −& ⋅ # = + Complex shift ( � = 0 in Newton) Once discretized with FE : classical saddle-point problem / 0 - . , = - 0 ' 1 How to precondition this ? SIMPLE [Patankar 1980] o Stokes Preconditioner [Tuckerman, 1989] (based on adaptation of existing time-stepping code) o Pressure Convection Diffusion [Silvester et al. 2001] o Least-Squares Commutator [Elman et al. 2006] o Augmentated Lagrangian [Benzi and Olshanskii 2006], [Heister and Rapin 2013] o 10

  11. Overview 1 – Augmentation-based preconditioners 2 – Performances 3 – FreeFem++ parallel implementation 4 – Parallel 3D numerical examples 5 – Some further refinement … 11

  12. 1- Augmentation-based preconditioners Augmented problems Augmented Lagrangian (algebraic augmentation) / 0 / 0 - . - . , 2 = , + 3- . 4 56 - , 2 , 2 = = ' 1 ' 1 - 0 - 0 2 = 0 + 3- . 4 56 1 0 12

  13. 1- Augmentation-based preconditioners Augmented problems Augmented Lagrangian (algebraic augmentation) / 0 / 0 - . - . , 2 = , + 3- . 4 56 - , 2 , 2 = = ' 1 ' 1 - 0 - 0 2 = 0 + 3- . 4 56 1 0 Grad-Div augmentation (variational augmentation) 8 + �� 56 9#: 9# 7 � # ⋅ # 8 + (# ⋅ &)# ⋅ # 8 − p9 ⋅ # 8 < + 7 3(9 ⋅ #)(9 ⋅ # 8) = � < − 7 9 ⋅ # � 8 = � < 13

  14. 1- Augmentation-based preconditioners Augmented problems Augmented Lagrangian (algebraic augmentation) / 0 / 0 - . - . , 2 = , + 3- . 4 56 - , 2 , 2 = = ' 1 ' 1 - 0 - 0 2 = 0 + 3- . 4 56 1 0 Grad-Div augmentation (variational augmentation) 8 + �� 56 9#: 9# 7 � # ⋅ # 8 + (# ⋅ &)# ⋅ # 8 − p9 ⋅ # 8 < + 7 3(9 ⋅ #)(9 ⋅ # 8) = � < − 7 9 ⋅ # � 8 = � < Augmented Lagrangian leaves the discrete solution unchanged Grad-Div leaves the continuous solution unchanged 14

  15. 1- Augmentation-based preconditioners Augmented problems Augmented Lagrangian (algebraic augmentation) / 0 / 0 - . - . , 2 = , + 3- . 4 56 - , 2 , 2 = = ' 1 ' 1 - 0 - 0 2 = 0 + 3- . 4 56 1 0 Grad-Div augmentation (variational augmentation) 8 + �� 56 9#: 9# 7 � # ⋅ # 8 + (# ⋅ &)# ⋅ # 8 − p9 ⋅ # 8 < + 7 3(9 ⋅ #)(9 ⋅ # 8) = � < − 7 9 ⋅ # � 8 = � < Augmented Lagrangian leaves the discrete solution unchanged Grad-Div leaves the continuous solution unchanged 15

  16. 1- Augmentation-based preconditioners Classical vs. modified version In both cases, the same block structure arises : E 0 - . 56 - . , 2 0 , 2 E , 2 = 56 B M D = −BA 2 56 -, 2 E 0 D - 0 0 E N B C Classical preconditioner - . = >?@AA = BC = , 2 0 D with D 56 ≃ Re 56 + 3 � I 56 − � -� J - . 56 56 ≃ it’s complicated … , 2 Main features : Mesh optimality � Reynolds optimality � 56 ouch !) The higher 3 , the less iterations ( , 2 � 16

  17. 1- Augmentation-based preconditioners Classical vs. modified version In both cases, the same block structure arises : E 0 - . 56 - . , 2 0 , 2 E , 2 = 56 B M D = −BA 2 56 -, 2 E 0 D - 0 0 E N B C Classical preconditioner Modified preconditioner , 66,2 , 6U,2 - . - . = >?@AA = BC = , 2 = OPQRS = 0 , UU,2 0 D 0 D with with D 56 ≃ Re 56 + 3 � I 56 − � -� J - . 56 D 56 ≃ Re 56 + 3 � I 56 − � -� J - . 56 56 ≃ off-the-shelf algebraic multigrid 56 ≃ it’s complicated … , RR,2 , 2 Main features : Main features : Mesh optimality � Mesh optimality � Reynolds optimality � Reynolds dependent � 56 ouch !) The higher 3 , the less iterations ( , 2 � Exists an optimal and case dependent 3 � 17

  18. 1- Augmentation-based preconditioners Classical vs. modified version In both cases, the same block structure arises : E 0 - . 56 - . , 2 0 , 2 E , 2 = 56 B M D = −BA 2 56 -, 2 E 0 D - 0 0 E N B C Classical preconditioner Modified preconditioner , 66,2 , 6U,2 - . - . = >?@AA = BC = , 2 = OPQRS = 0 , UU,2 0 D 0 D with with D 56 ≃ Re 56 + 3 � I 56 − � -� J - . 56 D 56 ≃ Re 56 + 3 � I 56 − � -� J - . 56 56 ≃ off-the-shelf algebraic multigrid 56 ≃ it’s complicated … , RR,2 , 2 Main features : Main features : Mesh optimality � Mesh optimality � Reynolds optimality � Reynolds dependent � 56 ouch !) The higher 3 , the less iterations ( , 2 � Exists an optimal and case dependent 3 � 18

  19. 2- Performances Choice of 3 The choice of a good 3 is determinant for the preconditioning efficiency ! Bright side : since the preconditioner is �� ↑ independent of the mesh Optimal 3 can be found on a � coarse mesh Dark side : Optimal 3 is problem and �� – dependent Figure : Influence of �� ∈ [10,120] on optimal 3 for modified Grad-Div preconditioner 19

  20. 2- Performances CPU time in Newton method Full MUMPS Modified Grad-Div Velocity Pressure Mesh Facto Reso tot/ndof Facto Reso tot/ndof DOFs DOFs ( Y! ) ( Y! ) ( Z! ) ( Y! ) ( Y! ) ( Z! ) 32x32 9900 1300 140 0 20 30 50 14 64x64 39000 5000 810 10 27 320 250 20 96x96 88000 11000 2250 40 33 840 580 21 256x256 623400 78200 34480 290 62 8090 4780 25 Averaged timings for 1 Newton iteration ( 2D lid-driven cavity, �� = 100 , 3 = 0,1 ) 20 *All sub-systems are solved with MUMPS

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend