|
| double * | jmat_shell_block (int i, int I, int J) |
| |
|
bool | jmat_symmetric (int i) const |
| |
| double * | kmat_shell_block (int i, int I, int J) |
| |
|
bool | kmat_symmetric (int i) const |
| |
| const double * | pmat_shell_block (int i, int I, int J) |
| |
| double * | jmat_block (int i, int I, int J) |
| |
| double * | kmat_block (int i, int I, int J) |
| |
| const double * | pmat_block (int i, int I, int J) |
| |
| Ref< ThreadLock > & | get_lock (int i, int Ish, int Jsh) |
| |
|
double * | alloc_scratch (int size) |
| |
|
void | free_scratch (double *data) |
| |
| void | set_fmat (int i, const RefSCMatrix &) |
| |
| void | set_fmat (int i, const RefSymmSCMatrix &) |
| |
| void | set_jmat (int i, const RefSCMatrix &) |
| |
| void | set_jmat (int i, const RefSymmSCMatrix &) |
| |
| void | set_kmat (int i, const RefSCMatrix &) |
| |
| void | set_kmat (int i, const RefSymmSCMatrix &) |
| |
| void | set_pmat (int i, const RefSymmSCMatrix &) |
| |
| void | copy_matrices (int unique_id) |
| | Copy matrices to allow multiple threads to coexist.
|
| |
| void | accum (const Ref< FockContribution > &) |
| | Sum the Fock matrix contributions from different threads.
|
| |
| void | accum_remote (const Ref< MessageGrp > &) |
| | Sum the Fock matrix contributions from different processors.
|
| |
| void | update () |
| | Push the internal Fock matrix data back into the original object.
|
| |
| signed char * | compute_pmax () const |
| | Compute the maximum of the density in each block.
|
| |
| void | activate () |
| |
| void | sync () |
| |
| void | deactivate () |
| |
| void | prefetch_blocks (int I, int J, int ifetch, int nfetch) |
| |
| void | finish_prefetch_blocks () |
| |
| void | set_fockblocks (const Ref< FockBlocks > &blocks_f1, const Ref< FockBlocks > &blocks_f2, const Ref< FockBlocks > &blocks_p) |
| |
| void | flush () |
| |
|
const Ref< FockBuildMatrix > & | jmat (int i) |
| |
|
const Ref< FockBuildMatrix > & | kmat (int i) |
| |
|
const Ref< FockBuildMatrix > & | pmat (int i) |
| |
|
bool | use_shell_blocks () const |
| |
|
| FockContribution (const FockContribution &) |
| |
| virtual void | contrib_e_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| | This routine does not permute any indices.
|
| |
| virtual void | contrib_e_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| | This routine does not permute any indices.
|
| |
|
virtual void | contrib_p12_p13p24_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p12_p13p24_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p34_p13p24_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p34_p13p24_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p12_p34_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p12_p34_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p34_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p34_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p13p24_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual void | contrib_p13p24_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
| virtual void | contrib_all_J (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
| virtual void | contrib_all_K (double factor, int I, int J, int K, int L, int nI, int nJ, int nK, int nL, const double *RESTRICT buf)=0 |
| |
|
virtual Ref< FockContribution > | clone ()=0 |
| |
|
double | nint () const |
| |
|
double & | nint () |
| |
| size_t | identifier () const |
| | Return the unique identifier for this object that can be compared for different objects of different types.
|
| |
|
int | lock_ptr () const |
| | Lock this object.
|
| |
|
int | unlock_ptr () const |
| | Unlock this object.
|
| |
|
void | use_locks (bool inVal) |
| | start and stop using locks on this object
|
| |
|
refcount_t | nreference () const |
| | Return the reference count.
|
| |
|
refcount_t | reference () |
| | Increment the reference count and return the new count.
|
| |
|
refcount_t | dereference () |
| | Decrement the reference count and return the new count.
|
| |
|
int | managed () const |
| | Return 1 if the object is managed. Otherwise return 0.
|
| |
The GenericFockContribution class provides much of the infrastructure needed by FockContribution specializations.
In addition to the members that GenericFockContribution provides, FockContribution classes must have members that actually do the work and sum in the contributions. Due to two electron integral permutation symmetry, one integral may make several contributions. A contrib member exists for each subgroup of the full permutation group.
- void f()
The f member.
A lightweight copy CTOR should also exist for Contribution specializations.