MPQC  3.0.0-alpha
sc::CCR12_Info Class Reference

CCR12_Info is the compilation of members that are used in CC and CC-R12 methods. More...

#include <chemistry/qc/ccr12/ccr12_info.h>

Inheritance diagram for sc::CCR12_Info:
sc::RefCount

Public Member Functions

 CCR12_Info (const Ref< R12WavefunctionWorld > &, const Ref< MemoryGrp > &, size_t, const Ref< SCF >, int, int, int, long, long, int, int, std::string, std::string, int)
 
void print (std::ostream &)
 
double magnetic_moment () const
 
const Ref< R12IntEval > & r12eval () const
 constants used in initialization
 
const Ref< R12WavefunctionWorld > & r12world ()
 
const Ref< SCFref ()
 
bool fixed () const
 
long nirrep () const
 
int nirrep_int () const
 
int nfzc () const
 
int nfzv () const
 
int naoa () const
 
int nava () const
 
int naob () const
 
int navb () const
 
int nria () const
 
int nrib () const
 
int mosyma (int i) const
 
int mosymb (int i) const
 
int cabssyma (int i) const
 
int cabssymb (int i) const
 
long noab () const
 Constants used in amplitude evaluators.
 
long nvab () const
 
long ncab () const
 
long nab () const
 
bool restricted () const
 
long maxtilesize () const
 
long get_sym (long tile) const
 
long get_range (long tile) const
 
long get_spin (long tile) const
 
long get_offset (long tile) const
 
long get_alpha (long tile) const
 
double get_orb_energy (long orb) const
 
Ref< Tensorf1 () const
 
Ref< Tensorv2 () const
 
Ref< Tensort1 () const
 
Ref< Tensort2 () const
 
Ref< Tensorgt2 () const
 
Ref< Tensort3 () const
 
Ref< Tensort4 () const
 
Ref< Tensorfr2 () const
 
Ref< Tensorfd2 () const
 
Ref< Tensorvr2 () const
 
Ref< Tensorvd2 () const
 
Ref< Tensorxs2 () const
 
Ref< Tensorbs2 () const
 
Ref< Tensorps2 () const
 
Ref< Tensorvd2_gen () const
 
Ref< Tensorqy () const
 
Ref< Tensorqx () const
 
Ref< Tensorly () const
 
Ref< Tensorlx () const
 
Ref< Tensorlambda1 () const
 
Ref< Tensorlambda2 () const
 
Ref< Tensorglambda2 () const
 
Ref< Tensorlambda3 () const
 
const Ref< MemoryGrp > & mem () const
 
long irrep_f () const
 
long irrep_v () const
 
long irrep_t () const
 
long irrep_e () const
 
long irrep_y () const
 
void restricted_2 (const long, const long, long &, long &) const
 Functions used in amplitude evaluators.
 
void restricted_4 (const long, const long, const long, const long, long &, long &, long &, long &) const
 
void restricted_6 (const long, const long, const long, const long, const long, const long, long &, long &, long &, long &, long &, long &) const
 
void restricted_8 (const long, const long, const long, const long, const long, const long, const long, const long, long &, long &, long &, long &, long &, long &, long &, long &) const
 
void sort_indices0 (const double *a, double *b, const double facter) const
 
void sort_indices2 (const double *, double *, const long, const long, const int, const int, const double) const
 
void sort_indices4 (const double *, double *, const long, const long, const long, const long, const int, const int, const int, const int, const double) const
 
void sort_indices6 (const double *, double *, const long, const long, const long, const long, const long, const long, const int, const int, const int, const int, const int, const int, const double) const
 
void sort_indices8 (const double *, double *, const long, const long, const long, const long, const long, const long, const long, const long, const int, const int, const int, const int, const int, const int, const int, const int, const double) const
 
void sort_indices_acc6 (const double *, double *, const long, const long, const long, const long, const long, const long, const int, const int, const int, const int, const int, const int, const double) const
 
void sort_indices_acc8 (const double *, double *, const long, const long, const long, const long, const long, const long, const long, const long, const int, const int, const int, const int, const int, const int, const int, const int, const double) const
 
void smith_dgemm (const long, const long, const long, const double, const double *, const long, const double *, const long, const double, double *, const long) const
 
bool need_t1 () const
 Constatnts used in specific (i.e. derived) CC-R12 object.
 
bool need_t2 () const
 
bool need_t3 () const
 
bool need_t4 () const
 
bool need_w1 () const
 
bool need_w2 () const
 
bool need_gt2 () const
 
bool need_FAA () const
 
bool need_VpA () const
 
double get_e (const Ref< Tensor > &)
 Functions used in specific (i.e. derived) CC-R12 object.
 
