Fix a bug in the calculation of the cutoff for the 3D-0D FFT in non-cubic cells.
Description
Fix a bug in the calculation of the cutoff for the 3D-0D FFT in non-cubic cells.
This allows to make the FFT method the default for computing the Coulomb integrals used in DFT+U and DFT+U+V. The FFT can also now be used in domain parallelization. This makes the calculation of the Coulomb integrals much faster.
News snippet
Coulomb integrals for DFT+U and DFT+U+V are now computed using FFTs by default.
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
Activity
changed milestone to %12.0
added Bugfix Feature Optimization labels
assigned to @nicolastd
Codecov Report
Merging #1683 (cdd1c9f2) into develop (bc2e2db0) will increase coverage by
0.01%
. The diff coverage is93.87%
.@@ Coverage Diff @@ ## develop #1683 +/- ## =========================================== + Coverage 66.86% 66.87% +0.01% =========================================== Files 541 541 Lines 96708 96713 +5 =========================================== + Hits 64664 64679 +15 + Misses 32044 32034 -10
Impacted Files Coverage Δ src/basis_set/orbitalset_utils.F90 87.50% <ø> (ø)
src/grid/cube_function.F90 0.00% <ø> (ø)
src/poisson/poisson_fft_inc.F90 96.66% <0.00%> (-3.34%)
src/grid/cube_function_inc.F90 68.55% <93.10%> (+2.85%)
src/grid/submesh.F90 81.78% <100.00%> (+0.47%)
src/hamiltonian/lda_u.F90 69.66% <100.00%> (-0.16%)
src/poisson/poisson_fft.F90 68.22% <100.00%> (-0.25%)
src/basic/accel.F90 78.70% <0.00%> (-0.06%)
src/basic/cuda_low.cc 90.20% <0.00%> (+2.45%)
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update bc2e2db...cdd1c9f. Read the comment docs.Edited by Codecovadded 1 commit
- 6df917d1 - Adjust the references after the previous fix.
added 1 commit
- 30ec77fe - Adjust the references after the previous fix.
- Resolved by Martin Lueders
- Resolved by Martin Lueders
added 1 commit
- 5a441a0f - Adjust the references after the previous fix.
added 1 commit
- 9f0e3508 - Adjust the references after the previous fix.
added 1 commit
- e11621d3 - Adjust the references after the previous fix.
- Resolved by Sebastian Ohlmann
- Resolved by Sebastian Ohlmann
requested review from @sohlmann
added 1 commit
- 30339191 - Removing the need of global arrays for the Poisson solver on submeshes.
@sohlmann I should have addressed your comments now.
- Resolved by Sebastian Ohlmann
added 1 commit
- 373473d9 - Removing the need of global arrays for the Poisson solver on submeshes.