MCTDH-X  v2.22
 All Classes Files Functions Variables Pages
auxiliary_fftroutines Module Reference

This module contains all routines using FFT to calculate colocations, k-space representations, derivatives or gradients. More...

Public Member Functions

subroutine get_sorted_fft (PSI, FTPSI, Dilation)
 
subroutine sort_fft_to_ascending_2d (FFT, NDVR_X, NDVR_Y)
 
subroutine get_derivative_2d (Field, Derivative, Direction)
 This subroutine calculates the derivative of a real field in x/y direction if the Direction=1/2. More...
 
subroutine get_gradient_2d (Field, Gradient_X, Gradient_Y)
 
subroutine get_curl_2d (Field_X, Field_Y, Curl)
 
subroutine twod_zero_padding (PSI, FTPSI, dilation)
 

Detailed Description

This module contains all routines using FFT to calculate colocations, k-space representations, derivatives or gradients.

Member Function/Subroutine Documentation

subroutine auxiliary_fftroutines::get_curl_2d ( real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Field_X,
real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Field_Y,
real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Curl 
)
Parameters
curl\xrefitemtodo 4.

References get_derivative_2d().

Here is the call graph for this function:

subroutine auxiliary_fftroutines::get_derivative_2d ( real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Field,
real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Derivative,
integer  Direction 
)

This subroutine calculates the derivative of a real field in x/y direction if the Direction=1/2.

Uncomment the loops in the routine in order to write the field to fort.400, its FFT to fort.401, and its derivative to fort.402

References fft_laboratory::get_fft(), auxiliary_routines::get_ijk_from_m(), and auxiliary_routines::get_mom().

Referenced by get_curl_2d(), get_gradient_2d(), and analysis_routines_onebody::get_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine auxiliary_fftroutines::get_gradient_2d ( real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Field,
real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Gradient_X,
real*8, dimension(ndvr_x*ndvr_y*ndvr_z)  Gradient_Y 
)
Parameters
field\xrefitemtodo 2.

References get_derivative_2d().

Referenced by analysis_routines_onebody::get_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine auxiliary_fftroutines::get_sorted_fft ( complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb), intent(in)  PSI,
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb), intent(out)  FTPSI,
integer, optional  Dilation 
)
subroutine auxiliary_fftroutines::sort_fft_to_ascending_2d ( complex*16, dimension(ndvr_x*ndvr_y)  FFT,
integer  NDVR_X,
integer  NDVR_Y 
)
Parameters
ndvr_xsort an array representing a 2D function given in FFT order, compact storage to be in strictly ascending order (needed for gnuplots pm3d), compact storage
ndvr_ysort an array representing a 2D function given in FFT order, compact storage to be in strictly ascending order (needed for gnuplots pm3d), compact storage

Referenced by get_sorted_fft(), analysis_routines_twobody::get_structurefactor(), and twod_zero_padding().

Here is the caller graph for this function:

subroutine auxiliary_fftroutines::twod_zero_padding ( complex*16, dimension(ndvr_x*ndvr_y,morb), intent(in)  PSI,
complex*16, dimension(ndvr_x*ndvr_y,morb), intent(out)  FTPSI,
integer, intent(in)  dilation 
)
Parameters
[in]dilationThis routine calculates the 2D FT of an array of M Orbitals, increasing the resolution of the FT by adding zeroes to the end of the grid in realspace.

References fft_laboratory::get_dilated_fft(), function_library::normvxz(), sort_fft_to_ascending_2d(), and function_library::xvixdzo().

Referenced by analysis_routines_onebody::get_2d_1bodydiag_dilated(), analysis_routines_onebody::get_2d_1bodydiag_dilated_nlevel(), and get_sorted_fft().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: