skip to main content

DOE PAGESDOE PAGES

Title: An electrostatic Particle-In-Cell code on multi-block structured meshes

We present an electrostatic Particle-In-Cell (PIC) code on multi-block, locally structured, curvilinear meshes called Curvilinear PIC (CPIC). Multi-block meshes are essential to capture complex geometries accurately and with good mesh quality, something that would not be possible with single-block structured meshes that are often used in PIC and for which CPIC was initially developed. In spite of the structured nature of the individual blocks, multi-block meshes resemble unstructured meshes in a global sense and introduce several new challenges, such as the presence of discontinuities in the mesh properties and coordinate orientation changes across adjacent blocks, and polyjunction points where an arbitrary number of blocks meet. In CPIC, these challenges have been met by an approach that features: (1) a curvilinear formulation of the PIC method: each mesh block is mapped from the physical space, where the mesh is curvilinear and arbitrarily distorted, to the logical space, where the mesh is uniform and Cartesian on the unit cube; (2) a mimetic discretization of Poisson's equation suitable for multi-block meshes; and (3) a hybrid (logical-space position/physical-space velocity), asynchronous particle mover that mitigates the performance degradation created by the necessity to track particles as they move across blocks. The numerical accuracy of CPICmore » was verified using two standard plasma–material interaction tests, which demonstrate good agreement with the corresponding analytic solutions. And compared to PIC codes on unstructured meshes, which have also been used for their flexibility in handling complex geometries but whose performance suffers from issues associated with data locality and indirect data access patterns, PIC codes on multi-block structured meshes may offer the best compromise for capturing complex geometries while also maintaining solution accuracy and computational efficiency.« less
Authors:
ORCiD logo [1] ; ORCiD logo [2] ; ORCiD logo [2] ; ORCiD logo [3] ; ORCiD logo [2]
  1. Los Alamos National Lab. (LANL), Los Alamos, NM (United States). Intelligence and Space Research Division
  2. Los Alamos National Lab. (LANL), Los Alamos, NM (United States). Theoretical Division
  3. Los Alamos National Lab. (LANL), Los Alamos, NM (United States). Computer, Computational, and Statistical Sciences Division
Publication Date:
Report Number(s):
LA-UR-16-28543
Journal ID: ISSN 0021-9991
Grant/Contract Number:
AC52-06NA25396
Type:
Accepted Manuscript
Journal Name:
Journal of Computational Physics
Additional Journal Information:
Journal Volume: 350; Journal Issue: C; Journal ID: ISSN 0021-9991
Publisher:
Elsevier
Research Org:
Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Sponsoring Org:
USDOE National Nuclear Security Administration (NNSA)
Country of Publication:
United States
Language:
English
Subject:
70 PLASMA PHYSICS AND FUSION TECHNOLOGY; 36 MATERIALS SCIENCE; Mathematics; Magnetic Fusion Energy
OSTI Identifier:
1392872

Meierbachtol, Collin S., Svyatskiy, Daniil, Delzanno, Gian Luca, Vernon, Louis J., and Moulton, J. David. An electrostatic Particle-In-Cell code on multi-block structured meshes. United States: N. p., Web. doi:10.1016/j.jcp.2017.09.016.
Meierbachtol, Collin S., Svyatskiy, Daniil, Delzanno, Gian Luca, Vernon, Louis J., & Moulton, J. David. An electrostatic Particle-In-Cell code on multi-block structured meshes. United States. doi:10.1016/j.jcp.2017.09.016.
Meierbachtol, Collin S., Svyatskiy, Daniil, Delzanno, Gian Luca, Vernon, Louis J., and Moulton, J. David. 2017. "An electrostatic Particle-In-Cell code on multi-block structured meshes". United States. doi:10.1016/j.jcp.2017.09.016. https://www.osti.gov/servlets/purl/1392872.
@article{osti_1392872,
title = {An electrostatic Particle-In-Cell code on multi-block structured meshes},
author = {Meierbachtol, Collin S. and Svyatskiy, Daniil and Delzanno, Gian Luca and Vernon, Louis J. and Moulton, J. David},
abstractNote = {We present an electrostatic Particle-In-Cell (PIC) code on multi-block, locally structured, curvilinear meshes called Curvilinear PIC (CPIC). Multi-block meshes are essential to capture complex geometries accurately and with good mesh quality, something that would not be possible with single-block structured meshes that are often used in PIC and for which CPIC was initially developed. In spite of the structured nature of the individual blocks, multi-block meshes resemble unstructured meshes in a global sense and introduce several new challenges, such as the presence of discontinuities in the mesh properties and coordinate orientation changes across adjacent blocks, and polyjunction points where an arbitrary number of blocks meet. In CPIC, these challenges have been met by an approach that features: (1) a curvilinear formulation of the PIC method: each mesh block is mapped from the physical space, where the mesh is curvilinear and arbitrarily distorted, to the logical space, where the mesh is uniform and Cartesian on the unit cube; (2) a mimetic discretization of Poisson's equation suitable for multi-block meshes; and (3) a hybrid (logical-space position/physical-space velocity), asynchronous particle mover that mitigates the performance degradation created by the necessity to track particles as they move across blocks. The numerical accuracy of CPIC was verified using two standard plasma–material interaction tests, which demonstrate good agreement with the corresponding analytic solutions. And compared to PIC codes on unstructured meshes, which have also been used for their flexibility in handling complex geometries but whose performance suffers from issues associated with data locality and indirect data access patterns, PIC codes on multi-block structured meshes may offer the best compromise for capturing complex geometries while also maintaining solution accuracy and computational efficiency.},
doi = {10.1016/j.jcp.2017.09.016},
journal = {Journal of Computational Physics},
number = C,
volume = 350,
place = {United States},
year = {2017},
month = {9}
}