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 self%mesh(:) = mesh self%nmax = maxval(mesh) allocate(self%tw(0:self%nmax/2 - 1)) do ik = 0, self%nmax/2 - 1 self%tw(ik) = cmplx(cos(2*pi*ik/self%nmax), -sin(2*pi*ik/self%nmax), wp) end do end subroutine new_fft_mesh