Main Page Class Hierarchy Compound List File List Compound Members Related Pages

# sc::DistShellPairR12 Class Reference

Distributes shell pairs either statically or dynamically. More...

`#include <distsh.h>`

Collaboration diagram for sc::DistShellPairR12:

[legend]
List of all members.

## Public Methods

| DistShellPairR12 (const Ref< MessageGrp > &, int nthread, int mythread, const Ref< ThreadLock > &lock, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2)
| The DistShellPairR12 class is used to distribute shell pair indices among tasks. More...
| ~DistShellPairR12 ()
void | init ()
| Resets to the first shell pair.
void | set_dynamic (int d)
| Whether or not to use dynamic load balancing.
void | set_debug (int d)
| How much stuff to print out.
void | set_print_percent (int p)
| How often to print status from node 0.
int | get_task (int &P, int &Q)
| Puts the current PQ shell pair into P and Q and returns 1. More...

## Detailed Description

Distributes shell pairs either statically or dynamically.

## Constructor & Destructor Documentation

sc::DistShellPairR12::DistShellPairR12 | ( | const Ref< MessageGrp > & | ,
|  | int | nthread,
|  | int | mythread,
|  | const Ref< ThreadLock > & | lock,
|  | const Ref< GaussianBasisSet > & | bs1,
|  | const Ref< GaussianBasisSet > & | bs2
| ) |

| The DistShellPairR12 class is used to distribute shell pair indices among tasks. Both static (round-robin) and dynamic methods are supported. The only difference between DistShellPairR12 and DistShellPair is that the latter assumes both shell indices belong to the same GaussianBasisSet and thus PQ is equivalent to QP.

## Member Function Documentation

int sc::DistShellPairR12::get_task | ( | int & | P,
|  | int & | Q
| ) |

| Puts the current PQ shell pair into P and Q and returns 1. When there are no more shell pairs to be processed by this processor, 0 is returned. Once we start doing get_tasks, we have to go to the end if dynamic load balancing is used. P belongs to bs2, and Q belongs to bs1. If (bs1 == bs2) then P is greater or equal to Q.

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

- 12/distsh.h