tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_partition Module Reference

Work partitioning for externally distributed calculations. More...

Data Types

type  work_partition
 Cyclic partition of the work of an interaction loop. More...

Functions/Subroutines

subroutine, public new_work_partition (error, partition, part, nparts)
 Create a work partition.
elemental logical function, public owns_index (partition, idx)
 Whether this part owns a one-dimensional unit of work.
elemental logical function, public owns_pair (partition, iat, jat)
 Whether this part owns a symmetry-reduced atom pair.

Detailed Description

Work partitioning for externally distributed calculations.

Function/Subroutine Documentation

◆ new_work_partition()

subroutine, public tblite_partition::new_work_partition ( type(error_type), intent(out), allocatable error,
type(work_partition), intent(out) partition,
integer, intent(in) part,
integer, intent(in) nparts )

Create a work partition.

Parameters
[out]errorError handling
[out]partitionNew work partition
[in]partZero-based index of this part
[in]npartsTotal number of parts

◆ owns_index()

elemental logical function, public tblite_partition::owns_index ( type(work_partition), intent(in), optional partition,
integer, intent(in) idx )

Whether this part owns a one-dimensional unit of work.

Parameters
[in]partitionWork partition, absent selects the complete work
[in]idxOne-based index of the unit of work
Returns
Whether this part owns the unit of work

◆ owns_pair()

elemental logical function, public tblite_partition::owns_pair ( type(work_partition), intent(in), optional partition,
integer, intent(in) iat,
integer, intent(in) jat )

Whether this part owns a symmetry-reduced atom pair.

Parameters
[in]partitionWork partition, absent selects the complete work
[in]iatAtom indices of the pair, with jat <= iat
[in]jatAtom indices of the pair, with jat <= iat
Returns
Whether this part owns the pair