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

sc::DistShellPairR12 Class Reference

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

#include <distsh.h>

List of all members.

Public Member Functions

 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.

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.


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:
Generated at Fri Mar 19 10:48:29 2004 for MPQC 2.2.1 using the documentation package Doxygen 1.3.5.