Octopus
fourier_space_oct_m Module Reference

Data Types

type  fourier_space_op_t
 

Functions/Subroutines

subroutine, public cube_function_alloc_fs (cube, cf, force_alloc)
 Allocates locally the Fourier space grid, if PFFT library is not used. Otherwise, it assigns the PFFT Fourier space grid to the cube Fourier space grid, via pointer. More...
 
subroutine, public cube_function_free_fs (cube, cf)
 Deallocates the Fourier space grid. More...
 
subroutine, public fourier_space_op_end (this)
 
subroutine, public dcube_function_rs2fs (cube, cf)
 The following routines convert the function between real space and Fourier space Note that the dimensions of the function in fs are different depending on whether f is real or complex, because the FFT representation is different (FFTW scheme). More...
 
subroutine, public dcube_function_fs2rs (cube, cf)
 
subroutine, public dfourier_space_op_init (this, cube, op, in_device)
 
subroutine, public dfourier_space_op_apply (this, cube, cf)
 Applies a multiplication factor to the Fourier space grid. This is a local function. More...
 
subroutine, public zcube_function_rs2fs (cube, cf)
 The following routines convert the function between real space and Fourier space Note that the dimensions of the function in fs are different depending on whether f is real or complex, because the FFT representation is different (FFTW scheme). More...
 
subroutine, public zcube_function_fs2rs (cube, cf)
 
subroutine, public zfourier_space_op_init (this, cube, op, in_device)
 
subroutine, public zfourier_space_op_apply (this, cube, cf)
 Applies a multiplication factor to the Fourier space grid. This is a local function. More...
 

Function/Subroutine Documentation

◆ cube_function_alloc_fs()

subroutine, public fourier_space_oct_m::cube_function_alloc_fs ( type(cube_t), intent(in), target  cube,
type(cube_function_t), intent(inout)  cf,
logical, intent(in), optional  force_alloc 
)

Allocates locally the Fourier space grid, if PFFT library is not used. Otherwise, it assigns the PFFT Fourier space grid to the cube Fourier space grid, via pointer.

Definition at line 174 of file fourier_space.F90.

◆ cube_function_free_fs()

subroutine, public fourier_space_oct_m::cube_function_free_fs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Deallocates the Fourier space grid.

Definition at line 231 of file fourier_space.F90.

◆ fourier_space_op_end()

subroutine, public fourier_space_oct_m::fourier_space_op_end ( type(fourier_space_op_t), intent(inout)  this)

Definition at line 271 of file fourier_space.F90.

◆ dcube_function_rs2fs()

subroutine, public fourier_space_oct_m::dcube_function_rs2fs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

The following routines convert the function between real space and Fourier space Note that the dimensions of the function in fs are different depending on whether f is real or complex, because the FFT representation is different (FFTW scheme).

Definition at line 358 of file fourier_space.F90.

◆ dcube_function_fs2rs()

subroutine, public fourier_space_oct_m::dcube_function_fs2rs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Definition at line 380 of file fourier_space.F90.

◆ dfourier_space_op_init()

subroutine, public fourier_space_oct_m::dfourier_space_op_init ( type(fourier_space_op_t), intent(inout)  this,
type(cube_t), intent(in)  cube,
real(real64), dimension(:, :, :), intent(in)  op,
logical, intent(in), optional  in_device 
)

Definition at line 402 of file fourier_space.F90.

◆ dfourier_space_op_apply()

subroutine, public fourier_space_oct_m::dfourier_space_op_apply ( type(fourier_space_op_t), intent(in)  this,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Applies a multiplication factor to the Fourier space grid. This is a local function.

Definition at line 464 of file fourier_space.F90.

◆ zcube_function_rs2fs()

subroutine, public fourier_space_oct_m::zcube_function_rs2fs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

The following routines convert the function between real space and Fourier space Note that the dimensions of the function in fs are different depending on whether f is real or complex, because the FFT representation is different (FFTW scheme).

Definition at line 643 of file fourier_space.F90.

◆ zcube_function_fs2rs()

subroutine, public fourier_space_oct_m::zcube_function_fs2rs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Definition at line 665 of file fourier_space.F90.

◆ zfourier_space_op_init()

subroutine, public fourier_space_oct_m::zfourier_space_op_init ( type(fourier_space_op_t), intent(inout)  this,
type(cube_t), intent(in)  cube,
complex(real64), dimension(:, :, :), intent(in)  op,
logical, intent(in), optional  in_device 
)

Definition at line 687 of file fourier_space.F90.

◆ zfourier_space_op_apply()

subroutine, public fourier_space_oct_m::zfourier_space_op_apply ( type(fourier_space_op_t), intent(in)  this,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Applies a multiplication factor to the Fourier space grid. This is a local function.

Definition at line 749 of file fourier_space.F90.