28 #ifndef _chemistry_qc_mbpt_mbpt_h 29 #define _chemistry_qc_mbpt_mbpt_h 35 #include <util/group/memory.h> 36 #include <util/group/message.h> 37 #include <util/group/thread.h> 38 #include <chemistry/qc/basis/obint.h> 39 #include <chemistry/qc/basis/tbint.h> 40 #include <chemistry/qc/scf/scf.h> 50 #define ref_to_mp2_acc 100.0 58 int eliminate_in_gmat_;
59 const double *intbuf_;
66 int nvir, nocc, nsocc;
76 double print_percent_;
97 double restart_ecorr_;
98 int restart_orbital_v1_;
99 int restart_orbital_memgrp_;
102 void init_variables();
113 void compute_hsos_v1();
117 int nfuncmax,
int nbfme,
int nshell,
118 int ndocc,
int nsocc,
int nvir,
int nproc);
119 void compute_hsos_v2();
122 void compute_hsos_v2_lb();
125 int compute_cs_batchsize(
size_t mem_static,
int nocc_act);
128 distsize_t compute_cs_dynamic_memory(
int ni,
int nocc_act);
131 void form_max_dens(
double *DPmat,
signed char *maxp);
135 double *DPmat,
const double *mgdbuff);
136 void cs_cphf(
double **scf_vector,
138 void s2pdm_contrib(
const double *intderbuf,
double *PHF,
139 double *P2AO,
double **hf_ginter,
double **ginter);
140 void hcore_cs_grad(
double *PHF,
double *PMP2,
141 double **hf_ginter,
double **ginter);
142 void overlap_cs_grad(
double *WHF,
double *WMP2,
143 double **hf_ginter,
double **ginter);
144 void compute_cs_grad();
235 Ref<SCF> ref() {
return reference_; }
237 double corr_energy();
243 int nfzcore()
const {
return nfzc; };
244 int nfzvirt()
const {
return nfzv; };
249 int gradient_implemented()
const;
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
int value_implemented() const
Information about the availability of values, gradients, and hessians.
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
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
Definition: matrix.h:380
A template class that maintains references counts.
Definition: ref.h:332
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. ...
Definition: matrix.h:261
RefSymmSCMatrix density()
Returns the SO density.
Restores objects that derive from SavableState.
Definition: statein.h:70
int spin_polarized()
Return 1 if the alpha density is not equal to the beta density.
void compute()
Recompute at least the results that have compute true and are not already computed.
static std::ostream & out0()
Return an ostream that writes from node 0.
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition: matrix.h:135
A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet.
Definition: wfn.h:48
The MBPT2 class implements several second-order perturbation theory methods.
Definition: mbpt.h:48
int nelectron()
Returns the number of electrons.
void obsolete()
Marks all results as being out of date.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
void symmetry_changed()
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnerg...