
where \(d\)  is the minimum distance between \(x\)  and \(\partial \Omega \) , via the method of crossing times [1]}. That is, we advect \(\phi \)  in the normal direction to the interface by solving (REF ) with \(F = 1\)  and determine the point in time where each value of \(\phi \)  crosses from positive to negative. This process is repeated for \(F = -1\) . To reduce numerical error which can result when the gradient of \(\phi \)  becomes excessively small or large, we maintain \(\phi \)  as a signed distance function, which satisfies \(|\mbox{$\nabla $}\phi | = 1\) , over the duration of a simulation. Re-initialisation is performed every five time steps by solving
\( \frac{\partial \phi }{\partial \tau } + S(\phi ) (|\mbox{$\nabla $}\phi | - 1) = 0,\) 
