30 #ifndef _chemistry_qc_basis_distshpair_h 31 #define _chemistry_qc_basis_distshpair_h 37 #include <util/misc/regtime.h> 38 #include <util/group/message.h> 39 #include <util/group/thread.h> 40 #include <chemistry/qc/basis/basis.h> 54 volatile long int shellpair_;
60 void init() { shellpair_ = 0; }
73 double print_percent_;
81 long int print_interval_;
83 long int current_shellpair_;
103 void init_dynamic_work();
111 bool dynamic, SharedData *shared = 0);
void init()
If this will be used to iterate through the shells again, then init must be called.
Definition: distshpair.h:60
int get_task(int &P, int &Q)
Puts the current PQ shell pair into P and Q and returns 1.
void set_print_percent(double p)
How often to print status from node 0.
Distributes shell pairs either statically or dynamically.
Definition: distshpair.h:47
This is used to store data that must be shared between all cooperating shell pairs.
Definition: distshpair.h:52
A template class that maintains references counts.
Definition: ref.h:332
SharedData()
Construct and initialize.
Definition: distshpair.h:56
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 set_debug(int d)
How much stuff to print out.
Definition: distshpair.h:116
void init()
Resets to the first shell pair.