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_; }
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_; }
145 bool spin_restricted_;
150 void _set_desired_value_accuracy(
double eps) { wfn_->set_desired_value_accuracy(eps); }
static std::ostream & out0()
Return an ostream that writes from node 0.
RefWavefunction specialization for a general restricted-active-space multiconfiguration wave function...
Definition psiref.h:99
bool desired_value_accuracy_set_to_default() const
Definition psiref.h:130
RefSymmSCMatrix ordm(SpinCase1 spin) const
return the AO basis density
Ref< GaussianBasisSet > momentum_basis() const
Definition psiref.h:135
double actual_value_accuracy() const
Return the accuracy with which the value has been computed.
Definition psiref.h:128
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
Ref< DensityFittingInfo > dfinfo() const
which DensityFittingRuntime used to compute this reference wave function
double magnetic_moment() const
Definition psiref.h:132
double energy()
Definition psiref.h:127
double desired_value_accuracy() const
Definition psiref.h:129
int dk() const
Definition psiref.h:134
int nelectron() const
Definition psiref.h:131
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
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.
bool sdref() const
is this a single-determinantal reference?
Definition psiref.h:126
void print(std::ostream &os=ExEnv::out0()) const
Print the object.
RefWavefunction specialization initialized with a PsiSCF wave function.
Definition psiref.h:38
bool sdref() const
is this a single-determinantal reference?
Definition psiref.h:70
double magnetic_moment() const
Definition psiref.h:76
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 ...
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.
const Ref< GaussianBasisSet > & uocc_basis() const
returns the basis supporting unoccupied orbitals. The defauls is same as returned by basis().
Definition psiref.h:63
void print(std::ostream &os=ExEnv::out0()) const
Print the object.
double desired_value_accuracy() const
Definition psiref.h:73
Ref< DensityFittingInfo > dfinfo() const
which DensityFittingRuntime used to compute this reference wave function
double actual_value_accuracy() const
Return the accuracy with which the value has been computed.
Definition psiref.h:72
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
double energy()
Definition psiref.h:71
bool desired_value_accuracy_set_to_default() const
Definition psiref.h:74
RefSymmSCMatrix ordm(SpinCase1 spin) const
return the AO basis density
int nelectron() const
Definition psiref.h:75
int dk() const
Definition psiref.h:78
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition matrix.h:265
RefWavefunction represents the reference wave function (or, more generally, a state) used as a starti...
Definition ref.h:159
A template class that maintains references counts.
Definition ref.h:361
Restores fundamental and user-defined types from images created with StateOut.
Definition statein.h:79
Serializes fundamental and user-defined types.
Definition stateout.h:71
Contains all MPQC code up to version 3.
Definition mpqcin.h:14