The low level module to work with the PFFT library. http:  
More...
The low level module to work with the PFFT library. http: 
 | 
| subroutine, public  | pfft_decompose (n_proc, dim1, dim2) | 
|   | Decompose all available processors in 2D processor grid, most equally possible.  More...
  | 
|   | 
| subroutine, public  | pfft_prepare_plan_r2c (plan, n, in, out, sign, flags, mpi_comm) | 
|   | Octopus subroutine to prepare a PFFT plan real to complex.  More...
  | 
|   | 
| subroutine, public  | pfft_prepare_plan_c2r (plan, n, in, out, sign, flags, mpi_comm) | 
|   | Octopus subroutine to prepare a PFFT plan real to complex.  More...
  | 
|   | 
| subroutine, public  | pfft_prepare_plan_c2c (plan, n, in, out, sign, flags, mpi_comm) | 
|   | Octopus subroutine to prepare a PFFT plan real to complex.  More...
  | 
|   | 
| subroutine, public  | pfft_get_dims (rs_n_global, mpi_comm, is_real, alloc_size, fs_n_global, rs_n, fs_n, rs_istart, fs_istart) | 
|   | 
◆ pfft_decompose()
      
        
          | subroutine, public pfft_oct_m::pfft_decompose  | 
          ( | 
          integer, intent(in)  | 
          n_proc,  | 
        
        
           | 
           | 
          integer, intent(out)  | 
          dim1,  | 
        
        
           | 
           | 
          integer, intent(out)  | 
          dim2  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Decompose all available processors in 2D processor grid, most equally possible. 
- Parameters
 - 
  
    | [in] | n_proc | Number of processors  | 
    | [out] | dim1 | First out dimension  | 
    | [out] | dim2 | Second out dimension  | 
  
   
Definition at line 187 of file pfft.F90.
 
 
◆ pfft_prepare_plan_r2c()
      
        
          | subroutine, public pfft_oct_m::pfft_prepare_plan_r2c  | 
          ( | 
          type(c_ptr), intent(out)  | 
          plan,  | 
        
        
           | 
           | 
          integer, dimension(:), intent(in)  | 
          n,  | 
        
        
           | 
           | 
          real(real64), dimension(:,:,:), intent(inout), pointer  | 
          in,  | 
        
        
           | 
           | 
          complex(real64), dimension(:,:,:), intent(inout), pointer  | 
          out,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          sign,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          flags,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          mpi_comm  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Octopus subroutine to prepare a PFFT plan real to complex. 
- Parameters
 - 
  
    | [out] | plan | The plan that is created by PFFT  | 
    | [in] | n | The size of the global matrix  | 
    | [in,out] | in | The input matrix that is going to be used to do the transform  | 
    | [in,out] | out | The output matrix that is going to be used to do the transform  | 
    | [in] | sign | Sign flag to decide FFT direction. Has to be FFTW_FORWARD  | 
    | [in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE  | 
    | [in] | mpi_comm | MPI communicator  | 
  
   
Definition at line 228 of file pfft.F90.
 
 
◆ pfft_prepare_plan_c2r()
      
        
          | subroutine, public pfft_oct_m::pfft_prepare_plan_c2r  | 
          ( | 
          type(c_ptr), intent(out)  | 
          plan,  | 
        
        
           | 
           | 
          integer, dimension(:), intent(in)  | 
          n,  | 
        
        
           | 
           | 
          complex(real64), dimension(:,:,:), intent(inout), pointer  | 
          in,  | 
        
        
           | 
           | 
          real(real64), dimension(:,:,:), intent(inout), pointer  | 
          out,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          sign,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          flags,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          mpi_comm  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Octopus subroutine to prepare a PFFT plan real to complex. 
- Parameters
 - 
  
    | [out] | plan | The plan that is created by PFFT  | 
    | [in] | n | The size of the global matrix  | 
    | [in,out] | in | The input matrix that is going to be used to do the transform  | 
    | [in,out] | out | The output matrix that is going to be used to do the transform  | 
    | [in] | sign | Sign flag to decide FFT direction. Has to be FFTW_BACKWARD  | 
    | [in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE  | 
    | [in] | mpi_comm | MPI communicator  | 
  
   
Definition at line 262 of file pfft.F90.
 
 
◆ pfft_prepare_plan_c2c()
      
        
          | subroutine, public pfft_oct_m::pfft_prepare_plan_c2c  | 
          ( | 
          type(c_ptr), intent(out)  | 
          plan,  | 
        
        
           | 
           | 
          integer, dimension(:), intent(in)  | 
          n,  | 
        
        
           | 
           | 
          complex(real64), dimension(:,:,:), intent(inout), pointer  | 
          in,  | 
        
        
           | 
           | 
          complex(real64), dimension(:,:,:), intent(inout), pointer  | 
          out,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          sign,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          flags,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          mpi_comm  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Octopus subroutine to prepare a PFFT plan real to complex. 
- Parameters
 - 
  
    | [out] | plan | The plan that is created by PFFT  | 
    | [in] | n | The size of the global matrix  | 
    | [in,out] | in | The input matrix that is going to be used to do the transform  | 
    | [in,out] | out | The output matrix that is going to be used to do the transform  | 
    | [in] | sign | Sign flag to decide FFT direction.  | 
    | [in] | flags | Flags for FFT library. Could be changed with the input variable FFTPreparePlan. Default value is FFTW_MEASURE  | 
    | [in] | mpi_comm | MPI communicator  | 
  
   
Definition at line 297 of file pfft.F90.
 
 
◆ pfft_get_dims()
      
        
          | subroutine, public pfft_oct_m::pfft_get_dims  | 
          ( | 
          integer, dimension(1:3), intent(in)  | 
          rs_n_global,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          mpi_comm,  | 
        
        
           | 
           | 
          logical, intent(in)  | 
          is_real,  | 
        
        
           | 
           | 
          integer(int64), intent(out)  | 
          alloc_size,  | 
        
        
           | 
           | 
          integer, dimension(1:3), intent(out)  | 
          fs_n_global,  | 
        
        
           | 
           | 
          integer, dimension(1:3), intent(out)  | 
          rs_n,  | 
        
        
           | 
           | 
          integer, dimension(1:3), intent(out)  | 
          fs_n,  | 
        
        
           | 
           | 
          integer, dimension(1:3), intent(out)  | 
          rs_istart,  | 
        
        
           | 
           | 
          integer, dimension(1:3), intent(out)  | 
          fs_istart  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
- Parameters
 - 
  
    | [in] | rs_n_global | The general number of elements in each dimension in real space | 
    | [in] | mpi_comm | MPI comunicator | 
    | [in] | is_real | The input is real or complex | 
    | [out] | alloc_size | Number of elements that has to be allocated locally | 
    | [out] | fs_n_global | The general number of elements in each dimension in Fourier space | 
    | [out] | rs_n | Local number of elements in each direction in real space | 
    | [out] | fs_n | Local number of elements in each direction in Fourier space | 
    | [out] | rs_istart | Where does the local portion of the function start in real space | 
    | [out] | fs_istart | Where does the local portion of the function start in Fourier space  | 
  
   
Definition at line 334 of file pfft.F90.