32 #ifndef _chemistry_qc_mbptr12_vxbevalinfo_h
33 #define _chemistry_qc_mbptr12_vxbevalinfo_h
36 #include <util/misc/string.h>
37 #include <util/ref/ref.h>
38 #include <math/scmat/abstract.h>
39 #include <util/group/memory.h>
40 #include <chemistry/molecule/energy.h>
41 #include <chemistry/qc/scf/scf.h>
42 #include <chemistry/qc/mbptr12/linearr12.h>
43 #include <chemistry/qc/mbptr12/moindexspace.h>
44 #include <chemistry/qc/mbptr12/transform_factory.h>
58 enum StoreMethod { mem_posix = 0, posix = 1, mem_mpi = 2, mpi = 3, mem_only = 4 };
80 double print_percent_;
83 std::string ints_file_;
84 LinearR12::ABSMethod abs_method_;
103 void construct_ri_basis_(
bool safe);
104 void construct_ri_basis_ks_(
bool safe);
105 void construct_ri_basis_ksplus_(
bool safe);
106 void construct_ri_basis_ev_(
bool safe);
107 void construct_ri_basis_evplus_(
bool safe);
109 void construct_ortho_comp_svd_();
111 bool abs_spans_obs_();
115 void construct_orthog_aux_();
117 void construct_orthog_vir_();
119 void construct_orthog_ri_();
150 Ref<SCF> ref()
const {
return ref_; };
151 Ref<Integral> integral()
const {
return integral_; };
159 Ref<MemoryGrp> mem()
const {
return mem_;};
160 Ref<MessageGrp> msg()
const {
return msg_;};
161 Ref<ThreadGrp> thr()
const {
return thr_;};
163 bool dynamic()
const {
return dynamic_; };
164 double print_percent()
const {
return print_percent_; };
165 int debug_level()
const {
return debug_; };
166 const StoreMethod ints_method()
const {
return ints_method_; };
167 const std::string& ints_file()
const;
168 const size_t memory()
const {
return memory_; };
170 const int nocc()
const {
return nocc_;};
171 const int nocc_act()
const {
return nocc_ - nfzc_;};
172 const int nfzc()
const {
return nfzc_;};
173 const int nvir()
const {
return vir_space_->
rank();};
174 const int nvir_act()
const {
return act_vir_space_->
rank();};
175 const int nfzv()
const {
return nfzv_;};
177 LinearR12::ABSMethod abs_method()
const {
return abs_method_; };
204 const std::string& name,
double lindep_tol);
214 const std::string& name,
double lindep_tol);