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;
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition: matrix.h:261
RefSymmSCMatrix density()
Returns the SO density.
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
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
int value_implemented() const
Information about the availability of values, gradients, and hessians.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet.
Definition: wfn.h:48
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
Definition: matrix.h:380
int nelectron()
Returns the number of electrons.
Restores objects that derive from SavableState.
Definition: statein.h:70
The MBPT2 class implements several second-order perturbation theory methods.
Definition: mbpt.h:48
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
int spin_polarized()
Return 1 if the alpha density is not equal to the beta density.
static std::ostream & out0()
Return an ostream that writes from node 0.
void symmetry_changed()
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnerg...
void obsolete()
Marks all results as being out of date.
void compute()
Recompute at least the results that have compute true and are not already computed.
Generated at Sun Jan 26 2020 23:33:04 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.