Moreover, they achieve true portability across serial, parallel and distributed architectures.
Fields are multidimensional arrays representing grids with definable centering.
They may be fully contained within a processing node, or spread across nodes, according to user directives. An instance of the Particle class actually stands for a set of particles, with user-definable characteristics. Particle sets may also be distributed across nodes, and operations on them are expressed in a data-parallel style. This simulates multiple materials on a sparse-storage Eulerian grid under supersonic conditions and Young's interface reconstruction to handle material interfaces. This Monte-Carlo particle code simulates the production, transport and interactions of neutrons with materials in a complex geometry.