# sc::DistShellPair Class Reference

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

`#include <distshpair.h>`

List of all members.

## Public Member Functions

| DistShellPair (const Ref< MessageGrp > &, int nthread, int mythread, const Ref< ThreadLock > &lock, const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2, bool dynamic, SharedData *shared=0)
| The DistShellPair class is used to distribute shell pair indices among tasks.
void | init ()
| Resets to the first shell pair.
void | set_debug (int d)
| How much stuff to print out.
void | set_print_percent (double 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.

## Classes

class | SharedData
| This is used to store data that must be shared between all cooperating shell pairs. More...

## Detailed Description

Distributes shell pairs either statically or dynamically.

## Constructor & Destructor Documentation

sc::DistShellPair::DistShellPair | ( | const Ref< MessageGrp > & | ,
|  | int | nthread,
|  | int | mythread,
|  | const Ref< ThreadLock > & | lock,
|  | const Ref< GaussianBasisSet > & | bs1,
|  | const Ref< GaussianBasisSet > & | bs2,
|  | bool | dynamic,
|  | SharedData * | shared = `0` |
| ) |  |  |

The DistShellPair class is used to distribute shell pair indices among tasks.

Both static (round-robin) and dynamic methods are supported.

## Member Function Documentation

int sc::DistShellPair::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 bs1, and Q belongs to bs2. If (bs1 == bs2) then P is greater or equal to Q.

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

- distshpair.h