Fix uvw_to_xyz kernel
Description
The metric was transposed in the kernel for converting the gradient to the Cartesian coordinates, leading to the wrong current on GPUs for non-orthogonal cells. This also fixes the calculation of the divergence in non-orthogonal cells.
News snippet
Fix a bug in the GPU calculation of the gradient and divergences in non-orthogonal cells.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.