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 172 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 229 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 269 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 356 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 378 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 400 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 462 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 641 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 663 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 685 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 747 of file fourier_space.F90.