ORB5  v4.9.4
sorting_mod::sorting_class Interface Reference

Private Member Functions

procedure init_gpu
 
procedure build_permutation
 
generic apply => apply_real, apply_logical, apply_integer8, apply_real4, apply_real_inplace, apply_logical_inplace, apply_integer8_inplace, apply_real4_inplace
 
procedure apply_real
 
procedure apply_logical
 
procedure apply_integer8
 
procedure apply_real4
 
procedure apply_real_inplace
 
procedure apply_logical_inplace
 
procedure apply_integer8_inplace
 
procedure apply_real4_inplace
 
type(sorting_class) function constructor (npalloc, nl_inplace, ndim, xmin, xmax, nx, ymin, ymax, ny, zmin, zmax, nz)
 Sorting constructor. More...
 

Private Attributes

integer ndim
 Number of dimensions. More...
 
integer nx
 Number of bins in first dimension. More...
 
integer ny
 Number of bins in second dimension. More...
 
integer nz
 Number of bins in third dimension. More...
 
real xmin
 Lower bound of first dimension. More...
 
real ymin
 Lower bound of second dimension. More...
 
real zmin
 Lower bound of third dimension. More...
 
real dx_inv
 Inverse bin length in first dimension. More...
 
real dy_inv
 Inverse bin length in second dimension. More...
 
real dz_inv
 Inverse bin length in third dimension. More...
 
integer, dimension(:,:), allocatable counts
 Number of markers per bin (last element contains out-of-bounds markers) More...
 
integer, dimension(:,:), allocatable displs
 Offset in marker array to access markers in a bin (first element is zero) More...
 
integer, dimension(:), allocatable dest
 Index of each marker destination bin. More...
 
integer, dimension(:), allocatable indices
 Particle index in the destination bin. More...
 
integer, dimension(:), allocatable permut
 Permutation to go from unsorted to sorted array. More...
 
integer, dimension(:), allocatable inv_permut
 Permutation to go back to unsorted from sorted array. More...
 
integer npalloc
 Maximal number of markers that will be sorted. More...
 
real, dimension(:), allocatable work_real
 Real working array for in-place sorting. More...
 
logical, dimension(:), allocatable work_logical
 Logical working array for in-place sorting. More...
 
real(kind=r4), dimension(:), allocatable work_real4
 Real4 working array for in-place sorting. More...
 
integer(kind=i8), dimension(:), allocatable work_integer8
 Integer8 working array for in-place sorting. More...
 

Member Function/Subroutine Documentation

◆ apply()

generic sorting_mod::sorting_class::apply
private
+ Here is the call graph for this function:

◆ apply_integer8()

procedure sorting_mod::sorting_class::apply_integer8
private

◆ apply_integer8_inplace()

procedure sorting_mod::sorting_class::apply_integer8_inplace
private

◆ apply_logical()

procedure sorting_mod::sorting_class::apply_logical
private

◆ apply_logical_inplace()

procedure sorting_mod::sorting_class::apply_logical_inplace
private

◆ apply_real()

procedure sorting_mod::sorting_class::apply_real
private

◆ apply_real4()

procedure sorting_mod::sorting_class::apply_real4
private

◆ apply_real4_inplace()

procedure sorting_mod::sorting_class::apply_real4_inplace
private
+ Here is the call graph for this function:

◆ apply_real_inplace()

procedure sorting_mod::sorting_class::apply_real_inplace
private

◆ build_permutation()

procedure sorting_mod::sorting_class::build_permutation
private

◆ constructor()

type(sorting_class) function sorting_mod::sorting_class::constructor ( integer, intent(in)  npalloc,
logical, intent(in)  nl_inplace,
integer, intent(in)  ndim,
real, intent(in)  xmin,
real, intent(in)  xmax,
integer, intent(in)  nx,
real, intent(in), optional  ymin,
real, intent(in), optional  ymax,
integer, intent(in), optional  ny,
real, intent(in), optional  zmin,
real, intent(in), optional  zmax,
integer, intent(in), optional  nz 
)
private

Sorting constructor.

Author
N. Ohana
Date
06/2018
Parameters
[in]npallocMaximal number of markers that will be sorted
[in]nl_inplaceApply in-place sorting
[in]ndimNumber of dimensions
[in]xminLower bound of first dimension
[in]xmaxUpper bound of first dimension
[in]nxNumber of bins in first dimension
[in]yminLower bound of second dimension if ndim>=2
[in]ymaxUpper bound of second dimension if ndim>=2
[in]nyNumber of bins in second dimension if ndim>=2
[in]zminLower bound of third dimension if ndim>=3
[in]zmaxUpper bound of third dimension if ndim>=3
[in]nzNumber of bins in third dimension if ndim>=3
+ Here is the call graph for this function:

◆ init_gpu()

procedure sorting_mod::sorting_class::init_gpu
private

Member Data Documentation

◆ counts

integer, dimension(:,:), allocatable sorting_mod::sorting_class::counts
private

Number of markers per bin (last element contains out-of-bounds markers)

◆ dest

integer, dimension(:), allocatable sorting_mod::sorting_class::dest
private

Index of each marker destination bin.

◆ displs

integer, dimension(:,:), allocatable sorting_mod::sorting_class::displs
private

Offset in marker array to access markers in a bin (first element is zero)

◆ dx_inv

real sorting_mod::sorting_class::dx_inv
private

Inverse bin length in first dimension.

◆ dy_inv

real sorting_mod::sorting_class::dy_inv
private

Inverse bin length in second dimension.

◆ dz_inv

real sorting_mod::sorting_class::dz_inv
private

Inverse bin length in third dimension.

◆ indices

integer, dimension(:), allocatable sorting_mod::sorting_class::indices
private

Particle index in the destination bin.

◆ inv_permut

integer, dimension(:), allocatable sorting_mod::sorting_class::inv_permut
private

Permutation to go back to unsorted from sorted array.

◆ ndim

integer sorting_mod::sorting_class::ndim
private

Number of dimensions.

◆ npalloc

integer sorting_mod::sorting_class::npalloc
private

Maximal number of markers that will be sorted.

◆ nx

integer sorting_mod::sorting_class::nx
private

Number of bins in first dimension.

◆ ny

integer sorting_mod::sorting_class::ny
private

Number of bins in second dimension.

◆ nz

integer sorting_mod::sorting_class::nz
private

Number of bins in third dimension.

◆ permut

integer, dimension(:), allocatable sorting_mod::sorting_class::permut
private

Permutation to go from unsorted to sorted array.

◆ work_integer8

integer(kind=i8), dimension(:), allocatable sorting_mod::sorting_class::work_integer8
private

Integer8 working array for in-place sorting.

◆ work_logical

logical, dimension(:), allocatable sorting_mod::sorting_class::work_logical
private

Logical working array for in-place sorting.

◆ work_real

real, dimension(:), allocatable sorting_mod::sorting_class::work_real
private

Real working array for in-place sorting.

◆ work_real4

real(kind=r4), dimension(:), allocatable sorting_mod::sorting_class::work_real4
private

Real4 working array for in-place sorting.

◆ xmin

real sorting_mod::sorting_class::xmin
private

Lower bound of first dimension.

◆ ymin

real sorting_mod::sorting_class::ymin
private

Lower bound of second dimension.

◆ zmin

real sorting_mod::sorting_class::zmin
private

Lower bound of third dimension.


The documentation for this interface was generated from the following file: