Octopus
|
Data Types | |
type | cube_t |
type | dimensions_t |
It is intended to be used within a vector. More... | |
Functions/Subroutines | |
subroutine, public | cube_init (cube, nn, namespace, space, spacing, coord_system, fft_type, fft_library, dont_optimize, nn_out, mpi_grp, need_partition, tp_enlarge, blocksize) |
subroutine, public | cube_end (cube) |
subroutine | cube_tp_fft_defaults (cube, fft_library) |
subroutine | cube_init_coords (cube, tp_enlarge, spacing, fft_library) |
logical function, public | cube_global2local (cube, ixyz, lxyz) |
True if global coordinates belong to this process. On output lxyz contains the local coordinates. More... | |
integer function, public | cube_getfftlibrary (cube) |
Returns the FFT library of the cube. Possible values are FFTLIB_NONE, FFTLIB_FFTW, FFTLIB_PFFT FFTLIB_ACCEL, FFTLIB_NFFT and FFTLIB_PNFFT (defined in fft.F90) More... | |
subroutine | cube_do_mapping (cube, fs) |
do the mapping between global and local points of the cube More... | |
integer pure function, public | cube_point_to_process (xyz, part) |
subroutine | cube_set_blocksize (rs_n_global, blocksize, rank, rs_n, rs_istart) |
subroutine, public | cube_partition (cube, part) |
subroutine | cube_partition_messages_debug (cube, namespace) |
subroutine, public | cube_init_cube_map (cube, mesh) |
subroutine, public cube_oct_m::cube_init | ( | type(cube_t), intent(out) | cube, |
integer, dimension(:), intent(in) | nn, | ||
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
real(real64), dimension(:), intent(in) | spacing, | ||
class(coordinate_system_t), intent(in) | coord_system, | ||
integer, intent(in), optional | fft_type, | ||
integer, intent(in), optional | fft_library, | ||
logical, intent(in), optional | dont_optimize, | ||
integer, dimension(3), intent(out), optional | nn_out, | ||
type(mpi_grp_t), intent(in), optional | mpi_grp, | ||
logical, intent(in), optional | need_partition, | ||
real(real64), dimension(3), intent(in), optional | tp_enlarge, | ||
integer, intent(in), optional | blocksize | ||
) |
[in] | fft_type | Is the cube going to be used to perform FFTs? |
[in] | fft_library | What fft library to use |
[in] | dont_optimize | if true, do not optimize grid for FFT |
[out] | nn_out | What are the FFT dims? If optimized, may be different from input nn. |
[in] | mpi_grp | The mpi group to be use for cube parallelization |
[in] | need_partition | Should we calculate and store the cube partition? |
[in] | tp_enlarge | Two point enlargement factor. Can be used with (p)nfft enlarge the box by moving outward the cube first and last points in each direction. The resulting boundaries are rescaled by tp_enlarge. |
[in] | blocksize | just use a fixed block decomposition without caring about FFT library. See description for cube_set_blocksize. |
subroutine, public cube_oct_m::cube_end | ( | type(cube_t), intent(inout) | cube | ) |
|
private |
|
private |
logical function, public cube_oct_m::cube_global2local | ( | type(cube_t), intent(in) | cube, |
integer, dimension(3), intent(in) | ixyz, | ||
integer, dimension(3), intent(out) | lxyz | ||
) |
integer function, public cube_oct_m::cube_getfftlibrary | ( | type(cube_t), intent(in) | cube | ) |
|
private |
integer pure function, public cube_oct_m::cube_point_to_process | ( | integer, dimension(1:3), intent(in) | xyz, |
type(dimensions_t), dimension(:), intent(in) | part | ||
) |
|
private |
subroutine, public cube_oct_m::cube_partition | ( | type(cube_t), intent(in) | cube, |
type(dimensions_t), dimension(:), intent(out) | part | ||
) |
|
private |