![]() |
(git:e68414f)
|
Utility methods to build 3-center integral tensors of various types. More...
Data Types | |
| type | distribution_3d_type |
| type | neighbor_list_3c_iterator_type |
| type | neighbor_list_3c_type |
Functions/Subroutines | |
| subroutine, public | distribution_3d_create (dist_3d, dist1, dist2, dist3, nkind, particle_set, mp_comm_3d, own_comm) |
| Create a 3d distribution. | |
| subroutine, public | distribution_3d_destroy (dist) |
| Destroy a 3d distribution. | |
| subroutine, public | distribution_2d_create (dist_2d, dist1, dist2, nkind, particle_set, mp_comm_2d, blacs_env_ext) |
| Create a 2d distribution. This mainly wraps distribution_2d_create for consistency with distribution_3d_create. | |
| subroutine, public | contiguous_tensor_dist (nel, nbin, weights, limits_start, limits_end, dist) |
| contiguous distribution of weighted elements | |
| subroutine, public | create_3c_tensor (t3c, dist_1, dist_2, dist_3, pgrid, sizes_1, sizes_2, sizes_3, map1, map2, name) |
| ... | |
| subroutine, public | create_2c_tensor (t2c, dist_1, dist_2, pgrid, sizes_1, sizes_2, order, name) |
| ... | |
| subroutine, public | split_block_sizes (blk_sizes, blk_sizes_split, max_size) |
| ... | |
| subroutine, public | pgf_block_sizes (atomic_kind_set, basis, min_blk_size, pgf_blk_sizes) |
| ... | |
| subroutine, public | create_tensor_batches (sizes, nbatches, starts_array, ends_array, starts_array_block, ends_array_block) |
| ... | |
Variables | |
| integer, parameter, public | symmetric_none = 0 |
| integer, parameter, public | symmetric_ij = 1 |
| integer, parameter, public | symmetric_jk = 2 |
| integer, parameter, public | symmetrik_ik = 3 |
| integer, parameter, public | symmetric_ijk = 4 |
| integer, parameter, public | default_block_size = 64 |
Utility methods to build 3-center integral tensors of various types.
| subroutine, public qs_tensors_types::distribution_3d_create | ( | type(distribution_3d_type) | dist_3d, |
| integer, dimension(:), intent(in) | dist1, | ||
| integer, dimension(:), intent(in) | dist2, | ||
| integer, dimension(:), intent(in) | dist3, | ||
| integer, intent(in) | nkind, | ||
| type(particle_type), dimension(:), pointer | particle_set, | ||
| type(mp_cart_type), intent(in) | mp_comm_3d, | ||
| logical, intent(in), optional | own_comm | ||
| ) |
Create a 3d distribution.
| dist_3d | 3d distribution object |
| dist1 | distribution vector along 1st process grid dimension |
| dist2 | distribution vector along 2nd process grid dimension |
| dist3 | distribution vector along 3rd process grid dimension |
| nkind | ... |
| particle_set | ... |
| mp_comm_3d | MPI communicator with a 3d cartesian topology |
| own_comm | Whether mp_comm_3d should be owned by dist_3d (default false) |
Definition at line 90 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::distribution_3d_destroy | ( | type(distribution_3d_type) | dist | ) |
Destroy a 3d distribution.
| dist | ... |
Definition at line 134 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::distribution_2d_create | ( | type(distribution_2d_type), pointer | dist_2d, |
| integer, dimension(:), intent(in) | dist1, | ||
| integer, dimension(:), intent(in) | dist2, | ||
| integer, intent(in) | nkind, | ||
| type(particle_type), dimension(:), pointer | particle_set, | ||
| type(mp_cart_type), intent(in), optional | mp_comm_2d, | ||
| type(cp_blacs_env_type), optional, pointer | blacs_env_ext | ||
| ) |
Create a 2d distribution. This mainly wraps distribution_2d_create for consistency with distribution_3d_create.
| dist_2d | 2d distribution object |
| dist1 | distribution vector along 1st process grid dimension |
| dist2 | distribution vector along 2nd process grid dimension |
| nkind | ... |
| particle_set | ... |
| mp_comm_2d | MPI communicator with a 3d cartesian topology |
| blacs_env_ext | ... |
Definition at line 164 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::contiguous_tensor_dist | ( | integer, intent(in) | nel, |
| integer, intent(inout) | nbin, | ||
| integer, dimension(nel), intent(in) | weights, | ||
| integer, dimension(:), intent(out), optional, allocatable | limits_start, | ||
| integer, dimension(:), intent(out), optional, allocatable | limits_end, | ||
| integer, dimension(nel), intent(out), optional | dist | ||
| ) |
contiguous distribution of weighted elements
| nel | ... |
| nbin | ... |
| weights | ... |
| limits_start | ... |
| limits_end | ... |
| dist | ... |
Definition at line 265 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::create_3c_tensor | ( | type(dbt_type), intent(out) | t3c, |
| integer, dimension(:), intent(out), allocatable | dist_1, | ||
| integer, dimension(:), intent(out), allocatable | dist_2, | ||
| integer, dimension(:), intent(out), allocatable | dist_3, | ||
| type(dbt_pgrid_type), intent(in) | pgrid, | ||
| integer, dimension(:), intent(in) | sizes_1, | ||
| integer, dimension(:), intent(in) | sizes_2, | ||
| integer, dimension(:), intent(in) | sizes_3, | ||
| integer, dimension(:), intent(in) | map1, | ||
| integer, dimension(:), intent(in) | map2, | ||
| character(len=*), intent(in) | name | ||
| ) |
...
| t3c | Create 3-center tensor with load balanced default distribution. |
| dist_1 | ... |
| dist_2 | ... |
| dist_3 | ... |
| pgrid | ... |
| sizes_1 | ... |
| sizes_2 | ... |
| sizes_3 | ... |
| map1 | ... |
| map2 | ... |
| name | ... |
Definition at line 334 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::create_2c_tensor | ( | type(dbt_type), intent(out) | t2c, |
| integer, dimension(:), intent(out), allocatable | dist_1, | ||
| integer, dimension(:), intent(out), allocatable | dist_2, | ||
| type(dbt_pgrid_type), intent(in) | pgrid, | ||
| integer, dimension(:), intent(in) | sizes_1, | ||
| integer, dimension(:), intent(in) | sizes_2, | ||
| integer, dimension(:), intent(in), optional | order, | ||
| character(len=*), intent(in) | name | ||
| ) |
...
| t2c | ... |
| dist_1 | ... |
| dist_2 | ... |
| pgrid | ... |
| sizes_1 | ... |
| sizes_2 | ... |
| order | ... |
| name | ... |
Definition at line 381 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::split_block_sizes | ( | integer, dimension(:), intent(in) | blk_sizes, |
| integer, dimension(:), intent(out), allocatable | blk_sizes_split, | ||
| integer, intent(in) | max_size | ||
| ) |
...
| blk_sizes | ... |
| blk_sizes_split | ... |
| max_size | ... |
Definition at line 427 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::pgf_block_sizes | ( | type(atomic_kind_type), dimension(:), pointer | atomic_kind_set, |
| type(gto_basis_set_p_type), dimension(:), intent(in) | basis, | ||
| integer, intent(in) | min_blk_size, | ||
| integer, dimension(:), intent(out), allocatable | pgf_blk_sizes | ||
| ) |
...
| atomic_kind_set | ... |
| basis | ... |
| min_blk_size | ... |
| pgf_blk_sizes | ... |
Definition at line 463 of file qs_tensors_types.F.
| subroutine, public qs_tensors_types::create_tensor_batches | ( | integer, dimension(:), intent(in) | sizes, |
| integer, intent(inout) | nbatches, | ||
| integer, dimension(:), intent(out), allocatable | starts_array, | ||
| integer, dimension(:), intent(out), allocatable | ends_array, | ||
| integer, dimension(:), intent(out), allocatable | starts_array_block, | ||
| integer, dimension(:), intent(out), allocatable | ends_array_block | ||
| ) |
...
| sizes | ... |
| nbatches | ... |
| starts_array | ... |
| ends_array | ... |
| starts_array_block | ... |
| ends_array_block | ... |
Definition at line 520 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::symmetric_none = 0 |
Definition at line 52 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::symmetric_ij = 1 |
Definition at line 52 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::symmetric_jk = 2 |
Definition at line 52 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::symmetrik_ik = 3 |
Definition at line 52 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::symmetric_ijk = 4 |
Definition at line 52 of file qs_tensors_types.F.
| integer, parameter, public qs_tensors_types::default_block_size = 64 |
Definition at line 54 of file qs_tensors_types.F.