A Parallel Multigrid Poisson Solver for PINC, a new Particle-in-Cell Model

Master thesis English OPEN
Killie, Gullik Vetvik;
(2016)
  • Subject: Particle-in-Cell | Multigrid | Plasma

This thesis is about the development of a parallel multigrid solver to the Particle-in-Cell program PINC. The workings of the multigrid solver is described as well the most important parts of PINC. The solver is confirmed to work accurately on various test cases. The co... View more
  • References (9)

    2 Theoretical Background 3 2.1 Plasma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 Plasma Parameters . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Single Particle Motion . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 Gyration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.2 E-cross-B Drift . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Kinetic Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Fluid Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Velocity Moments . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Transport Equation . . . . . . . . . . . . . . . . . . . . . . 12 2.4.3 Fluid Equations . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Langmuir Oscillations . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Magnetohydrodynamics . . . . . . . . . . . . . . . . . . . . . . . 15 2.7 Numerical Simulations . . . . . . . . . . . . . . . . . . . . . . . . 16

    3 Method 19 3.1 Particle-in-Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 Movers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.2 Field Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.3 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 PINC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.1 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1 General idea . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.3 Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.4 Restriction . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.5 Prolongation . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.6 Grid Structs and Partitioning . . . . . . . . . . . . . . . . 35 3.3.7 Singular domain . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.8 Several subdomains . . . . . . . . . . . . . . . . . . . . . . 36

    4 Implementation 49 4.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2 Restriction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3 Prolongation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4 Smoothers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.5 Implementation of Boundary Conditions . . . . . . . . . . . . . . 55 4.5.1 Restriction . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.2 Periodic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.3 Dirichlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.4 Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    5 Veri cation and Performance 57 5.1 Veri cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.1 Error Quanti cation . . . . . . . . . . . . . . . . . . . . . 57 5.2 Multigrid Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2.1 Analytical Solutions . . . . . . . . . . . . . . . . . . . . . 58 5.2.2 Random Charge distribution . . . . . . . . . . . . . . . . . 60 5.2.3 Additional Tests . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.4 ND vs 3D algorithms . . . . . . . . . . . . . . . . . . . . . 60 5.3 Scaling of the error compared to discretization . . . . . . . . . . . 63 5.4 Plasma Oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.4.1 Input parameters . . . . . . . . . . . . . . . . . . . . . . . 65 5.5 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5.1 Perfomance Optimizer . . . . . . . . . . . . . . . . . . . . 67 5.5.2 Convergence Rate . . . . . . . . . . . . . . . . . . . . . . . 67 5.5.3 Scaling of the MG Solver . . . . . . . . . . . . . . . . . . . 68

    6 Summary and Conclusion 71 6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Concluding Remarks and Further Proposals . . . . . . . . . . . . 72

    A Unittests 73 A.1 Unittests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 A.1.1 Prolongation and Restriction . . . . . . . . . . . . . . . . . 73 A.1.2 Finite di erence . . . . . . . . . . . . . . . . . . . . . . . . 73 A.1.3 Multigrid and Grid structure . . . . . . . . . . . . . . . . . 74 A.1.4 Edge Operations . . . . . . . . . . . . . . . . . . . . . . . 74

    B Scripts 75 B.1 PINC framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 B.2 Multigrid Parameter Optimizer . . . . . . . . . . . . . . . . . . . 76 B.2.1 V-cycle, code . . . . . . . . . . . . . . . . . . . . . . . . . 78

    C Examples 81 C.1 Ex: 3 level V cycle, steps necessary . . . . . . . . . . . . . . . . . 81

    D Multigrid Libraries 83 D.1 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 D.2 PPM - Parallel Particle Mesh . . . . . . . . . . . . . . . . . . . . 83 D.3 Hypre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 D.4 MueLo - Algebraic Multigrid Solver . . . . . . . . . . . . . . . . . 84 D.5 METIS - Graph Partitioning Library . . . . . . . . . . . . . . . . 84 D.6 PETSc - Scienti c Toolkit . . . . . . . . . . . . . . . . . . . . . . 84

  • Related Research Results (1)
    Inferred by OpenAIRE
    software
    Piccante: Arxiv:1503.02464 (2015)
    73%
  • Metrics
Share - Bookmark