iPIC3D

Multi-scale simulations of plasma using Particle-In-Cell method

Install »

Space weather and plasma simulations

Massive parallelism with MPI

VTK products for visualization

About iPIC3D

iPIC3D is a three-dimensional parallel PIC code. On multiprocessor architectures, the domain decomposition technique is used to divide the computational workload among processors. For implicit PIC where the cost of particle moving and of field solving are of the same order (unlike explicit PIC where most of the cost resides with the particles), it is crucial that both field solving and particle moving be parallelized efficiently. An important aspect of efficiency is the need to retain the particles and cells belonging to a subdomain on the same processor. Large amounts of information is exchanged between grid and particles residing in the same physical domain and therefore it is important to avoid that this information exchange results in inter processor communication. The simulation box is divided among processors using a generic Cartesian virtual topology. Particles are divided among processors also depending on their location, and communicated to adjacent processors if exiting from the processor domain. The parallelization of the code is based on MPI libraries and blocking parallel communication has been chosen for the communication among processors.


Getting iPIC3D

iPIC3D is open-source and can be downloaded from Github. CMake is required to configure the build, and HDF5 is optional.

Download

Clone the repository from Github:


$ git clone https://github.com/KTH-HPC/iPIC3D.git
              

Configure and build:

Clone the repository from Github:


$ mkdir build
$ cd build
$ CC=mpicc CXX=mpicxx cmake ..
$ make
              

Optionally install the software:


$ sudo make install
              

Refer to our documentation (dropdown menu) on how to configure inputfiles and run simulations.


Publications

We appreciate that you cite the following paper if you used iPIC3D in your work:

@article{MARKIDIS20101509,
         title = "Multi-scale simulations of plasma with iPIC3D",
         journal = "Mathematics and Computers in Simulation",
         volume = "80",
         number = "7",
         pages = "1509 - 1519",
         year = "2010",
         note = "Multiscale modeling of moving interfaces in materials",
         issn = "0378-4754",
         doi = "https://doi.org/10.1016/j.matcom.2009.08.038",
         url = "http://www.sciencedirect.com/science/article/pii/S0378475409002444",
         author = "Stefano Markidis and Giovanni Lapenta and  Rizwan-uddin",
         keywords = "Particle-in-Cell, Computational plasma physics, Implicit PIC, 3D Magnetic reconnection",
         abstract = "The implicit Particle-in-Cell method for the computer simulation of plasma, and its implementation in a three-dimensional parallel code, called iPIC3D, are presented. The implicit integration in time of the Vlasov–Maxwell system, removes the numerical stability constraints and it enables kinetic plasma simulations at magnetohydrodynamics time scales. Simulations of magnetic reconnection in plasma are presented to show the effectiveness of the algorithm."
}
            

Related publication with iPIC3D

S. W. D. Chien, J. Nylund, G. Bengtsson, I. B. Peng, A. Podobas and S. Markidis, "sputniPIC: An Implicit Particle-in-Cell Code for Multi-GPU Systems," 2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), Porto, Portugal, 2020, pp. 149-156, doi: 10.1109/SBAC-PAD49847.2020.00030. [BibTex]

Sishtla, C.P., Chien, S.W.D., Olshevsky, V., Laure, E., Markidis, S. (2019). Multi-GPU Acceleration of the iPIC3D Implicit Particle-in-Cell Code. In: , et al. Computational Science – ICCS 2019. ICCS 2019. Lecture Notes in Computer Science(), vol 11540. Springer, Cham. doi: https://doi.org/10.1007/978-3-030-22750-0_58 [BibTex]

P. Kumar, S. Markidis, G. Lapenta, K. Meerbergen, and D. Roose. "High performance solvers for implicit particle in cell simulation." Procedia Computer Science 18 (2013): 2251-2258. doi: https://doi.org/10.1016/j.procs.2013.05.396 [BibTex]

S. Markidis, and G. Lapenta, 2010. Multi-scale simulations of plasma with iPIC3D. Mathematics and Computers in Simulation, 80(7), pp.1509-1519. doi: https://doi.org/10.1016/j.matcom.2009.08.038 [BibTex]


About

iPIC3D is developed by Stefano Markidis at KTH Royal Institute of Technology.

Contributors

  • Ivy B. Peng
  • Vyacheslav Olshevsky
  • Steven W. D. Chien
  • Chaitanya P. Sishtla
  • Rupert Nash