32 #ifndef _chemistry_qc_mbptr12_r12inteval_h
33 #define _chemistry_qc_mbptr12_r12inteval_h
35 #include <util/ref/ref.h>
36 #include <chemistry/qc/mbptr12/vxb_eval_info.h>
37 #include <chemistry/qc/mbptr12/linearr12.h>
38 #include <chemistry/qc/mbptr12/r12_amps.h>
55 RefSCMatrix Vaa_, Vab_, Xaa_, Xab_, Baa_, Bab_, Aaa_, Aab_, T2aa_, T2ab_;
65 LinearR12::ABSMethod abs_method_;
66 LinearR12::StandardApproximation stdapprox_;
70 bool follow_ks_ebcfree_;
74 typedef std::map<std::string, Ref<TwoBodyMOIntsTransform> > TformMap;
83 void form_focc_space_();
87 void form_factocc_space_();
91 void form_canonvir_space_();
96 void init_intermeds_();
98 void r2_contrib_to_X_orig_();
100 void r2_contrib_to_X_new_();
115 void checkpoint_()
const;
121 const int tasks_with_ints_(
const Ref<R12IntsAcc> ints_acc, vector<int>& map_to_twi);
128 void contrib_to_VXB_a_symm_(
const std::string& tform_name);
135 void contrib_to_VXB_a_asymm_(
const std::string& tform_name);
138 void obs_contrib_to_VXB_gebc_vbseqobs_();
141 void abs1_contrib_to_VXB_gebc_();
144 void contrib_to_VXB_gebc_vbsneqobs_();
147 void compute_A_simple_();
150 void compute_A_via_commutator_();
159 void AT2_contrib_to_V_();
162 void AR_contrib_to_B_();
166 void compute_B_gbc_1_();
170 void compute_B_gbc_2_();
173 void compute_dualEmp2_();
176 void compute_dualEmp1_();
179 void compute_T2_vbsneqobs_();
187 void compute_amps_();
194 void globally_sum_scmatrix_(
RefSCMatrix& A,
bool to_all_tasks =
false,
bool to_average =
false);
201 void globally_sum_scvector_(
RefSCVector& A,
bool to_all_tasks =
false,
bool to_average =
false);
207 void globally_sum_intermeds_(
bool to_all_tasks =
false);
214 LinearR12::ABSMethod abs_method = LinearR12::ABS_CABSPlus,
215 LinearR12::StandardApproximation stdapprox = LinearR12::StdApprox_Ap,
216 bool follow_ks_ebcfree =
false);
220 virtual void obsolete();
222 void include_mp1(
bool include_mp1);
223 void set_debug(
int debug);
224 void set_dynamic(
bool dynamic);
225 void set_print_percent(
double print_percent);
226 void set_memory(
size_t nbytes);
228 const bool gbc()
const {
return gbc_; }
229 const bool ebc()
const {
return ebc_; }
230 const LinearR12::StandardApproximation stdapprox()
const {
return stdapprox_; }
231 bool follow_ks_ebcfree()
const {
return follow_ks_ebcfree_; }
RefSCMatrix Ac_aa()
Returns alpha-alpha block of the A intermediate matrix. Returns 0 if EBC is assumed.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition: matrix.h:261
RefSCMatrix X_ab()
Returns alpha-beta block of the X intermediate matrix.
RefSCMatrix T2_aa()
Returns alpha-alpha block of the MP2 T2 matrix. Returns 0 if EBC is assumed.
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition: matrix.h:135
A template class that maintains references counts.
Definition: ref.h:332
Ref< R12Amplitudes > amps()
Returns amplitudes of pair correlation functions.
RefSCMatrix V_ab()
Returns alpha-beta block of the V intermediate matrix.
virtual void compute()
This function causes the intermediate matrices to be computed.
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
Definition: matrix.h:380
Restores objects that derive from SavableState.
Definition: statein.h:70
RefSCVector emp2_ab()
Returns alpha-beta MP2 pair energies.
The RefSCDimension class is a smart pointer to an SCDimension specialization.
Definition: dim.h:156
RefSCMatrix A_aa()
Returns alpha-alpha block of the A intermediate matrix. Returns 0 if EBC is assumed.
RefSCMatrix T2_ab()
Returns alpha-beta block of the MP2 T2 matrix. Returns 0 if EBC is assumed.
RefSymmSCMatrix B_ab()
Returns alpha-beta block of the B intermediate matrix.
The RefSCVector class is a smart pointer to an SCVector specialization.
Definition: matrix.h:55
Serializes objects that derive from SavableState.
Definition: stateout.h:61
RefSymmSCMatrix B_aa()
Returns alpha-alpha block of the B intermediate matrix.
RefSCMatrix Ac_ab()
Returns alpha-beta block of the A intermediate matrix. Returns 0 if EBC is assumed.
RefSCMatrix X_aa()
Returns alpha-alpha block of the X intermediate matrix.
Base class for objects that can save/restore state.
Definition: state.h:46
RefSCVector emp2_aa()
Returns alpha-alpha MP2 pair energies.
RefSCMatrix A_ab()
Returns alpha-beta block of the A intermediate matrix. Returns 0 if EBC is assumed.
RefSCMatrix V_aa()
Returns alpha-alpha block of the V intermediate matrix.
R12IntEval is the top-level class which computes intermediates occuring in linear R12 theories.
Definition: r12int_eval.h:46
Generated at Sun Jan 26 2020 23:33:04 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.