  The plane-cube intersection problem has been around in literature since 1984
and iterative solutions to it have been used as part of piecewise linear
interface construction (PLIC) in computational fluid dynamics simulation codes
ever since. In many cases, PLIC is the bottleneck of these simulations
regarding compute time, so a faster, analytic solution to the plane-cube
intersection would greatly reduce compute time for such simulations. We derive
an analytic solution for all intersection cases and compare it to the one
previous solution from Scardovelli and Zaleski (Ruben Scardovelli and Stephane
Zaleski. "Analytical relations connecting linear interfaces and volume
fractions in rectangular grids". In: Journal of Computational Physics 164.1
(2000), pp. 228-237.), which we further improve to include edge cases and
micro-optimize to reduce arithmetic operations and branching. We then extend
our comparison regarding compute time and accuracy to include two different
iterative solutions as well. We find that the best choice depends on the
employed hardware platform: on the CPU, Newton-Raphson is fastest with
vectorization while analytic solutions perform better without. The reason for
this is that vectorization instruction sets do not include trigonometric
functions as used in the analytic solutions. On the GPU, the fastest method is
our optimized version of the analytic SZ solution. We finally provide details
on one of the applications of PLIC: curvature calculation for the
Volume-of-Fluid model used for free surface fluid simulations in combination
with the lattice Boltzmann method.
