Skip to content

Enable PFFT for the Poisson solver of periodic systems

Sebastian Ohlmann requested to merge poisson_test_periodic into develop

Description

Up to now, PFFT was only implemented for finite systems. This MR fixes this by also implementing the missing pieces for periodic systems. Since using pfft only makes sense in 3D, it has only been implemented for 3D systems, but also for mixed periodicity (i.e. for PeriodicDimensions = 1, 2, and 3).

The main issue was to restrict the definition of the operator in Fourier space to the part that is local to the current process since that is expected in the function that builds the Fourier operation.

There are also now tests for the FFT Poisson solver for periodic problems in 1d, 2d, and 3d for both fftw and pfft. For 1d, the test is validated against the analytical solution, for 2d and 3d this is too costly, so the solution is compared to the numeric solution of the fftw solver.

News snippet

Enable PFFT for periodic systems.

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.

Merge request reports