MPQC
3.0.0-alpha
|
Computes components of the Fock matrix necessary for closed-shell calculations (i.e. More...
#include <chemistry/qc/lcao/clhfcontrib.h>
Public Member Functions | |
CLHFContribution (const Ref< GaussianBasisSet > &f_b1, const Ref< GaussianBasisSet > &f_b2, const Ref< GaussianBasisSet > &p_b, const std::string &fockbuildmatrixtype) | |
CLHFContribution (const CLHFContribution &) | |
Ref< FockContribution > | clone () |
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) |
Compute the Coulomb contribution applying no two electron integral permutations. More... | |
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) |
Compute the exchange contribution applying no two electron integral permutations. More... | |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
Compute the Coulomb contribution applying all two electron integral permutations. More... | |
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) |
Compute the exchange contribution applying all two electron integral permutations. More... | |
Public Member Functions inherited from sc::GenericFockContribution | |
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. More... | |
void | accum_remote (const Ref< MessageGrp > &) |
Sum the Fock matrix contributions from different processors. More... | |
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. More... | |
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 |
Public Member Functions inherited from sc::FockContribution | |
FockContribution (const FockContribution &) | |
double | nint () const |
double & | nint () |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
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 |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sc::GenericFockContribution | |
FockBuildMatrix * | fockbuildmatrix (int matrix, const std::string &type, const Ref< MessageGrp > &msg, const Ref< FockBuildAMG > &) |
GenericFockContribution (int nfmat, int npmat, const Ref< GaussianBasisSet > &f_b1, const Ref< GaussianBasisSet > &f_b2, const Ref< GaussianBasisSet > &p_b, const std::string &fockbuildmatrixtype) | |
void | pmax_contrib (const Ref< FockBuildMatrix > &mat, signed char *pmax) const |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::GenericFockContribution | |
int | nfmat_ |
std::vector< Ref< FockBuildMatrix > > | jmats_ |
the number of Fock matrices | |
std::vector< Ref< FockBuildMatrix > > | kmats_ |
std::vector< bool > | k_is_j_ |
int | npmat_ |
std::vector< Ref< FockBuildMatrix > > | pmats_ |
the number of density matrices | |
Ref< GaussianBasisSet > | f_b1_ |
Ref< GaussianBasisSet > | f_b2_ |
Ref< GaussianBasisSet > | p_b_ |
bool | f_b1_equiv_f_b2 |
int | nlocks_ |
std::vector< Ref< ThreadLock > > | locks_ |
std::string | fockbuildmatrixtype_ |
bool | use_shell_blocks_ |
Ref< FockBuildAMG > | fbamg_ |
Protected Attributes inherited from sc::FockContribution | |
double | nint_ |
Computes components of the Fock matrix necessary for closed-shell calculations (i.e.
CLSCF). Requires as input the total AO density matrix P(0). Output matrices are in AO basis. If f_b1 == f_b2 then the output is the skeleton AO matrix that needs to be symmetrized with PetiteList, else the output is the full AO matrix.
|
virtual |
Compute the Coulomb contribution applying all two electron integral permutations.
I, J, K, and L indices must all be unique.
Implements sc::FockContribution.
|
virtual |
Compute the exchange contribution applying all two electron integral permutations.
I, J, K, and L indices must all be unique.
Implements sc::FockContribution.
|
virtual |
Compute the Coulomb contribution applying no two electron integral permutations.
The integrals in buf are the full redundant set (nI*nJ*nK*nL integrals). The computes only the Coulomb contribution to the Fock matrix.
Implements sc::FockContribution.
|
virtual |
Compute the exchange contribution applying no two electron integral permutations.
The integrals in buf are the full redundant set (nI*nJ*nK*nL integrals). The computes only the Coulomb contribution to the Fock matrix.
Implements sc::FockContribution.