28 #ifndef _chemistry_qc_scf_scf_h 29 #define _chemistry_qc_scf_scf_h 35 #include <util/group/thread.h> 37 #include <math/optimize/scextrap.h> 39 #include <chemistry/qc/basis/tbint.h> 40 #include <chemistry/qc/wfn/accum.h> 41 #include <chemistry/qc/wfn/obwfn.h> 57 int always_use_guess_wfn_;
79 virtual void init_threads();
80 virtual void done_threads();
86 virtual double compute_vector(
double&,
double enuclear);
99 virtual void savestate_iter(
int);
102 virtual void savestate_to_file(
const std::string &filename);
103 std::string previous_savestate_file_;
106 signed char * init_pmax(
double *);
111 enum Access { Read, Write, Accum };
118 virtual void initial_vector(
int needv=1);
129 int *read_occ(
const Ref<KeyVal> &,
const char *name,
int nirrep);
202 virtual int n_fock_matrices()
const =0;
210 virtual double one_body_energy();
211 virtual void two_body_energy(
double &ec,
double &ex);
233 virtual void init_vector() =0;
234 virtual void done_vector() =0;
237 virtual double new_density() =0;
240 virtual void reset_density() =0;
243 virtual double scf_energy() =0;
249 virtual void ao_fock(
double accuracy) =0;
253 virtual void init_gradient() =0;
254 virtual void done_gradient() =0;
258 virtual void two_body_deriv(
double*) =0;
262 virtual void init_hessian() =0;
263 virtual void done_hessian() =0;
268 void svd_product_basis();
void obsolete()
Marks all results as being out of date.
The RefSCVector class is a smart pointer to an SCVector specialization.
Definition: matrix.h:55
The SCF class is the base for all classes that use a self-consistent field procedure to solve an effe...
Definition: scf.h:49
Serializes objects that derive from SavableState.
Definition: stateout.h:61
A OneBodyWavefunction is a MolecularEnergy that solves an effective one-body problem.
Definition: obwfn.h:41
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
Definition: matrix.h:380
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
A template class that maintains references counts.
Definition: ref.h:332
RefDiagSCMatrix eigenvalues()
Returns the MO basis eigenvalues.
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. ...
Definition: matrix.h:261
Restores objects that derive from SavableState.
Definition: statein.h:70
static std::ostream & out0()
Return an ostream that writes from node 0.
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition: matrix.h:135
RefSCMatrix oso_eigenvectors()
Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix.
virtual void compute()
Recompute at least the results that have compute true and are not already computed.
int spin_unrestricted()
Return 1 if the alpha orbitals are not equal to the beta orbitals.
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 symmetry_changed()
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnerg...