![]() |
(git:b77b4be)
|
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.