Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines | Variables
sll_m_fft_fftw3.F90 File Reference
#include "sll_working_precision.h"
#include "sll_assert.h"
#include "sll_memory.h"
#include "sll_errors.h"
#include "sll_fftw.h"
Include dependency graph for sll_m_fft_fftw3.F90:

Go to the source code of this file.

Data Types

type  sll_t_fft
 Type for FFT plan in SeLaLib. More...
 

Modules

module  sll_m_fft
 FFT interface for FFTW.
 

Functions/Subroutines

subroutine, public sll_s_fft_print_defaultlib ()
 Function to print the FFT library behind the interface. More...
 
complex(c_double_complex) function, dimension(:), pointer, public sll_f_fft_allocate_aligned_complex (n)
 Function to allocate an aligned complex array. More...
 
real(c_double) function, dimension(:), pointer, public sll_f_fft_allocate_aligned_real (n)
 Function to allocate an aligned real array. More...
 
subroutine, public sll_s_fft_deallocate_aligned_complex (data)
 Function to deallocate an aligned complex array. More...
 
subroutine, public sll_s_fft_deallocate_aligned_real (data)
 Function to deallocate an aligned real array. More...
 
subroutine, public sll_s_fft_get_k_list_c2c_1d (plan, k_list)
 Get a list of the k modes in a c2c FFT k_list = [0, 1, 2, ..., n/2, (n/2+1)-n, ..., -2, -1]. More...
 
subroutine, public sll_s_fft_get_k_list_r2r_1d (plan, k_list)
 Get a list of the k modes in an r2r FFT k_list = [0, 1, 2, ..., n/2, (n+1)/2-1, ..., 2, 1]. More...
 
subroutine, public sll_s_fft_get_k_list_r2c_1d (plan, k_list)
 Get a list of the k modes in an r2c FFT k_list = [0, 1, 2, ..., n/2]. More...
 
complex(kind=f64) function, public sll_f_fft_get_mode_r2c_1d (plan, data, k)
 Function to reconstruct a complex FFT mode from the data of a r2r transform. More...
 
subroutine, public sll_s_fft_set_mode_c2r_1d (plan, data, ck, k)
 Subroutine to set a complex mode to the real representation of r2r. More...
 
subroutine, public sll_s_fft_init_c2c_1d (plan, nx, array_in, array_out, direction, normalized, aligned, optimization)
 Create new 1d complex to complex plan. More...
 
subroutine, public sll_s_fft_exec_c2c_1d (plan, array_in, array_out)
 Compute fast Fourier transform in complex to complex mode. More...
 
subroutine, public sll_s_fft_init_c2c_2d (plan, nx, ny, array_in, array_out, direction, normalized, aligned, optimization)
 Create new 2d complex to complex plan. More...
 
subroutine, public sll_s_fft_exec_c2c_2d (plan, array_in, array_out)
 Compute fast Fourier transform in complex to complex mode. More...
 
subroutine, public sll_s_fft_init_c2c_3d (plan, nx, ny, nz, array_in, array_out, direction, normalized, aligned, optimization)
 Create new 3d complex to complex plan. More...
 
subroutine, public sll_s_fft_exec_c2c_3d (plan, array_in, array_out)
 Compute fast Fourier transform in complex to complex mode. More...
 
subroutine, public sll_s_fft_init_r2r_1d (plan, nx, array_in, array_out, direction, normalized, aligned, optimization)
 Create new 1d real to real plan. More...
 
subroutine, public sll_s_fft_exec_r2r_1d (plan, array_in, array_out)
 Compute fast Fourier transform in real to real mode. More...
 
subroutine, public sll_s_fft_init_r2c_1d (plan, nx, array_in, array_out, normalized, aligned, optimization)
 Create new 1d real to complex plan for forward FFT. More...
 
subroutine, public sll_s_fft_exec_r2c_1d (plan, array_in, array_out)
 Compute fast Fourier transform in real to complex mode. More...
 
subroutine, public sll_s_fft_init_r2c_2d (plan, nx, ny, array_in, array_out, normalized, aligned, optimization)
 Create new 2d complex to real plan for forward FFT. More...
 
subroutine, public sll_s_fft_exec_r2c_2d (plan, array_in, array_out)
 Compute fast Fourier transform in real to complex mode. More...
 
subroutine, public sll_s_fft_init_c2r_1d (plan, nx, array_in, array_out, normalized, aligned, optimization)
 Create new 1d complex to real plan for backward FFT. More...
 
subroutine, public sll_s_fft_exec_c2r_1d (plan, array_in, array_out)
 Compute fast Fourier transform in complex to real mode. More...
 
subroutine, public sll_s_fft_init_c2r_2d (plan, nx, ny, array_in, array_out, normalized, aligned, optimization)
 Create new 2d real to complex plan for backward FFT. More...
 
subroutine, public sll_s_fft_exec_c2r_2d (plan, array_in, array_out)
 Compute fast Fourier transform in complex to real mode. More...
 
subroutine, public sll_s_fft_free (plan)
 Delete a plan. More...
 

Variables

integer, parameter, public sll_p_fft_forward = FFTW_FORWARD
 Flag to specify forward FFT (negative sign) [value -1]. More...
 
integer, parameter, public sll_p_fft_backward = FFTW_BACKWARD
 Flag to specify backward FFT (positive sign) [value 1]. More...
 
integer(c_int), parameter, public sll_p_fft_measure = FFTW_MEASURE
 FFTW planning-rigor flag FFTW_MEASURE (optimized plan) NOTE: planner overwrites the input array during planning [value 0]. More...
 
integer(c_int), parameter, public sll_p_fft_patient = FFTW_PATIENT
 FFTW planning-rigor flag FFTW_PATIENT (more optimizaton than MEASURE) NOTE: planner overwrites the input array during planning [value 32]. More...
 
integer(c_int), parameter, public sll_p_fft_estimate = FFTW_ESTIMATE
 FFTW planning-rigor flag FFTW_ESTIMATE (simple heuristic for planer) [value 64]. This is our default value. More...
 
integer(c_int), parameter, public sll_p_fft_exhaustive = FFTW_EXHAUSTIVE
 FFTW planning-rigor flag FFTW_EXHAUSTIVE (more optimization than PATIENT) NOTE: planner overwrites the input array during planning [value 8]. More...
 
integer(c_int), parameter, public sll_p_fft_wisdom_only = FFTW_WISDOM_ONLY
 
integer, parameter p_fftw_c2c_1d = 0
 
integer, parameter p_fftw_r2r_1d = 1
 
integer, parameter p_fftw_r2c_1d = 2
 
integer, parameter p_fftw_c2r_1d = 3
 
integer, parameter p_fftw_c2c_2d = 4
 
integer, parameter p_fftw_r2r_2d = 5
 
integer, parameter p_fftw_r2c_2d = 6
 
integer, parameter p_fftw_c2r_2d = 7
 
integer, parameter p_fftw_c2c_3d = 8
 
    Report Typos and Errors