MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::FockContribution Class Referenceabstract
Inheritance diagram for sc::FockContribution:
sc::RefCount sc::GenericFockContribution sc::CLHFContribution sc::HSOSHFContribution

Public Member Functions

 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< FockContributionclone ()=0
 
virtual void set_fmat (int i, const RefSCMatrix &)=0
 
virtual void set_fmat (int i, const RefSymmSCMatrix &)=0
 
virtual void set_jmat (int i, const RefSCMatrix &)=0
 
virtual void set_jmat (int i, const RefSymmSCMatrix &)=0
 
virtual void set_kmat (int i, const RefSCMatrix &)=0
 
virtual void set_kmat (int i, const RefSymmSCMatrix &)=0
 
virtual void set_pmat (int i, const RefSymmSCMatrix &)=0
 
virtual double * jmat_shell_block (int i, int Ish, int Jsh)=0
 
virtual double * kmat_shell_block (int i, int Ish, int Jsh)=0
 
virtual const double * pmat_shell_block (int i, int Ish, int Jsh)=0
 
virtual double * jmat_block (int i, int Ish, int Jsh)=0
 
virtual double * kmat_block (int i, int Ish, int Jsh)=0
 
virtual const double * pmat_block (int i, int Ish, int Jsh)=0
 
virtual signed char * compute_pmax () const =0
 Compute the maximum of the density in each block.
 
virtual void copy_matrices (int unique_id)=0
 Copy matrices to allow multiple threads to coexist.
 
virtual void accum (const Ref< FockContribution > &)=0
 Sum the Fock matrix contributions from different threads.
 
virtual void accum_remote (const Ref< MessageGrp > &)=0
 Sum the Fock matrix contributions from different processors.
 
virtual void update ()=0
 Push the internal Fock matrix data back into the original object.
 
double nint () const
 
double & nint ()
 
virtual void activate ()=0
 
virtual void sync ()=0
 
virtual void deactivate ()=0
 
virtual void flush ()=0
 
virtual void prefetch_blocks (int I, int J, int ifetch, int nfetch)=0
 
virtual void finish_prefetch_blocks ()=0
 
virtual void set_fockblocks (const Ref< FockBlocks > &blocks_f1, const Ref< FockBlocks > &blocks_f2, const Ref< FockBlocks > &blocks_p)=0
 
virtual Ref< ThreadLock > & get_lock (int i, int I, int J)=0
 
- 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.
 
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.
 

Protected Attributes

double nint_
 

Additional Inherited Members

- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Member Function Documentation

◆ accum()

virtual void sc::FockContribution::accum ( const Ref< FockContribution > & )
pure virtual

Sum the Fock matrix contributions from different threads.

The passed specialization type must be the same as the specialization of this.

Implemented in sc::GenericFockContribution.

◆ accum_remote()

virtual void sc::FockContribution::accum_remote ( const Ref< MessageGrp > & )
pure virtual

Sum the Fock matrix contributions from different processors.

This might be a no-op for distributed matrices.

Implemented in sc::GenericFockContribution.

◆ compute_pmax()

virtual signed char * sc::FockContribution::compute_pmax ( ) const
pure virtual

Compute the maximum of the density in each block.

The pmax vector holds only the unique elements.

Implemented in sc::GenericFockContribution.

◆ contrib_all_J()

virtual void sc::FockContribution::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 )
pure virtual

◆ contrib_all_K()

virtual void sc::FockContribution::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 )
pure virtual

◆ contrib_e_J()

virtual void sc::FockContribution::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 )
pure virtual

This routine does not permute any indices.

The matrix elements are contracted with the integrals are F_IJ and P_KL. If F is symmetric, then J>I will be ignored. K>=L.

Implemented in sc::CLHFContribution, and sc::HSOSHFContribution.

◆ contrib_e_K()

virtual void sc::FockContribution::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 )
pure virtual

This routine does not permute any indices.

The matrix elements are contracted with the integrals are F_IK and P_JL. If F is symmetric, then K>I will be ignored.

Implemented in sc::CLHFContribution, and sc::HSOSHFContribution.

◆ copy_matrices()

virtual void sc::FockContribution::copy_matrices ( int unique_id)
pure virtual

Copy matrices to allow multiple threads to coexist.

Implemented in sc::GenericFockContribution.

◆ update()

virtual void sc::FockContribution::update ( )
pure virtual

Push the internal Fock matrix data back into the original object.

Implemented in sc::GenericFockContribution.


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

Generated at Wed Sep 25 2024 02:45:32 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.