28 #ifndef _mpqc_src_lib_chemistry_qc_psi_psiref_h
29 #define _mpqc_src_lib_chemistry_qc_psi_psiref_h
31 #include <chemistry/qc/nbody/ref.h>
32 #include <chemistry/qc/psi/psiwfn.h>
33 #include <chemistry/qc/psi/psici.h>
54 bool spin_restricted =
true,
55 unsigned int nfzc = 0,
56 unsigned int nfzv = 0,
64 if (vir_space_)
return vir_space_->basis();
65 else return this->basis();
70 bool sdref()
const {
return true; }
71 double energy() {
return scf()->energy(); }
75 int nelectron()
const {
return scf()->nelectron(); }
77 bool spin_restricted()
const {
return spin_restricted_; }
78 int dk()
const {
return 0; }
82 unsigned int nfzc()
const {
return nfzc_; }
83 unsigned int nfzv()
const {
return nfzv_; }
84 RefSymmSCMatrix
ordm(SpinCase1 spin)
const;
85 Ref<DensityFittingInfo>
dfinfo()
const;
88 Ref<OrbitalSpace> vir_space_;
89 bool spin_restricted_;
93 void init_spaces_restricted();
94 void init_spaces_unrestricted();
95 void _set_desired_value_accuracy(
double eps) { scf_->set_desired_value_accuracy(eps); }
115 bool spin_restricted =
true,
116 unsigned int nfzc = 0,
117 unsigned int nfzv = 0,
118 bool omit_uocc =
false);
126 bool sdref()
const {
return false; }
127 double energy() {
return wfn()->energy(); }
133 bool spin_restricted()
const {
return spin_restricted_; }
134 int dk()
const {
return 0; }
138 unsigned int nfzc()
const {
return nfzc_; }
139 unsigned int nfzv()
const {
return nfzv_; }
140 bool omit_uocc()
const {
return omit_uocc_; }
141 RefSymmSCMatrix
ordm(SpinCase1 spin)
const;
142 Ref<DensityFittingInfo>
dfinfo()
const;
145 bool spin_restricted_;
150 void _set_desired_value_accuracy(
double eps) { wfn_->set_desired_value_accuracy(eps); }
155 #endif // end of header guard
RefSymmSCMatrix core_hamiltonian_for_basis(const Ref< GaussianBasisSet > &basis, const Ref< GaussianBasisSet > &p_basis)
Returns the SO core Hamiltonian in the given basis and momentum basis.
RefSymmSCMatrix ordm(SpinCase1 spin) const
return the AO basis density
RefSymmSCMatrix ordm(SpinCase1 spin) const
return the AO basis density
bool desired_value_accuracy_set_to_default() const
Definition: psiref.h:74
double energy()
Definition: psiref.h:71
int dk() const
Definition: psiref.h:134
int nelectron() const
Definition: psiref.h:75
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition: matrix.h:265
double energy()
Definition: psiref.h:127
PsiSCF_RefWavefunction(const Ref< WavefunctionWorld > &world, const Ref< PsiSCF > &scf, bool spin_restricted=true, unsigned int nfzc=0, unsigned int nfzv=0, Ref< OrbitalSpace > vir_space=0)
construct from a PsiSCF object
RefWavefunction specialization initialized with a PsiSCF wave function.
Definition: psiref.h:38
A template class that maintains references counts.
Definition: ref.h:361
Ref< GaussianBasisSet > momentum_basis() const
Definition: psiref.h:79
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
double actual_value_accuracy() const
Return the accuracy with which the value has been computed.
Definition: psiref.h:128
int dk() const
Definition: psiref.h:78
Ref< DensityFittingInfo > dfinfo() const
which DensityFittingRuntime used to compute this reference wave function
PsiRASCI_RefWavefunction(const Ref< WavefunctionWorld > &world, const Ref< PsiRASCI > &wfn, bool spin_restricted=true, unsigned int nfzc=0, unsigned int nfzv=0, bool omit_uocc=false)
construct from a PsiRASCI object
bool sdref() const
is this a single-determinantal reference?
Definition: psiref.h:70
RefSymmSCMatrix core_hamiltonian_for_basis(const Ref< GaussianBasisSet > &basis, const Ref< GaussianBasisSet > &p_basis)
Returns the SO core Hamiltonian in the given basis and momentum basis.
void print(std::ostream &os=ExEnv::out0()) const
Print the object.
double desired_value_accuracy() const
Definition: psiref.h:73
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
int nelectron() const
Definition: psiref.h:131
double actual_value_accuracy() const
Return the accuracy with which the value has been computed.
Definition: psiref.h:72
Definition: stateout.h:71
double magnetic_moment() const
Definition: psiref.h:76
bool sdref() const
is this a single-determinantal reference?
Definition: psiref.h:126
double magnetic_moment() const
Definition: psiref.h:132
bool desired_value_accuracy_set_to_default() const
Definition: psiref.h:130
Ref< DensityFittingInfo > dfinfo() const
which DensityFittingRuntime used to compute this reference wave function
RefWavefunction represents the reference wave function (or, more generally, a state) used as a starti...
Definition: ref.h:159
static std::ostream & out0()
Return an ostream that writes from node 0.
Ref< GaussianBasisSet > momentum_basis() const
Definition: psiref.h:135
RefWavefunction specialization for a general restricted-active-space multiconfiguration wave function...
Definition: psiref.h:99
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
double desired_value_accuracy() const
Definition: psiref.h:129
void print(std::ostream &os=ExEnv::out0()) const
Print the object.
const Ref< GaussianBasisSet > & uocc_basis() const
returns the basis supporting unoccupied orbitals. The defauls is same as returned by basis().
Definition: psiref.h:63
Generated at Sun Jan 26 2020 23:23:59 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.