![]() |
Octopus
|
Data Types | |
| type | fourier_space_op_t |
Functions/Subroutines | |
| subroutine | fourier_space_op_t_init (this, space, qq, cam, singularity) |
| Initialise a Fourier space Op instance. More... | |
| 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, op_move) |
The operator can be provided either through op (which is copied) or through op_move (an allocatable that is taken over via move_alloc, avoiding a full-grid copy). Exactly one of the two must be present. More... | |
| 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, op_move) |
The operator can be provided either through op (which is copied) or through op_move (an allocatable that is taken over via move_alloc, avoiding a full-grid copy). Exactly one of the two must be present. More... | |
| subroutine, public | zfourier_space_op_apply (this, cube, cf) |
| Applies a multiplication factor to the Fourier space grid. This is a local function. More... | |
Variables | |
| real(real64), parameter | tol_vanishing_q = 1e-6_real64 |
|
private |
Initialise a Fourier space Op instance.
| [in] | q-vector | |
| [in] | cam | CAM parameters |
| [in] | singularity | Must be defined for all but the short-range Coulomb potential |
Definition at line 178 of file fourier_space.F90.
| 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 206 of file fourier_space.F90.
| 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 266 of file fourier_space.F90.
| subroutine, public fourier_space_oct_m::fourier_space_op_end | ( | type(fourier_space_op_t), intent(inout) | this | ) |
Definition at line 306 of file fourier_space.F90.
| 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 393 of file fourier_space.F90.
| 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 415 of file fourier_space.F90.
| 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), optional, target | op, | ||
| logical, intent(in), optional | in_device, | ||
| real(real64), dimension(:, :, :), intent(inout), optional, allocatable, target | op_move | ||
| ) |
The operator can be provided either through op (which is copied) or through op_move (an allocatable that is taken over via move_alloc, avoiding a full-grid copy). Exactly one of the two must be present.
Definition at line 440 of file fourier_space.F90.
| 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 532 of file fourier_space.F90.
| 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 724 of file fourier_space.F90.
| 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 746 of file fourier_space.F90.
| 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), optional, target | op, | ||
| logical, intent(in), optional | in_device, | ||
| complex(real64), dimension(:, :, :), intent(inout), optional, allocatable, target | op_move | ||
| ) |
The operator can be provided either through op (which is copied) or through op_move (an allocatable that is taken over via move_alloc, avoiding a full-grid copy). Exactly one of the two must be present.
Definition at line 771 of file fourier_space.F90.
| 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 863 of file fourier_space.F90.
|
private |
Definition at line 173 of file fourier_space.F90.