diff --git a/hysop/backend/host/fortran/operator/poisson_rotational.py b/hysop/backend/host/fortran/operator/poisson_rotational.py index fa54c554bde7373fedbb36c2fc60da45df227e80..2313766784a17815b2a2aeacafa12a3ffe88b3f4 100644 --- a/hysop/backend/host/fortran/operator/poisson_rotational.py +++ b/hysop/backend/host/fortran/operator/poisson_rotational.py @@ -161,8 +161,10 @@ class PoissonRotationalFFTW(FortranFFTWOperator): """ assert self.dim==3 ghosts_w = self.output_fields[self.vorticity].ghosts + changeLayout, dv, dw = self._initialize_mem_layout() + # Vectors are given in ZYX layout to Fortran self.dvorticity.data =\ - fftw2py.projection_om_3d(self.dvorticity.data[0], - self.dvorticity.data[1], - self.dvorticity.data[2], ghosts_w) + fftw2py.projection_om_3d(dw[2], dw[1], dw[0], ghosts_w) + if changeLayout: + self._finalize_mem_layout(dv) self.dvorticity.exchange_ghosts()