void jacobi_t1 (const Ref< Tensor > &r1)
 
void jacobi_t1_ (const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_t2 (const Ref< Tensor > &r2)
 
void jacobi_t2_ (const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_t3 (const Ref< Tensor > &r3)
 
void jacobi_t3_ (const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_t4 (const Ref< Tensor > &r4)
 
void jacobi_t4_ (const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_t2_and_gt2 (const Ref< Tensor > &r2, const Ref< Tensor > &gr2)
 
void jacobi_t2_and_gt2_ (const Ref< Tensor > &, Ref< Tensor > &, const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_lambda1 (const Ref< Tensor > &lr1)
 
void jacobi_l1_ (const Ref< Tensor > &, Ref< Tensor > &)
 
void jacobi_lambda2 (const Ref< Tensor > &lr2)
 
void jacobi_l2_ (const Ref< Tensor > &, Ref< Tensor > &)
 
double energy_lagrangian_r2 (const Ref< Tensor > &) const
 Functions for ddot of the tensors in an accurate way (used for energy evaluation).
 
double energy_lagrangian_r3 (const Ref< Tensor > &) const
 
Ref< SCExtrapDataedata (Ref< Tensor > t)
 
Ref< SCExtrapErroreerr (Ref< Tensor > t)
 
void offset_t1 (Ref< Tensor > &, bool)
 offset routines
 
void offset_t2 (Ref< Tensor > &, bool)
 
void offset_gt2 (Ref< Tensor > &, bool)
 
void offset_t3 (Ref< Tensor > &, bool)
 
void offset_t4 (Ref< Tensor > &, bool)
 
void offset_e (Ref< Tensor > &)
 
void offset_x_gen (Ref< Tensor > &t, const bool need_xx, const bool lprint=false)
 
void offset_qy ()
 
void update_qy ()
 
void offset_qx ()
 
void update_qx ()
 
void offset_ly ()
 
void update_ly ()
 
void offset_lx ()
 
void update_lx ()
 
void offset_l1 (Ref< Tensor > &)
 
void offset_l2 (Ref< Tensor > &)
 
void guess_t2 (Ref< Tensor > &d_t2_)
 guess routine
 
void guess_t2_r12 (Ref< Tensor > &d_t2_, Ref< Tensor > &d_gt2_)
 
void guess_lambda1 (Ref< Tensor > &d_lambda1_)
 
void guess_lambda1 ()
 
void guess_lambda2 (Ref< Tensor > &d_lambda2_)
 
void guess_lambda2 ()
 
void guess_glambda2 (Ref< Tensor > &d_glambda2_)
 
void guess_glambda2 ()
 
void fill_in_f1 ()
 fill-in routines
 
void fill_in_v2 ()
 
void fill_in_iiii ()
 
void fill_in_vr_and_vd ()
 
void fill_in_fr_and_fd ()
 
void fill_in_vd2_gen (bool need_cabs, bool need_xx)
 
long momap (long i) const
 utilities for fill-in routines
 
void prod_iiii (const Ref< Tensor > &, const Ref< Tensor > &, Ref< Tensor > &, const bool transpose=false)
 utilities for Lambda contribution in fixed-amp approaches
 
RefSymmSCMatrix B ()
 returns B and X intermediate for perturbative methods etc.
 
RefSymmSCMatrix X ()
 
RefSymmSCMatrix B_ip ()
 
RefSymmSCMatrix X_ip ()
 
Ref< OrbitalSpacecorr_space ()
 
void denom_contraction (const Ref< Tensor > &, Ref< Tensor > &)
 
void prediagon (RefDiagSCMatrix &eigvals, RefSCMatrix &eigvecs)
 
RefSCMatrix lmatrix ()
 
RefDiagSCMatrix bdiag ()
 
- 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...
 

Protected Member Functions

void compute_source_integrals_rhf ()
 
void compute_source_integrals_uhf ()
 
void compute_source_integrals_rhf_r12 ()
 
void compute_corr_space ()
 
void offset_f1 ()
 offset routines for const tensors
 
void offset_v2 ()
 
void offset_vr2 ()
 
void offset_vd2 ()
 
void offset_fr2 ()
 
void offset_fd2 ()
 
void offset_vd2_gen (bool need_cabs, bool need_xx)
 
void set_naocc (int i, int j)
 
void set_navir (int i, int j)
 
void set_ncabs (int i, int j)
 
void set_mosym (std::vector< unsigned int > i, std::vector< unsigned int > j)
 
void set_cabssym (std::vector< unsigned int > i, std::vector< unsigned int > j)
 
void set_fixed (bool fixed)
 
void determine_tilesizes ()
 
int determine_tilesize_each (int, int, int, std::vector< unsigned int > &, bool, int &, int)
 
void determine_maxtilesize (double)
 
void print_tile_info ()
 
void needs ()
 
void orbital_energies ()
 
void transpose (double *dest, const double *source, const int dim1, const int dim2, const double factor)
 utilities for efficient sort_indices(n) to be implemented
 
void transpose_1 (double *dest, const double *source, const int dim1, const int dim2)
 
void form_ad (Ref< Tensor > &out)
 local functions for jacobi_t2_and_gt2_ (i.e. a non-iterative MP2-R12 solver)
 
void form_ca (const Ref< Tensor > &, const Ref< Tensor > &, Ref< Tensor > &)
 
void form_adt (const Ref< Tensor > &, const Ref< Tensor > &, Ref< Tensor > &)
 
void retrieve_B_and_X_ii ()
 
void retrieve_B_and_X_ip ()
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

const Ref< SCFref_
 
const Ref< MemoryGrp > & mem_
 
const std::string theory_
 
const std::string perturbative_
 
Ref< Tensord_f1
 
Ref< Tensord_v2
 
bool need_w2_
 
bool need_w1_
 
Ref< Tensord_t1
 
bool need_t1_
 
Ref< Tensord_t2
 
bool need_t2_
 
Ref< Tensord_gt2
 
bool need_gt2_
 
Ref< Tensord_t3
 
bool need_t3_
 
Ref< Tensord_t4
 
bool need_t4_
 
Ref< Tensord_vr2
 
bool need_VpA_
 
Ref< Tensord_vd2
 
Ref< Tensord_bs2
 
Ref< Tensord_xs2
 
Ref< Tensord_ps2
 
Ref< Tensord_fr2
 
bool need_FAA_
 
bool need_F_
 
Ref< Tensord_fd2
 
Ref< Tensord_vd2_gen
 
Ref< Tensord_qy
 
Ref< Tensord_qx
 
Ref< Tensord_ly
 
Ref< Tensord_lx
 
Ref< Tensord_lambda1
 
Ref< Tensord_lambda2
 
Ref< Tensord_glambda2
 
Ref< Tensord_lambda3
 
Ref< Tensord_lambda4
 
Ref< OrbitalSpacecorr_space_
 
Ref< OrbitalSpaceaobs_space_
 
Ref< OrbitalSpacebobs_space_
 
RefSCMatrix F_ [NSpinCases1]
 
RefSCMatrix FpA_ [NSpinCases1]
 
RefSCMatrix FAp_ [NSpinCases1]
 
Ref< DistArray4pppp_acc_ [NSpinCases2]
 
Ref< R12IntEvalr12int_eval_
 
RefSCMatrix Vgg_ [NSpinCases2]
 
Ref< DistArray4pppA_acc_ [NSpinCases2]
 
Ref< DistArray4iiaA_acc_ [NSpinCases2]
 
long irrep_f_
 
long irrep_v_
 
long irrep_t_
 
long irrep_e_
 
long irrep_y_
 
int maxtilesize_
 
std::vector< long > sym_
 
std::vector< long > range_
 
std::vector< long > spin_
 
std::vector< long > alpha_
 
std::vector< long > offset_
 
long noab_
 
long nvab_
 
long ncab_
 
bool restricted_
 
int nirrep_
 
bool fixed_
 
int nfzc_
 
int nfzv_
 
int naoa_
 
int naob_
 
int nava_
 
int navb_
 
int nria_
 
int nrib_
 
std::vector< unsigned int > mosyma_
 
std::vector< unsigned int > mosymb_
 
std::vector< unsigned int > cabssyma_
 
std::vector< unsigned int > cabssymb_
 
const Ref< R12WavefunctionWorld > & r12world_
 
size_t workmemsize_
 
std::vector< double > orbital_evl_sorted_
 
std::vector< long > orbital_spin_sorted_
 
std::vector< long > orbital_sym_sorted_
 
std::vector< long > momap_
 
RefSymmSCMatrix B_
 B and X intermediate in RefSymmSCMatrix; to be used in a certain class of methods.
 
RefSymmSCMatrix X_
 
RefSymmSCMatrix B_ip_
 
RefSymmSCMatrix X_ip_
 
RefDiagSCMatrix bdiag_
 
RefSCMatrix lmatrix_
 

Detailed Description

CCR12_Info is the compilation of members that are used in CC and CC-R12 methods.

It should be strictly owned by these classes. Usually initialized by CCR12::compute()


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

Generated at Sun Jan 26 2020 23:24:04 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.