dr axel voigt voigt caesar de research center caesar
play

* Dr. Axel Voigt (voigt@caesar.de) research center caesar crystal - PowerPoint PPT Presentation

AMDiS Adaptive Multidimensional simulations: Parallel Concepts Parallel Concepts Christina Stcker (stoecker@caesar.de), Dr. Angel Ribalta (ribalta@caesar.de), Simon Vey (vey@caesar.de), * Dr. Axel Voigt (voigt@caesar.de) research


  1. AMDiS – Adaptive Multidimensional simulations: Parallel Concepts Parallel Concepts Christina Stöcker (stoecker@caesar.de), Dr. Angel Ribalta (ribalta@caesar.de), Simon Vey (vey@caesar.de), * Dr. Axel Voigt (voigt@caesar.de) research center caesar – crystal growth group Ludwig-Erhard-Allee 2 53175 Bonn, Germany http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  2. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 5. Examples 2. Partitioning Parallel Concepts 3. Building global solution 6. Conclusion What is AMDiS? AMDiS (Adaptive MultiDimensional Simulations) C++ library for the numerical solution of PDEs of 2 nd order ∂ t u −∇⋅ A ∇ u  b ⋅∇ u  cu = f real world process Implements the finite element method (FEM) domain basis math. model triangulation functions Local mesh adaption based on local FEM error estimates simulation Enables approx. Computation in 1d, 2d, 3d solution Coupling of problems (same or different dimension) Solution of PDE systems Design goals: high level of abstraction, generality, extensibility, efficiency http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  3. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 5. Examples 2. Partitioning Parallel Concepts 3. Building global solution 6. Conclusion Adaptivity Bisectioning of simplices: Idea Reach given error tolerance with minimal effort 1. Start with a coarse macro triangulation 2. Calculate solution (assemble, solve) 3. Estimate local and global error indicators 4. If tolerance not reached -> refine elements with large errors -> Goto 2 stationary adaption loop Pre-processing Post-processing assemble solve estimate mesh, mesh, eq.sys . solution operators solution adapt error indicators adapted mesh http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  4. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 5. Examples 2. Partitioning Parallel Concepts 3. Building global solution 6. Conclusion Hierarchical mesh structure Example instance diagram: http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  5. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 5. Examples 2. Partitioning Parallel Concepts 3. Building global solution 6. Conclusion Classical adaptive Domain Decomposition ● DD tries to balance the load for current mesh ● Each processor computes on it's domain only => Communication at domain boundaries => Adaption of many software components ● After mesh adaption -> new load balanced DD! => Communication needed ● to calculate DD ● to redistribute mesh elements rank i stationary adaption loop DD assemble solve estimate adapted mesh adapt rank j stationary adaption loop DD assemble solve estimate adapted mesh adapt http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  6. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 5. Examples 2. Partitioning Parallel Concepts 3. Building global solution 6. Conclusion Parallel adaptive meshing in AMDiS parallel_init (1) ● Solve problem on rel. coarse mesh. ● Estimate element errors. ● Create partitions with approx. equal error. assemble solve estimate (2) ● Each processor solves problem on whole domain. adapt ● Refinement allowed only in own partition. parallel_exit (3) ● Create composite mesh. ● Create global solution. collect build global mesh rank 0: init DD adapt sync. solutions solution mesh send init DD adapt rank 1: sync. solution mesh send init DD adapt rank 2: sync. solution mesh send init DD adapt rank 3: sync. solution Literature: “A new paradigm for parallel adaptive meshing algorithms” , R. E. Bank and M. Holst, SIAM Rev. 2003 http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  7. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Error-weighted spectral bisectioning Problem: S – set of mesh elements, n = | S |, - weights w 1, w 2 P 1 ∪ P 2 = S ∧ P 1 ∩ P 2 =∅ P 1 P 2 Find sets and s.t. (a) (b) | C | is minimized with  i  j  i  j C = {( , ) | and are neighbour elements and belong to different partitions} (c) and are connected P 1 P 2 w 1 ⋅ error  P 1  ≈ w 2 ⋅ error  P 2  (d) Example for 3 partitions: spectral bisectioning w 1 = 2 3 ,w 2 = 1 3 final partitions P 2 P 2 P 1 P 1 spectral bisectioning w 1 = 1 2 ,w 2 = 1 http://www.caesar.de/amdis.html 2 crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  8. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Mesh structure code 2 3 1 0 1 2 3 0 6 4 5 6 7 7 5 4 8 9 10 11 1011 8 9 Pre-order traverse: 0 4 8 9 5 1 2 3 6 7 10 11 Has children? 1 1 0 0 0 0 0 1 0 1 0 0 decimal: 24 0 0 20 http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  9. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Mesh synchronization Merging codes : 1 0 1 1 0 0 0 1 1 0 0 0 ∪ = 1 1 0 0 1 1 0 0 0 http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  10. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Mesh synchronization (2) rank 0 rank 1 rank 2 rank 3 mesh 0 mesh 1 mesh 2 mesh 3 code code code code 0 1 2 3 MPI::Allgatherv code code code code code code code code code code code code code code code code 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 merged code merged code merged code merged code comp. mesh comp. mesh comp. mesh comp. mesh http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  11. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Partition of Unity Building global solution by Partition of Unity method: { i }  : open covering of  i u i : approximate solution on local domain  i : continuous partition of unity subordinate to the covering { i }  i  x ≥ 0 ∀ x ∈  i  x = 0 ∀ x ∉ i ∑  i  x = 1 ∀ x ∈ Global solution: u G  x = ∑  i  x  u i  x  http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  12. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Partition of Unity (2) Theorem:  i h: = max h i h i : edge size of mesh on i ∖ i H : = max H i H i i : edge size of mesh on u ∈ H 2  Assume , then ∥ u − u G ∥ H 1 ≤ C  h  H 2  H ≤  h In particular, if then ∥ u − u G ∥ H 1 ≤ C  h  http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

  13. 1. Introduction 4. Time dependent problems AMDiS – Adaptive Multidimensional simulations: 2. Partitioning 5. Examples Parallel Concepts 3. Building global solution 6. Conclusion Time dependent problems Repartitioning: (1) Store composite mesh structure code of last timestep (2) Go back to macro triangulation (3) Do initial iterations for the new timestep (4) Compute new DD (5) Refine processors partition according to structure code after every timestep: after every i-th timestep: parallel init parallel init adaption loop adaption loop time += timestep time += timestep adaption loop adaption loop parallel exit parallel exit http://www.caesar.de/amdis.html crystal growth group crystal growth group vey@caesar.de Simon Vey DD17 St. Wolfgang/Strobl July 3-7 2006

Recommend


More recommend