28#ifndef _chemistry_qc_wfn_obwfn_h
29#define _chemistry_qc_wfn_obwfn_h
32#include <chemistry/qc/wfn/wfn.h>
33#ifdef MPQC_NEW_FEATURES
34# include <util/misc/xml.h>
52 double *alpha_occupations_;
53 double *beta_occupations_;
62 int form_occupations(
int *&newocc,
const int *oldocc);
193 void orbitals(
const std::vector<SCVector3> & r, std::vector<double>& values,
194 unsigned int first,
unsigned int last,
195 bool energy_ordered =
false);
197 double orbital_density(
const SCVector3& r,
int iorb,
double* orbval = 0);
static std::ostream & out0()
Return an ostream that writes from node 0.
This is useful as an initial guess for other one body wavefunctions. Produces high-spin electron conf...
Definition obwfn.h:205
int spin_unrestricted()
Return 1 if the alpha orbitals are not equal to the beta orbitals.
int value_implemented() const
RefDiagSCMatrix eigenvalues()
Returns the MO basis eigenvalues.
RefSymmSCMatrix density()
Returns the SO density.
double occupation(int irrep, int vectornum)
Returns the occupation.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
RefSCMatrix oso_eigenvectors()
Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix.
HCoreWfn(const Ref< KeyVal > &)
The KeyVal constructor accepts all keywords of OneBodyWavefunction class, plus the following addition...
double magnetic_moment() const
Computes the S (or J) magnetic moment of the target state(s), in units of .
A OneBodyWavefunction is a MolecularEnergy that solves an effective one-body problem.
Definition obwfn.h:44
RefSCMatrix so_to_mo()
These members give metrics and basis transformations using the covariant/contravariant tensor notatio...
virtual RefSCMatrix hcore_guess(RefDiagSCMatrix &val)
Return a guess vector and the eigenvalues.
void symmetry_changed()
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnerg...
OneBodyWavefunction(const Ref< KeyVal > &)
The KeyVal constructor.
virtual RefSCMatrix projected_eigenvectors(const Ref< OneBodyWavefunction > &guess_wfn, int alp=1)
Projects the density (not eigenvalues) of guess_wfn into the current basis set.
RefSCMatrix mo_to_so()
Returns the MO to SO transformation matrix.
virtual double beta_occupation(int irrep, int vectornum)
Returns the beta occupation.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
void set_desired_value_accuracy(double eps)
Overload of Function::set_desired_value_accuracy().
virtual int spin_unrestricted()=0
Return 1 if the alpha orbitals are not equal to the beta orbitals.
virtual double occupation(int irrep, int vectornum)=0
Returns the occupation.
virtual RefDiagSCMatrix eigenvalues()=0
Returns the MO basis eigenvalues.
double orbital(const SCVector3 &r, int iorb)
returns the value of MO iorb at point r. To compute several MOs at several points use orbitals() inst...
double occupation(int vectornum)
Returns the occupation.
RefSCMatrix eigenvectors()
Deprecated.
double alpha_occupation(int vectornum)
Returns the alpha occupation.
virtual double alpha_occupation(int irrep, int vectornum)
Returns the alpha occupation.
RefSCMatrix orthog_so_to_mo()
Returns the orthogonal-SO to MO transformation matrix.
void orbitals(const std::vector< SCVector3 > &r, std::vector< double > &values, unsigned int first, unsigned int last, bool energy_ordered=false)
computes values of MOs in range [first,last] at points r and store them in an array values
RefSCMatrix mo_to_orthog_so()
Returns the MO to orthogonal-SO transformation matrix.
int nelectron()
Returns the number of electrons.
virtual RefDiagSCMatrix projected_eigenvalues(const Ref< OneBodyWavefunction > &guess_wfn, int alp=1)
Imports the eigenvalues of guess_wfn.
virtual RefSCMatrix hcore_guess()
Return a guess vector.
virtual RefSCMatrix oso_eigenvectors()=0
Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix.
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
double beta_occupation(int vectornum)
Returns the beta occupation.
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
Definition matrix.h:389
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition matrix.h:135
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition matrix.h:265
A template class that maintains references counts.
Definition ref.h:361
a 3-element version of SCVector
Definition vector3.h:44
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
A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet.
Definition wfn.h:52
Contains all MPQC code up to version 3.
Definition mpqcin.h:14