Tested non-uniform mesh refinement and hanging nodes:
Appears to work fine for the same cases as uniform refinement
i.e.
- Dirichlet: works for bricks with rectangular faces, but no further.
- Neumann: works for non-rectangular faces. Also works for cylinder, but not sphere.

Means we should be able to use the Neumann conditions to generate image data as long as we don't use spheres.

Still need to work out why the sphere doesn't work, and why there are limitations on parallelepiped for Dirichlet case.