MPQC
3.0.0-alpha
|
RefWavefunction specialization for a single-determinant wave function. More...
#include <chemistry/qc/nbody/ref.h>
Public Member Functions | |
SD_RefWavefunction (const Ref< KeyVal > &kv) | |
A KeyVal constructor is used to generate a SD_RefWavefunction object from a KeyVal object. More... | |
SD_RefWavefunction (const Ref< WavefunctionWorld > &world, const Ref< OneBodyWavefunction > &obwfn, bool spin_restricted=true, unsigned int nfzc=0, unsigned int nfzv=0, Ref< OrbitalSpace > vir_space=0, std::string occ_orbs=std::string("canonical")) | |
construct from a OneBodyWavefunction object More... | |
SD_RefWavefunction (StateIn &) | |
void | save_data_state (StateOut &) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
void | print (std::ostream &os=ExEnv::out0()) const |
Print the object. | |
void | purge () |
purges the data from this object More... | |
bool | sdref () const |
is this a single-determinantal reference? | |
const Ref< OneBodyWavefunction > & | obwfn () const |
const Ref< OrbitalSpace > & | vir_space () const |
const Ref< GaussianBasisSet > & | uocc_basis () const |
returns the basis supporting unoccupied orbitals. The defauls is same as returned by basis(). | |
double | energy () |
double | actual_value_accuracy () const |
Return the accuracy with which the value has been computed. More... | |
double | desired_value_accuracy () const |
bool | desired_value_accuracy_set_to_default () const |
int | nelectron () const |
double | magnetic_moment () const |
bool | spin_restricted () const |
int | dk () const |
Ref< GaussianBasisSet > | momentum_basis () const |
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. More... | |
unsigned int | nfzc () const |
unsigned int | nfzv () const |
RefSymmSCMatrix | ordm (SpinCase1 spin) const |
return the AO basis density | |
Ref< DensityFittingInfo > | dfinfo () const |
which DensityFittingRuntime used to compute this reference wave function | |
const std::string & | occ_orbitals () const |
Public Member Functions inherited from sc::RefWavefunction | |
virtual void | obsolete () |
obsoletes this object More... | |
const Ref< WavefunctionWorld > & | world () const |
const Ref< GaussianBasisSet > & | basis () const |
const Ref< Integral > & | integral () const |
const Ref< OrbitalSpace > & | valence_orbs () const |
This OrbitalSpace defines valence orbitals. More... | |
void | set_desired_value_accuracy (double) |
Set the accuracy to which the value is to be computed. More... | |
bool | spin_polarized () const |
virtual RefSymmSCMatrix | ordm_orbs_sb (SpinCase1 spin) const |
return the density in the orbs_sb() space | |
virtual RefSymmSCMatrix | ordm_occ_sb (SpinCase1 spin) const |
return the density in the occ_sb() space | |
const Ref< OrbitalSpace > & | oso_space () const |
Returns the space of symmetry-blocked orthogonal SOs (spans the entire space of the basis) | |
const Ref< OrbitalSpace > & | orbs_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmetry-blocked MOs of the given spin. | |
const Ref< OrbitalSpace > & | orbs (SpinCase1 spin=AnySpinCase1) const |
Return the space of energy-sorted MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmery-blocked occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ_act_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmery-blocked active occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ_frz_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmery-blocked frozen occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ (SpinCase1 spin=AnySpinCase1) const |
Return the space of occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ_act (SpinCase1 spin=AnySpinCase1) const |
Return the space of active occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | occ_frz (SpinCase1 spin=AnySpinCase1) const |
Return the space of frozen occupied MOs of the given spin. | |
const Ref< OrbitalSpace > & | uocc_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmetry-blocked unoccupied (virtual) MOs of the given spin. | |
const Ref< OrbitalSpace > & | uocc_act_sb (SpinCase1 spin=AnySpinCase1) const |
Return the space of symmetry-blocked active unoccupied (virtual) MOs of the given spin. | |
const Ref< OrbitalSpace > & | uocc (SpinCase1 spin=AnySpinCase1) const |
Return the space of unoccupied (virtual) MOs of the given spin. | |
const Ref< OrbitalSpace > & | uocc_act (SpinCase1 spin=AnySpinCase1) const |
Return the space of active unoccupied (virtual) MOs of the given spin. | |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Member Functions inherited from sc::RefWavefunction | |
bool | use_world_dfinfo () const |
if true, override density fitting settings of RefWavefunction objects with those of WavefunctionWorld in which they live. More... | |
RefWavefunction (const Ref< KeyVal > &kv) | |
A KeyVal constructor is used to generate a RefWavefunction object from a KeyVal object. More... | |
RefWavefunction (StateIn &) | |
RefWavefunction (const Ref< WavefunctionWorld > &world, const Ref< GaussianBasisSet > &basis, const Ref< Integral > &integral, bool use_world_df=false) | |
void | init () const |
initializes the object | |
virtual void | reset () |
calling this will cause the object to be re-initialized next time it is used | |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::RefWavefunction | |
Ref< PopulatedOrbitalSpace > | spinspaces_ [NSpinCases1] |
bool | force_average_AB_rdm1_ |
For spin-free algorithms, if this is true, we would set both alpha/beta 1-rdm to the average of them; defaults to false. | |
RefWavefunction specialization for a single-determinant wave function.
A KeyVal constructor is used to generate a SD_RefWavefunction object from a KeyVal object.
This constructor accepts all keywords of the KeyVal constructor of the RefWavefunction class, plus the additional keywords listed below.
Keyword | Type | Default | Description |
obwfn | OneBodyWavefunction | none | the OneBodyWavefunction object adapted by this wave function. There is no default. |
spin_restricted | boolean | true | If false and obwfn is an open-shell spin-restricted OneBodyWavefunction (
|
nfzc | int | 0 | specifies the total number of doubly-occupied orbitals that will be kept "frozen" in correlated calculations; this keyword is ignored if |
nfzv | int | 0 | specifies the total number of non-occupied orbitals that will be kept "frozen" in correlated calculations; this keyword is ignored if |
vir_basis | GaussianBasisSet | see notes | The basis set that supports the unoccupied orbitals used for expressing the correlated wave function. The default is to use the basis used by obwfn. |
occ_orbitals | string | canonical | The method used to provide the occupied orbitals. This can be |
sc::SD_RefWavefunction::SD_RefWavefunction | ( | const Ref< WavefunctionWorld > & | world, |
const Ref< OneBodyWavefunction > & | obwfn, | ||
bool | spin_restricted = true , |
||
unsigned int | nfzc = 0 , |
||
unsigned int | nfzv = 0 , |
||
Ref< OrbitalSpace > | vir_space = 0 , |
||
std::string | occ_orbs = std::string("canonical") |
||
) |
construct from a OneBodyWavefunction object
world | The WavefunctionWorld in which this objects lives. |
obwfn | The OneBodyWavefunction object that specifies the orbitals |
spin_restricted | If false and obwfn is an open-shell spin-restricted OneBodyWavefunction, will use semicanonical orbitals. The value of this parameter will be ignored for closed-shell and spin-unrestricted open-shell references. |
nfzc | The number of lowest-energy occupied orbitals to be kept inactive |
nfzv | The number of highest-energy unoccupied orbitals to be kept inactive |
vir_space | The space describing the unoccupied orbitals. Default is 0, which means use unoccupied orbitals from obwfn. |
occ_orbs | The method used to provide the occupied orbitals. This can be "pipek-mezey or "canonical". |
N.B. This will feed the FockBuildRuntime in world with the density matrices from obwfn!
|
inlinevirtual |
Return the accuracy with which the value has been computed.
Implements sc::RefWavefunction.
|
virtual |
Returns the SO core Hamiltonian in the given basis and momentum basis.
The momentum basis is not needed if no Douglas-Kroll correction is being performed.
Implements sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
inlinevirtual |
Reimplemented from sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
inlinevirtual |
Implements sc::RefWavefunction.
|
virtual |
purges the data from this object
Reimplemented from sc::RefWavefunction.
|
virtual |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::RefWavefunction.