![]() |
(git:5e7fe52)
|
Batched lattice Fourier transforms for complete regular k-point grids. More...
Functions/Subroutines | |
| logical function, public | regular_kpoint_grid (xkp, nkp_grid, grid_index, k_offset) |
| Test and map a complete, uniformly shifted reciprocal grid. | |
| subroutine, public | cell_to_k_grid_fft (values_rs, index_to_cell, xkp, nkp_grid, values_k, used_fft, deriv_direction, hmat, selected_kpoints) |
| Transform a batch of real matrices from image cells to every supplied k point. | |
| subroutine, public | k_grid_to_cell_fft (values_k, xkp, nkp_grid, index_to_cell, values_rs, used_fft) |
| Transform complete reciprocal-grid data back to image-cell values. | |
Batched lattice Fourier transforms for complete regular k-point grids.
Real-space image cells are folded modulo the reciprocal grid. Shifted Monkhorst-Pack meshes are handled by a phase twist before the FFT. Non-regular or incomplete k-point lists transparently use the direct phase sum.
| logical function, public kpoint_lattice_fft::regular_kpoint_grid | ( | real(kind=dp), dimension(:, :), intent(in) | xkp, |
| integer, dimension(3), intent(in) | nkp_grid, | ||
| integer, dimension(:, :), intent(out), optional | grid_index, | ||
| real(kind=dp), dimension(3), intent(out), optional | k_offset ) |
Test and map a complete, uniformly shifted reciprocal grid.
| xkp | reciprocal coordinates, in units of reciprocal lattice vectors |
| nkp_grid | regular-grid dimensions |
| grid_index | FFT-grid index for every k point |
| k_offset | common reciprocal-coordinate offset |
Definition at line 49 of file kpoint_lattice_fft.F.
| subroutine, public kpoint_lattice_fft::cell_to_k_grid_fft | ( | real(kind=dp), dimension(:, :, :), intent(in) | values_rs, |
| integer, dimension(:, :), intent(in) | index_to_cell, | ||
| real(kind=dp), dimension(:, :), intent(in) | xkp, | ||
| integer, dimension(3), intent(in) | nkp_grid, | ||
| complex(kind=dp), dimension(:, :, :), intent(out) | values_k, | ||
| logical, intent(out), optional | used_fft, | ||
| integer, intent(in), optional | deriv_direction, | ||
| real(kind=dp), dimension(3, 3), intent(in), optional | hmat, | ||
| integer, dimension(:), intent(in), optional | selected_kpoints ) |
Transform a batch of real matrices from image cells to every supplied k point.
| values_rs | real-space matrices; the last dimension enumerates image cells |
| index_to_cell | integer lattice vector for every image cell |
| xkp | reciprocal coordinates of all requested k points |
| nkp_grid | dimensions of the candidate regular reciprocal grid |
| values_k | complex matrices at every k point |
| used_fft | reports whether the regular-grid FFT path was used |
| deriv_direction | optional Cartesian k derivative (1, 2, or 3) |
| hmat | direct-lattice cell matrix, required for a derivative |
| selected_kpoints | optional indices of k points to retain in values_k |
Definition at line 114 of file kpoint_lattice_fft.F.
| subroutine, public kpoint_lattice_fft::k_grid_to_cell_fft | ( | complex(kind=dp), dimension(:, :, :), intent(in) | values_k, |
| real(kind=dp), dimension(:, :), intent(in) | xkp, | ||
| integer, dimension(3), intent(in) | nkp_grid, | ||
| integer, dimension(:, :), intent(in) | index_to_cell, | ||
| complex(kind=dp), dimension(:, :, :), intent(out) | values_rs, | ||
| logical, intent(out), optional | used_fft ) |
Transform complete reciprocal-grid data back to image-cell values.
| values_k | complex matrices on a complete regular reciprocal grid |
| xkp | reciprocal coordinates, in units of reciprocal lattice vectors |
| nkp_grid | dimensions of the reciprocal grid |
| index_to_cell | integer lattice vector for every requested image cell |
| values_rs | reconstructed complex matrices in the requested image cells |
| used_fft | reports whether the regular-grid FFT path was used |
Definition at line 258 of file kpoint_lattice_fft.F.