MCTDH-X
v2.22
|
This module collects all FFT routines necessary to compute momentum space representations of orbitals or to apply kinetic energy operators. More...
Public Member Functions | |
subroutine | destroy_global_fft_plans |
This routine destroys all FFTW/MKL FFT plans. More... | |
subroutine | initialize_global_fft_plans |
subroutine | destroy_fft (Dimensionality, Direction, Dimension) |
This routine frees specific descriptors/destroys FFT plans. More... | |
subroutine | init_fft (Dimensionality, Direction, Dimension) |
This routine initializes all necessary plans. More... | |
subroutine | get_dilated_fft (Dimensionality, Psi, Direction, Dimension, Dilation) |
Same as Get_FFT for dilated FFTs,i.e., increased resolution in the case of analysis. More... | |
subroutine | get_fft_forward_fftw_1d_dilated (Psi, Dilation) |
subroutine | get_fft_forward_mkl_1d_dilated (Psi, Dilation) |
subroutine | get_fft_forward_fftw_2d_dilated (Psi, Dilation) |
subroutine | get_fft_forward_mkl_2d_dilated (Psi, Dilation) |
subroutine | initialize_mkl_fft_1d_dilated (Descriptor_Handle, Dilation) |
subroutine | initialize_mkl_fft_2d_dilated (Descriptor_Handle, Dilation) |
subroutine | initialize_fftw_1d_dilated (Plan_FFTW, Direction, Dilation) |
subroutine | initialize_fftw_2d_dilated (Plan_FFTW, Direction, Dilation) |
subroutine | get_fft (Dimensionality, Psi, Direction, Dimension) |
This routine computes the FFT or FFT^-1. Direction=0/1 decides if forward/backward transform is computed. Dimension=1/2/3, in the case of 1D-transforms, if X/Y/Z transform shall be computed. More... | |
subroutine | initialize_fftw_1d (Plan_FFTW, Dimension, Direction) |
subroutine | initialize_fftw_2d (Plan_FFTW, Direction) |
subroutine | initialize_fftw_3d (Plan_FFTW, Direction) |
subroutine | initialize_mkl_fft_2d (Descriptor_Handle) |
subroutine | initialize_mkl_fft_3d (Descriptor_Handle) |
subroutine | initialize_mkl_fft_1d (Descriptor_Handle, Dimension) |
subroutine | get_fft_backward_mkl_1d (PSI, Dimension) |
subroutine | get_fft_forward_mkl_1d (PSI, Dimension) |
subroutine | get_fft_forward_mkl_2d (Psi) |
subroutine | get_fft_forward_mkl_3d (Psi) |
subroutine | get_fft_forward_fftw_1d (Psi, Dimension) |
subroutine | get_fft_forward_fftw_2d (Psi) |
subroutine | get_fft_forward_fftw_3d (Psi) |
subroutine | get_fft_backward_mkl_2d (Psi) |
subroutine | get_fft_backward_mkl_3d (Psi) |
subroutine | get_fft_backward_fftw_1d (Psi, Dimension) |
subroutine | get_fft_backward_fftw_2d (Psi) |
subroutine | get_fft_backward_fftw_3d (Psi) |
This module collects all FFT routines necessary to compute momentum space representations of orbitals or to apply kinetic energy operators.
subroutine fft_laboratory::destroy_fft | ( | integer | Dimensionality, |
integer | Direction, | ||
integer | Dimension | ||
) |
This routine frees specific descriptors/destroys FFT plans.
Referenced by destroy_global_fft_plans().
subroutine fft_laboratory::destroy_global_fft_plans | ( | ) |
This routine destroys all FFTW/MKL FFT plans.
References destroy_fft().
Referenced by analysis_main_program(), and program_mctdhx_main().
subroutine fft_laboratory::get_dilated_fft | ( | integer | Dimensionality, |
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z*dilation*dilation) | Psi, | ||
integer | Direction, | ||
integer | Dimension, | ||
integer | Dilation | ||
) |
Same as Get_FFT for dilated FFTs,i.e., increased resolution in the case of analysis.
References get_fft_forward_fftw_1d_dilated(), get_fft_forward_fftw_2d_dilated(), get_fft_forward_mkl_1d_dilated(), and get_fft_forward_mkl_2d_dilated().
Referenced by auxiliary_fftroutines::get_sorted_fft(), and auxiliary_fftroutines::twod_zero_padding().
subroutine fft_laboratory::get_fft | ( | integer | Dimensionality, |
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi, | ||
integer | Direction, | ||
integer | Dimension | ||
) |
This routine computes the FFT or FFT^-1. Direction=0/1 decides if forward/backward transform is computed. Dimension=1/2/3, in the case of 1D-transforms, if X/Y/Z transform shall be computed.
References get_fft_backward_fftw_1d(), get_fft_backward_fftw_2d(), get_fft_backward_fftw_3d(), get_fft_backward_mkl_1d(), get_fft_backward_mkl_2d(), get_fft_backward_mkl_3d(), get_fft_forward_fftw_1d(), get_fft_forward_fftw_2d(), get_fft_forward_fftw_3d(), get_fft_forward_mkl_1d(), get_fft_forward_mkl_2d(), and get_fft_forward_mkl_3d().
Referenced by kineticenergyaction::apply_lz(), kineticenergyaction::apply_soc(), localinteractionpotential::compute_localinteraction_fft(), localinteractionpotential::compute_localinteraction_imest(), auxiliary_fftroutines::get_derivative_2d(), kineticenergyaction::get_kineticenergyaction_fft(), kineticenergyaction::get_kineticenergyaction_fft_2d(), kineticenergyaction::get_kineticenergyaction_fft_3d(), auxiliary_fftroutines::get_sorted_fft(), and analysis_routines_twobody::get_structurefactor().
subroutine fft_laboratory::get_fft_backward_fftw_1d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi, |
integer | Dimension | ||
) |
subroutine fft_laboratory::get_fft_backward_fftw_2d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_backward_fftw_3d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_backward_mkl_1d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | PSI, |
integer | Dimension | ||
) |
subroutine fft_laboratory::get_fft_backward_mkl_2d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_backward_mkl_3d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_forward_fftw_1d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi, |
integer | Dimension | ||
) |
subroutine fft_laboratory::get_fft_forward_fftw_1d_dilated | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z*dilation) | Psi, |
integer | Dilation | ||
) |
References initialize_fftw_1d_dilated().
Referenced by get_dilated_fft().
subroutine fft_laboratory::get_fft_forward_fftw_2d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_forward_fftw_2d_dilated | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z*dilation*dilation) | Psi, |
integer | Dilation | ||
) |
References initialize_fftw_2d_dilated().
Referenced by get_dilated_fft().
subroutine fft_laboratory::get_fft_forward_fftw_3d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_forward_mkl_1d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | PSI, |
integer | Dimension | ||
) |
subroutine fft_laboratory::get_fft_forward_mkl_1d_dilated | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z*dilation) | Psi, |
integer | Dilation | ||
) |
References initialize_mkl_fft_1d_dilated().
Referenced by get_dilated_fft().
subroutine fft_laboratory::get_fft_forward_mkl_2d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::get_fft_forward_mkl_2d_dilated | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z*dilation*dilation) | Psi, |
integer | Dilation | ||
) |
References initialize_mkl_fft_2d_dilated().
Referenced by get_dilated_fft().
subroutine fft_laboratory::get_fft_forward_mkl_3d | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z) | Psi | ) |
subroutine fft_laboratory::init_fft | ( | integer | Dimensionality, |
integer | Direction, | ||
integer | Dimension | ||
) |
This routine initializes all necessary plans.
References initialize_fftw_1d(), initialize_fftw_2d(), initialize_fftw_3d(), initialize_mkl_fft_1d(), initialize_mkl_fft_2d(), and initialize_mkl_fft_3d().
Referenced by initialize_global_fft_plans().
subroutine fft_laboratory::initialize_fftw_1d | ( | integer*8 | Plan_FFTW, |
integer | Dimension, | ||
integer | Direction | ||
) |
subroutine fft_laboratory::initialize_fftw_1d_dilated | ( | integer*8 | Plan_FFTW, |
integer | Direction, | ||
integer | Dilation | ||
) |
subroutine fft_laboratory::initialize_fftw_2d | ( | integer*8 | Plan_FFTW, |
integer | Direction | ||
) |
subroutine fft_laboratory::initialize_fftw_2d_dilated | ( | integer*8 | Plan_FFTW, |
integer | Direction, | ||
integer | Dilation | ||
) |
subroutine fft_laboratory::initialize_fftw_3d | ( | integer*8 | Plan_FFTW, |
integer | Direction | ||
) |
subroutine fft_laboratory::initialize_global_fft_plans | ( | ) |
References init_fft().
Referenced by analysis_main_program(), and program_mctdhx_main().
subroutine fft_laboratory::initialize_mkl_fft_1d | ( | integer, pointer | Descriptor_Handle, |
integer | Dimension | ||
) |
subroutine fft_laboratory::initialize_mkl_fft_1d_dilated | ( | integer, pointer | Descriptor_Handle, |
integer | Dilation | ||
) |
subroutine fft_laboratory::initialize_mkl_fft_2d | ( | integer, pointer | Descriptor_Handle | ) |
subroutine fft_laboratory::initialize_mkl_fft_2d_dilated | ( | integer, pointer | Descriptor_Handle, |
integer | Dilation | ||
) |
subroutine fft_laboratory::initialize_mkl_fft_3d | ( | integer, pointer | Descriptor_Handle | ) |