MPQC
3.0.0-alpha
|
PsiRASCI is a general (RAS) CI PsiWavefunction. More...
#include <chemistry/qc/psi/psici.h>
Public Member Functions | |
PsiRASCI (const Ref< KeyVal > &keyval) | |
A KeyVal constructor is used to generate a PsiRASCI object from the input. More... | |
PsiRASCI (StateIn &s) | |
void | save_data_state (StateOut &s) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
void | compute () |
Recompute at least the results that have compute true and are not already computed. More... | |
void | print (std::ostream &) const |
Print information about the object. | |
double | magnetic_moment () const |
Computes the S (or J) magnetic moment of the target state(s), in units of . More... | |
const std::vector< unsigned int > & | ras1 () const |
returns vector that specifies the number of RAS1 orbitals in each irrep | |
const std::vector< unsigned int > & | ras2 () const |
returns vector that specifies the number of RAS2 orbitals in each irrep | |
const std::vector< unsigned int > & | ras3 () const |
returns vector that specifies the number of RAS3 orbitals in each irrep | |
unsigned int | ras3_max () const |
returns the maximum number of electrons allowed in RAS3 space | |
RefSymmSCMatrix | mo_density (SpinCase1 spin) |
const Ref< OrbitalSpace > & | orbs_sb (SpinCase1 spin) |
if this is PsiRASSCF this will return RASSCF orbitals | |
const Ref< OrbitalSpace > & | occ (SpinCase1 spin) |
returns occupied OrbitalSpace. More... | |
RefSymmSCMatrix | onepdm_occ (SpinCase1 spin) |
1-pdm in the space reported by occ() | |
RefSymmSCMatrix | twopdm_occ (SpinCase2 spin) |
2-pdm in the space reported by occ() | |
RefSymmSCMatrix | twopdm_occ () |
spin-free 2-pdm in the space reported by occ() | |
Public Member Functions inherited from sc::PsiCorrWavefunction | |
PsiCorrWavefunction (const Ref< KeyVal > &) | |
A KeyVal constructor is used to generate a PsiCorrWavefunction object from the input. More... | |
PsiCorrWavefunction (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) const |
Print information about the object. | |
double | magnetic_moment () const |
Computes the S (or J) magnetic moment of the target state(s), in units of . More... | |
void | set_desired_value_accuracy (double acc) |
sets the desired value accuracy | |
void | compute () |
Recompute at least the results that have compute true and are not already computed. More... | |
void | obsolete () |
Marks all results as being out of date. More... | |
void | symmetry_changed () |
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. | |
RefSymmSCMatrix | density () |
reimplementation of PsiWavefunction::density() | |
const Ref< PsiSCF > & | reference () const |
int | nelectron () |
Number of electrons. | |
unsigned int | nfzc () const |
total # of frozen doubly-occupied orbitals | |
unsigned int | nfzv () const |
total # of frozen unoccupied orbitals | |
const std::vector< unsigned int > & | frozen_docc () const |
const std::vector< unsigned int > & | frozen_uocc () const |
const std::vector< unsigned int > | docc_act () |
const std::vector< unsigned int > | socc () |
const std::vector< unsigned int > | uocc_act () |
const std::vector< unsigned int > | docc () |
const std::vector< unsigned int > | uocc () |
virtual double | reference_energy () |
reference energy | |
RefSymmSCMatrix | mo_density (SpinCase1 spin) |
return one-particel density matrix in symmetry-blocked orbitals More... | |
RefSymmSCMatrix | twopdm_dirac (const SpinCase2 &pairspin) |
produces 2-RDM for spin case pairspin | |
RefSymmSCMatrix | twopdm_dirac () |
produces spin-free 2-RDM | |
void | print_onepdm_vec (FILE *output, const RefSCVector &opdm, double TOL) |
void | print_onepdm_mat (FILE *output, const RefSymmSCMatrix &opdm, double TOL) |
void | print_twopdm_mat (FILE *output, const RefSymmSCMatrix &tpdm, double TOL) |
void | print_twopdm_arr (FILE *output, double *tpdm, double TOL) |
Public Member Functions inherited from sc::PsiWavefunction | |
PsiWavefunction (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
PsiWavefunction (StateIn &) | |
virtual void | write_basic_input (int conv) |
Writes out Psi input file entries specific to this PsiWavefunction. More... | |
int | nirrep () const |
Ref< PsiExEnv > | exenv () const |
Return an associated PsiExEnv object. | |
Ref< PsiInput > | get_psi_input () const |
Return an associated PsiInput object. | |
double | nuclear_repulsion_energy () |
return Psi3 nuclear repulsion energy | |
Public Member Functions inherited from sc::Wavefunction | |
Wavefunction (StateIn &) | |
Wavefunction (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
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... | |
double | density (const SCVector3 &) |
double | density_gradient (const SCVector3 &, double *) |
double | natural_orbital (const SCVector3 &r, int iorb) |
double | natural_orbital_density (const SCVector3 &r, int orb, double *orbval=0) |
double | orbital (const SCVector3 &r, int iorb, const RefSCMatrix &orbs) |
void | orbitals (const SCVector3 &r, const RefSCMatrix &orbs, RefSCVector &values) |
double | orbital_density (const SCVector3 &r, int iorb, const RefSCMatrix &orbs, double *orbval=0) |
double | total_charge () const |
Returns the total charge of the system. | |
virtual RefSymmSCMatrix | ao_density () |
Returns the AO density. | |
virtual RefSCMatrix | natural_orbitals () |
Returns the natural orbitals, in SO basis. | |
virtual RefDiagSCMatrix | natural_density () |
Returns the natural density (a diagonal matrix). | |
int | spin_polarized () |
Return 1 if the magnetic moment != 0. | |
int | dk () const |
Returns the level the of the Douglas-Kroll approximation. | |
virtual RefSymmSCMatrix | alpha_density () |
Return alpha electron densities in the SO basis. | |
virtual RefSymmSCMatrix | beta_density () |
Return beta electron densities in the SO basis. | |
virtual RefSymmSCMatrix | alpha_ao_density () |
Return alpha electron densities in the AO basis. | |
virtual RefSymmSCMatrix | beta_ao_density () |
Return beta electron densities in the AO basis. | |
virtual RefSCMatrix | nao (double *atom_charges=0) |
returns the ao to nao transformation matrix | |
virtual RefSymmSCMatrix | overlap () |
Returns the SO overlap matrix. | |
virtual RefSymmSCMatrix | core_hamiltonian_for_basis (const Ref< GaussianBasisSet > &bas, const Ref< GaussianBasisSet > &pbas=0) |
Returns the SO core Hamiltonian in the given basis and momentum basis. More... | |
virtual RefSymmSCMatrix | core_hamiltonian () |
Returns the SO core Hamiltonian. | |
RefSymmSCMatrix | core_hamiltonian_nr (const Ref< GaussianBasisSet > &bas) |
void | nuclear_repulsion_energy_gradient (double *g) |
Computes the nuclear repulsion gradient. More... | |
virtual void | nuclear_repulsion_energy_gradient (double **g) |
Computes the nuclear repulsion gradient. More... | |
RefSCDimension | ao_dimension () |
Atomic orbital dimension. | |
RefSCDimension | so_dimension () |
Symmetry adapted orbital dimension. | |
RefSCDimension | oso_dimension () |
Orthogonalized symmetry adapted orbital dimension. | |
Ref< SCMatrixKit > | basis_matrixkit () |
Matrix kit for AO, SO, orthogonalized SO, and MO dimensioned matrices. | |
Ref< Molecule > | molecule () const |
Returns the Molecule. | |
Ref< GaussianBasisSet > | basis () const |
Returns the basis set. | |
Ref< GaussianBasisSet > | momentum_basis () const |
Returns the basis used for p^2 in the DK correction. | |
Ref< GaussianBasisSet > | atom_basis () const |
Returns the basis set describing the nuclear charge distributions. | |
const double * | atom_basis_coef () const |
Returns the coefficients of the nuclear charge distribution basis functions. | |
Ref< Integral > | integral () |
Returns the integral evaluator. | |
void | symmetry_changed () |
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. | |
RefSCMatrix | so_to_orthog_so () |
Returns a matrix which does the default transform from SO's to orthogonal SO's. More... | |
RefSCMatrix | so_to_orthog_so_inverse () |
Returns the inverse of the transformation returned by so_to_orthog_so. | |
OverlapOrthog::OrthogMethod | orthog_method () const |
Returns the orthogonalization method. | |
virtual void | set_orthog_method (const OverlapOrthog::OrthogMethod &) |
(Re)Sets the orthogonalization method and makes this obsolete. More... | |
double | lindep_tol () const |
Returns the tolerance for linear dependencies. | |
void | set_lindep_tol (double) |
Re(Sets) the tolerance for linear dependencies. | |
void | obsolete () |
Marks all results as being out of date. More... | |
void | print (std::ostream &=ExEnv::out0()) const |
Print information about the object. | |
void | writeorbitals () |
output orbitals to some files to facilitate plotting, with the help of the WriteOrbital class. | |
Public Member Functions inherited from sc::MolecularEnergy | |
MolecularEnergy (const MolecularEnergy &) | |
MolecularEnergy (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
MolecularEnergy (StateIn &) | |
void | set_checkpoint () |
Set up checkpointing. | |
void | set_checkpoint_file (const char *) |
void | set_checkpoint_freq (int freq) |
bool | if_to_checkpoint () const |
Check if need to checkpoint. | |
const char * | checkpoint_file () const |
int | checkpoint_freq () const |
MolecularEnergy & | operator= (const MolecularEnergy &) |
virtual double | energy () |
A wrapper around value();. | |
virtual RefSCDimension | moldim () const |
void | guess_hessian (RefSymmSCMatrix &) |
Compute a quick, approximate hessian. | |
RefSymmSCMatrix | inverse_hessian (RefSymmSCMatrix &) |
int | gradient_implemented () const |
Reports whether gradient is implemented either analytically or using MolecularGradient object. More... | |
int | hessian_implemented () const |
Reports whether hessian is implemented either analytically or using MolecularHessian object. More... | |
void | set_desired_gradient_accuracy (double acc) |
These functions overload their Function counterparts. More... | |
void | set_desired_hessian_accuracy (double acc) |
void | set_molhess (const Ref< MolecularHessian > &molhess) |
Use this function to provide MolecularHessian object that will be used to compute hessian. More... | |
const Ref< MolecularHessian > & | molhess () const |
RefSymmSCMatrix | hessian () |
Will throw if hessian_implemented() returns 0. | |
void | set_molgrad (const Ref< MolecularGradient > &molgrad) |
Use this function to provide MolecularGradient object that will be used to compute gradient. More... | |
const Ref< MolecularGradient > & | molgrad () const |
RefSCVector | gradient () |
Will throw if gradient_implemented() returns 0. | |
void | set_x (const RefSCVector &) |
Set and retrieve the coordinate values. | |
RefSCVector | get_cartesian_x () |
Return the cartesian coordinates. | |
RefSCVector | get_cartesian_gradient () |
Return the cartesian gradient. | |
RefSymmSCMatrix | get_cartesian_hessian () |
Return the cartesian hessian. | |
Ref< MolecularCoor > | molecularcoor () |
Ref< NonlinearTransform > | change_coordinates () |
An optimizer can call change coordinates periodically to give the function an opportunity to change its coordinate system. More... | |
virtual void | purge () |
This function purges any caches of data in MolecularEnergy. More... | |
const RefSCVector & | electric_field () const |
returns the electric field vector | |
void | print_natom_3 (const RefSCVector &, const char *t=0, std::ostream &o=ExEnv::out0()) const |
Nicely print n x 3 data that are stored in a vector. | |
void | print_natom_3 (double **, const char *t=0, std::ostream &o=ExEnv::out0()) const |
void | print_natom_3 (double *, const char *t=0, std::ostream &o=ExEnv::out0()) const |
Public Member Functions inherited from sc::Function | |
int | gradient_needed () const |
int | do_gradient (int) |
virtual double | actual_gradient_accuracy () const |
virtual double | desired_gradient_accuracy () const |
AccResultRefSCVector & | gradient_result () |
int | hessian_needed () const |
int | do_hessian (int) |
virtual double | actual_hessian_accuracy () const |
virtual double | desired_hessian_accuracy () const |
AccResultRefSymmSCMatrix & | hessian_result () |
virtual bool | desired_value_accuracy_set_to_default () const |
virtual bool | desired_gradient_accuracy_set_to_default () const |
virtual bool | desired_hessian_accuracy_set_to_default () const |
RefSCVector | get_x () const |
const RefSCVector & | get_x_no_copy () const |
void | print_desired_accuracy (std::ostream &=ExEnv::out0()) const |
similar to print(), but only prins desired accuracies | |
virtual bool | throw_if_tolerance_exceeded () const |
Overridden Compute member. | |
Function () | |
Function (StateIn &) | |
Function (const Function &) | |
Function (const Ref< KeyVal > &, double funcacc=DBL_EPSILON, double gradacc=DBL_EPSILON, double hessacc=DBL_EPSILON) | |
The keyval constructor reads the following keywords: More... | |
virtual | ~Function () |
Function & | operator= (const Function &) |
Ref< SCMatrixKit > | matrixkit () const |
Return the SCMatrixKit used to construct vectors and matrices. | |
RefSCDimension | dimension () const |
Return the SCDimension of the problem. | |
virtual double | value () |
Return the value of the function. | |
int | value_needed () const |
Returns nonzero if the current value is not up-to-date. | |
int | do_value (int) |
If passed a nonzero number, compute the value the next time compute() is called. More... | |
AccResultdouble & | value_result () |
virtual double | actual_value_accuracy () const |
Return the accuracy with which the value has been computed. | |
virtual double | desired_value_accuracy () const |
Return the accuracy with which the value is to be computed. | |
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... | |
Protected Member Functions | |
void | write_input (int convergence) |
Prepares a complete Psi input file. The input file is assumed to have been opened. | |
void | write_rasci_input (int convergence, bool rasscf) |
std::vector< unsigned int > | map_density_to_sb () |
returns the index map that transforms indices in which densities are reported in Psi to the symmetry-blocked indices. More... | |
Protected Member Functions inherited from sc::PsiCorrWavefunction | |
void | write_input (int conv) |
Prepares a complete Psi input file. The input file is assumed to have been opened. | |
void | write_input_frozen2restricted (int conv, bool fz2restr) |
double | valacc_to_refacc () const |
Protected Member Functions inherited from sc::PsiWavefunction | |
std::vector< unsigned int > | read_occ (const Ref< KeyVal > &keyval, const char *name, size_t nirrep) |
int | debug () const |
return the debug level | |
Protected Member Functions inherited from sc::Wavefunction | |
double | min_orthog_res () |
double | max_orthog_res () |
void | copy_orthog_info (const Ref< Wavefunction > &) |
Protected Member Functions inherited from sc::MolecularEnergy | |
void | failure (const char *) |
virtual void | set_energy (double) |
This is just a wrapper around set_value(). | |
virtual void | set_gradient (RefSCVector &) |
These are passed gradients and hessian in cartesian coordinates. More... | |
virtual void | set_hessian (RefSymmSCMatrix &) |
void | x_to_molecule () |
void | molecule_to_x () |
virtual bool | analytic_gradient_implemented () const |
must overload this in a derived class if analytic gradient can be computed More... | |
virtual bool | analytic_hessian_implemented () const |
must overload this in a derived class if analytic hessian can be computed More... | |
Protected Member Functions inherited from sc::Function | |
virtual void | set_value (double) |
virtual void | set_matrixkit (const Ref< SCMatrixKit > &) |
Set the SCMatrixKit that should be used to construct the requisite vectors and matrices. | |
virtual void | set_dimension (const RefSCDimension &) |
virtual void | set_actual_value_accuracy (double) |
virtual void | set_actual_gradient_accuracy (double) |
virtual void | set_actual_hessian_accuracy (double) |
RefSCVector & | get_x_reference () |
Get read/write access to the coordinates for modification. | |
void | do_change_coordinates (const Ref< NonlinearTransform > &) |
Change the coordinate system and apply the given transform to intermediates matrices and vectors. | |
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 | |
bool | opdm_print_ |
bool | tpdm_print_ |
print the one-particle density matrix | |
int | root_ |
print the two-particle density matrix | |
int | multiplicity_ |
compute a specific root of the wave function | |
int | nroots_ |
the spin multiplicity of the target state | |
int | target_sym_ |
number of roots for detci calculations | |
int | h0_blocksize_ |
the symmetry (irrep) of the target root | |
bool | repl_otf_ |
block size for the H0 guess | |
int | energy_convergence_ |
do CI string replacements on the fly. saves memory, but is slower. | |
int | convergence_ |
int | maxiter_ |
Ref< OrbitalSpace > | orbs_sb_ [NSpinCases1] |
maxiter for detci | |
Ref< OrbitalSpace > | occ_ [NSpinCases1] |
RefSymmSCMatrix | onepdm_occ_ [NSpinCases1] |
RefSymmSCMatrix | twopdm_occ_ [NSpinCases2] |
RefSymmSCMatrix | twopdm_sf_occ_ |
std::vector< unsigned int > | ras1_ |
std::vector< unsigned int > | ras2_ |
std::vector< unsigned int > | ras3_ |
int | ras1_max_ |
int | ras3_max_ |
double | scf_levelshift_ |
int | scf_stop_levelshift_ |
Psi3 cscf levelshift. | |
Ref< OneBodyWavefunction > | valence_obwfn_ |
number of iterations, for which the levelshift is applied More... | |
std::vector< unsigned int > | moorder_ |
orbital reordering | |
Protected Attributes inherited from sc::PsiCorrWavefunction | |
Ref< PsiSCF > | reference_ |
unsigned int | nfzc_ |
unsigned int | nfzv_ |
std::vector< unsigned int > | frozen_docc_ |
std::vector< unsigned int > | frozen_uocc_ |
RefSymmSCMatrix | mo_density_ [NSpinCases1] |
Protected Attributes inherited from sc::PsiWavefunction | |
Ref< PsiWavefunction > | prerequisite_ |
int | nirrep_ |
size_t | memory_ |
char * | memory_str_ |
bool | compute_1rdm_ |
char * | dertype_ |
Protected Attributes inherited from sc::Wavefunction | |
ResultRefSCMatrix | natural_orbitals_ |
ResultRefDiagSCMatrix | natural_density_ |
Ref< GaussianBasisSet > | gbs_ |
int | debug_ |
Protected Attributes inherited from sc::MolecularEnergy | |
Ref< PointGroup > | initial_pg_ |
int | print_molecule_when_changed_ |
Protected Attributes inherited from sc::Function | |
Ref< SCMatrixKit > | matrixkit_ |
Used to construct new matrices. | |
RefSCVector | x_ |
The variables. | |
RefSCDimension | dim_ |
The dimension of x_. | |
AccResultdouble | value_ |
The value of the function at x_. | |
AccResultRefSCVector | gradient_ |
The gradient at x_. | |
AccResultRefSymmSCMatrix | hessian_ |
The hessian at x_. | |
bool | desired_value_accuracy_set_to_default_ |
bool | desired_gradient_accuracy_set_to_default_ |
bool | desired_hessian_accuracy_set_to_default_ |
bool | throw_if_tolerance_exceeded_ |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::PsiWavefunction | |
static Integral::CartesianOrdering | cartesian_ordering () |
returns the Psi3 convention for the ordering of the cartesian functions | |
Static Public Member Functions inherited from sc::Wavefunction | |
static void | orbitals (const Ref< OrbitalSpace > &orbs, const std::vector< SCVector3 > &r, std::vector< double > &values) |
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) |
PsiRASCI is a general (RAS) CI PsiWavefunction.
A KeyVal constructor is used to generate a PsiRASCI object from the input.
It recognizes all keywords of PsiCorrWavefunction class and the following keywords:
Keyword | Type | Default | Description |
root | integer | 1 | Specifies which state to solve for. The default is the ground state. Value of |
nroots | integer | value of root | Specifies the number of CI vectors to seek. |
multiplicity | integer | multiplicity of the reference object | Specifies the multiplicity of the state to solve for. The default is same as the multiplicity of the reference wave function.
|
valence_obwfn | OneBodyWavefunction | null | This optional keyword specifies an object that will provide the orbital ordering for the initial guess. It is recommended to use an SCF object with the minimal basis needed to express the orbitals used in defining the RAS spaces. For example, for a valence RASSCF this means that SCF with an STO-3G basis will suffice. For states with Rydberg character one may want to choose an appropriate ANO basis set. |
ras1 | array of integers | empty | Specifies the RAS I space. Up to ras1_max electrons can be excited from RAS I. |
ras2 | array of integers | valence_obwfn orbitals - frozen core - RAS1 | Specifies the RAS II space. Any number of electrons is allowed in RAS II |
ras3 | array of integers | all orbitals - frozen core - RAS1 - RAS2 | Specifies the RAS III space. Up to ras3_max electrons may be excited into RAS III. |
ras1_max | integer | 0 | Specifies the maximum number of holes allowed in RAS I. |
ras3_max | integer | 0 | Specifies the maximum number of electrons allowed in RAS III. |
repl_otf | boolean | false | Set to true to avoid precomputing single replacement lists (this makes memory requirement in MRCI lower, at the cost of possibly increased computation time). Not used in RASSCF computations. |
|
virtual |
Recompute at least the results that have compute true and are not already computed.
This should only be called by Result's members.
Implements sc::Compute.
Reimplemented in sc::PsiRASSCF.
|
virtual |
Computes the S (or J) magnetic moment of the target state(s), in units of .
Can be evaluated from density and overlap, as;
but derived Wavefunction may have this value as user input.
Reimplemented from sc::Wavefunction.
|
protectedvirtual |
returns the index map that transforms indices in which densities are reported in Psi to the symmetry-blocked indices.
Single-reference correlated methods in Psi report densities using QT-ordered indices, whereas multireference methods use RAS ordering. The default implementation of this function assumes the former. Overload as necessary.
Reimplemented from sc::PsiCorrWavefunction.
|
virtual |
orbs_sb()
Implements sc::PsiWavefunction.
const Ref<OrbitalSpace>& sc::PsiRASCI::occ | ( | SpinCase1 | spin | ) |
returns occupied OrbitalSpace.
If ras3_max=0 this is a subset of the space reported by orbs_sp(). This space is symmetry-blocked.
|
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::MolecularEnergy.
Reimplemented in sc::PsiRASSCF.
|
protected |
number of iterations, for which the levelshift is applied
This OneBodyWavefunction defines valence orbitals.
Purpose: If a basis set with diffuse functions is used for a RASSCF calculation, there may be energetically low lying diffuse obitals entering the active space if the orbitals are not reordered. The reference wave function helps to find the appropriate reordering by a 'black box' procedure which can be explained as follows. If the basis set of the reference wave function is chosen to be a small or a minimal basis set, it's virtual orbitals a aready a qualitatively good description of the virtual orbitals of the system, without having the problem of orbitals that have to be reordered. Thus, by computing the overlap between the reference and the original wave function, the 'correct' active space orbitals of the orginal wave function are those which show the largest overlap with the corresponding active space orbitals of the reference wave function. This procedure is used as soon as the the "valence_obwfn" keyword is specified.