Current Input

The existing input method consists of reading all data from an ASCII formatted text file into a buffer on the master process and then sending z-planes of data to each worker process via MPI.

Each line of the input file, save for header information is one record and corresponds to a single voxel. It contains an element number, a type (the data value) and the aforementioned x, y & z co-ordinates of the voxel in the system. The data undergoes a mapping operation upon input which changes it from the values read from file to an internal representation as one of a defined set of materials.

Once read, a stencil operation is applied to the data which generates a distribution of certain-valued elements per z-plane. A load-balancing algorithm is used which generates, from the distribution, the number z-planes of data to be distributed to each worker process via MPI.