![]() |
ORB5
4.00
|
Public Member Functions | |
| procedure | init_gpu (sorting) |
| Allocate arrays on GPU (to be called after constructor). | |
| procedure | build_permutation (sorting, np, x, y, z) |
| Build permutation (to be called before applying sorting). | |
| generic | apply (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker real attributes (from template sorting_apply.inc). | |
| generic | apply (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker logical attributes (from template sorting_apply.inc). | |
| generic | apply (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc). | |
| generic | apply (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc). | |
| generic | apply (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc). | |
| generic | apply (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc). | |
| generic | apply (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc). | |
| generic | apply (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc). | |
| procedure | apply_real (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker real attributes (from template sorting_apply.inc). | |
| procedure | apply_logical (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker logical attributes (from template sorting_apply.inc). | |
| procedure | apply_integer8 (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc). | |
| procedure | apply_real4 (sorting, markers, sorted_markers, np, start_att, end_att, nl_revert) |
| Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc). | |
| procedure | apply_real_inplace (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc). | |
| procedure | apply_logical_inplace (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc). | |
| procedure | apply_integer8_inplace (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc). | |
| procedure | apply_real4_inplace (sorting, markers, np, start_att, end_att, nl_revert) |
| Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc). | |
| type(sorting_class) function | constructor (npalloc, nl_inplace, ndim, xmin, xmax, nx, ymin, ymax, ny, zmin, zmax, nz) |
| Sorting constructor. | |
Public Attributes | |
| integer | ndim |
| Number of dimensions. | |
| integer | nx |
| Number of bins in first dimension. | |
| integer | ny |
| Number of bins in second dimension. | |
| integer | nz |
| Number of bins in third dimension. | |
| real(kind=r8) | xmin |
| Lower bound of first dimension. | |
| real(kind=r8) | ymin |
| Lower bound of second dimension. | |
| real(kind=r8) | zmin |
| Lower bound of third dimension. | |
| real(kind=r8) | dx_inv |
| Inverse bin length in first dimension. | |
| real(kind=r8) | dy_inv |
| Inverse bin length in second dimension. | |
| real(kind=r8) | dz_inv |
| Inverse bin length in third dimension. | |
| integer, dimension(:,:), allocatable | counts |
| Number of markers per bin (last element contains out-of-bounds markers). | |
| integer, dimension(:,:), allocatable | displs |
| Offset in marker array to access markers in a bin (first element is zero). | |
| integer, dimension(:), allocatable | dest |
| Index of each marker destination bin. | |
| integer, dimension(:), allocatable | indices |
| Particle index in the destination bin. | |
| integer, dimension(:), allocatable | permut |
| Permutation to go from unsorted to sorted array. | |
| integer, dimension(:), allocatable | inv_permut |
| Permutation to go back to unsorted from sorted array. | |
| integer | npalloc |
| Maximal number of markers that will be sorted. | |
| real(kind=r8), dimension(:), allocatable | work_real |
| Real working array for in-place sorting. | |
| logical, dimension(:), allocatable | work_logical |
| Logical working array for in-place sorting. | |
| real(r4), dimension(:), allocatable | work_real4 |
| Real4 working array for in-place sorting. | |
| integer(i8), dimension(:), allocatable | work_integer8 |
| Integer8 working array for in-place sorting. | |
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker real attributes (from template sorting_apply.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker logical attributes (from template sorting_apply.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc).
| generic sorting_mod::sorting_class::apply | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc).
| procedure sorting_mod::sorting_class::apply_integer8 | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker integer8 attributes (from template sorting_apply.inc).
| procedure sorting_mod::sorting_class::apply_integer8_inplace | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker integer8 attributes (from template sorting_apply_inplace.inc).
| procedure sorting_mod::sorting_class::apply_logical | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker logical attributes (from template sorting_apply.inc).
| procedure sorting_mod::sorting_class::apply_logical_inplace | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker logical attributes (from template sorting_apply_inplace.inc).
| procedure sorting_mod::sorting_class::apply_real | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker real attributes (from template sorting_apply.inc).
| procedure sorting_mod::sorting_class::apply_real4 | ( | sorting, | |
| markers, | |||
| sorted_markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply (un)sorting to marker real4 attributes (from template sorting_apply.inc).
| procedure sorting_mod::sorting_class::apply_real4_inplace | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker real4 attributes (from template sorting_apply_inplace.inc).
| procedure sorting_mod::sorting_class::apply_real_inplace | ( | sorting, | |
| markers, | |||
| np, | |||
| start_att, | |||
| end_att, | |||
| nl_revert ) |
Apply in-place (un)sorting to marker real attributes (from template sorting_apply_inplace.inc).
| procedure sorting_mod::sorting_class::build_permutation | ( | class(sorting_class), intent(inout) | sorting, |
| integer, intent(in) | np, | ||
| real(kind=r8), dimension(:), intent(in) | x, | ||
| real(kind=r8), dimension(:), intent(in), optional | y, | ||
| real(kind=r8), dimension(:), intent(in), optional | z ) |
Build permutation (to be called before applying sorting).
| [in] | np | Number of particles to sort |
| [in] | x | Marker positions in first dimension |
| [in] | y | Marker positions in second dimension |
| [in] | z | Marker positions in third dimension |
| type(sorting_class) function sorting_mod::sorting_class::constructor | ( | integer, intent(in) | npalloc, |
| logical, intent(in) | nl_inplace, | ||
| integer, intent(in) | ndim, | ||
| real(kind=r8), intent(in) | xmin, | ||
| real(kind=r8), intent(in) | xmax, | ||
| integer, intent(in) | nx, | ||
| real(kind=r8), intent(in), optional | ymin, | ||
| real(kind=r8), intent(in), optional | ymax, | ||
| integer, intent(in), optional | ny, | ||
| real(kind=r8), intent(in), optional | zmin, | ||
| real(kind=r8), intent(in), optional | zmax, | ||
| integer, intent(in), optional | nz ) |
Sorting constructor.
| [in] | npalloc | Maximal number of markers that will be sorted |
| [in] | nl_inplace | Apply in-place sorting |
| [in] | ndim | Number of dimensions |
| [in] | xmin | Lower bound of first dimension |
| [in] | xmax | Upper bound of first dimension |
| [in] | nx | Number of bins in first dimension |
| [in] | ymin | Lower bound of second dimension if ndim>=2 |
| [in] | ymax | Upper bound of second dimension if ndim>=2 |
| [in] | ny | Number of bins in second dimension if ndim>=2 |
| [in] | zmin | Lower bound of third dimension if ndim>=3 |
| [in] | zmax | Upper bound of third dimension if ndim>=3 |
| [in] | nz | Number of bins in third dimension if ndim>=3 |
| procedure sorting_mod::sorting_class::init_gpu | ( | class(sorting_class), intent(inout) | sorting | ) |
Allocate arrays on GPU (to be called after constructor).
| integer, dimension(:,:), allocatable sorting_mod::sorting_class::counts |
Number of markers per bin (last element contains out-of-bounds markers).
| integer, dimension(:), allocatable sorting_mod::sorting_class::dest |
Index of each marker destination bin.
| integer, dimension(:,:), allocatable sorting_mod::sorting_class::displs |
Offset in marker array to access markers in a bin (first element is zero).
| real(kind=r8) sorting_mod::sorting_class::dx_inv |
Inverse bin length in first dimension.
| real(kind=r8) sorting_mod::sorting_class::dy_inv |
Inverse bin length in second dimension.
| real(kind=r8) sorting_mod::sorting_class::dz_inv |
Inverse bin length in third dimension.
| integer, dimension(:), allocatable sorting_mod::sorting_class::indices |
Particle index in the destination bin.
| integer, dimension(:), allocatable sorting_mod::sorting_class::inv_permut |
Permutation to go back to unsorted from sorted array.
| integer sorting_mod::sorting_class::ndim |
Number of dimensions.
| integer sorting_mod::sorting_class::npalloc |
Maximal number of markers that will be sorted.
| integer sorting_mod::sorting_class::nx |
Number of bins in first dimension.
| integer sorting_mod::sorting_class::ny |
Number of bins in second dimension.
| integer sorting_mod::sorting_class::nz |
Number of bins in third dimension.
| integer, dimension(:), allocatable sorting_mod::sorting_class::permut |
Permutation to go from unsorted to sorted array.
| integer(i8), dimension(:), allocatable sorting_mod::sorting_class::work_integer8 |
Integer8 working array for in-place sorting.
| logical, dimension(:), allocatable sorting_mod::sorting_class::work_logical |
Logical working array for in-place sorting.
| real(kind=r8), dimension(:), allocatable sorting_mod::sorting_class::work_real |
Real working array for in-place sorting.
| real(r4), dimension(:), allocatable sorting_mod::sorting_class::work_real4 |
Real4 working array for in-place sorting.
| real(kind=r8) sorting_mod::sorting_class::xmin |
Lower bound of first dimension.
| real(kind=r8) sorting_mod::sorting_class::ymin |
Lower bound of second dimension.
| real(kind=r8) sorting_mod::sorting_class::zmin |
Lower bound of third dimension.