NERSCPowering Scientific Discovery Since 1974



MiniPIC solves the discrete Boltzman equation in an electrostatic field in an arbitrary domain with reflective walls. The code has potentially difficult dynamic memory requirements, localized work (potentially with imbalances) and stochastic processes. The MiniPIC benchmark uses an unstructured hex- or tet-based mesh with a static partition used for a particle mesh. Particles are tracked to every cell crossing, packed and passed off to adjacent processors using MPI. The main code base uses Tpetra objects from the Trilinos mathematics library for matrix/vector operations. Kokkos kernels are used to provide performance portability across architectures.

Required Problem Sets

For MiniPIC, small, large and grand challenge problems have been defined. The details can be found in the README.APEX of source distribution. The large definition will be used as the reference problem and the grand challenge definition is the target problem in the calculation of SSI.

Source Distribution

Source and problem sets can be downloaded here.

How to Build, Run and Verify

Refer to the README.APEX file in the source distribution.


MiniPIC was developed by Sandia National Laboratories.

Change Log

04/13/2016 README.APEX was updated. The language on how to construct a weak scaling study was improved. NO other source or directory changes were made.
02/26/2016 New distribution: 1) Updated source and README.APEX, 2) FOM is now updates/second, 3) Edison reference problem has been redefined and new FOM is being used, 4) also updated small and grand challenge problem definitions, 5) code modifications to improve reliability.
11/13/2015 Source distribution links enabled and problems sets defined.
10/30/2015 Initial release