For each case, we present the timing and performance results in both a table and graphically in a log-log graph.
The tables all contain the wall clock time, in seconds, for that run. Also, for each time, the `Performance' is also presented, where Performance figures are calculated simply as the time on n/2 cores divided by the time on n cores. Thus, a code which scales perfectly, i.e. if we were to double the cores, then we would half the execution time, the associated performance value will be 2.0. Any run with an assoicated performance figure of less than 1.4 has an efficiency less than 71% and, thus, is not considered to scale. Therefore, we may determine the optimum number of cores for a given simulation such that it is the largest number of cores where the Performance is greater than 1.4.
The figures are all plotted on a log-log graph, where each run is plotted in conjuncture with its associated perfect scaling curve.
Lastly, for all cases, the value of writeInterval in controlDict is set to be larger than total number of iterations. This ensures that no simulation snapshots are written, thereby reducing the output to be just the standard output.