Tabulate the roots of unity for transforms on the given mesh
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fft_mesh), | intent(out) | :: | self |
Instance of the transform |
||
| integer, | intent(in) | :: | mesh(3) |
Number of points along each direction |
subroutine new_fft_mesh(self, mesh) !> Instance of the transform type(fft_mesh), intent(out) :: self !> Number of points along each direction integer, intent(in) :: mesh(3) integer :: ik, idir self%mesh(:) = mesh allocate(self%tw(0:maxval(mesh) - 1, 3)) do idir = 1, 3 do ik = 0, mesh(idir) - 1 self%tw(ik, idir) = cmplx(cos(2*pi*ik/mesh(idir)), -sin(2*pi*ik/mesh(idir)), wp) end do end do end subroutine new_fft_mesh