Psi4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::dcft::DCFTSolver Class Reference

#include <dcft.h>

Inheritance diagram for psi::dcft::DCFTSolver:
psi::Wavefunction

Public Member Functions

 DCFTSolver (SharedWavefunction ref_wfn, Options &options)
 
 ~DCFTSolver ()
 
double compute_energy ()
 
- Public Member Functions inherited from psi::Wavefunction
 Wavefunction (std::shared_ptr< Molecule > molecule, std::shared_ptr< BasisSet > basis, Options &options)
 Constructor for an entirely new wavefunction with an existing basis. More...
 
 Wavefunction (std::shared_ptr< Molecule > molecule, std::shared_ptr< BasisSet > basis)
 Constructor for an entirely new wavefunction with an existing basis and global options. More...
 
 Wavefunction (Options &options)
 Blank constructor for derived classes. More...
 
void shallow_copy (SharedWavefunction other)
 
void shallow_copy (const Wavefunction *other)
 
void deep_copy (SharedWavefunction other)
 
void deep_copy (const Wavefunction *other)
 
virtual ~Wavefunction ()
 
virtual SharedMatrix compute_hessian ()
 Compute Hessian. Subclasses override this function to compute the Hessian. More...
 
bool same_a_b_orbs () const
 Is this a restricted wavefunction? More...
 
bool same_a_b_dens () const
 
Dimension map_irreps (const Dimension &dimpi)
 
std::shared_ptr< Moleculemolecule () const
 Returns the molecule object that pertains to this wavefunction. More...
 
std::shared_ptr< PSIOpsio () const
 
Optionsoptions () const
 
std::shared_ptr< IntegralFactoryintegral () const
 An integral factory with basisset() on each center. More...
 
std::shared_ptr< BasisSetbasisset () const
 Returns the basis set object that pertains to this wavefunction. More...
 
std::shared_ptr< SOBasisSetsobasisset () const
 Returns the SO basis set object that pertains to this wavefunction. More...
 
std::shared_ptr< BasisSetget_basisset (std::string label)
 Getters and setters for other basis sets. More...
 
void set_basisset (std::string label, std::shared_ptr< BasisSet > basis)
 
bool basisset_exists (std::string label)
 
std::shared_ptr< MatrixFactorymatrix_factory () const
 Returns the MatrixFactory object that pertains to this wavefunction. More...
 
std::shared_ptr< Wavefunctionreference_wavefunction () const
 Returns the reference wavefunction. More...
 
void set_reference_wavefunction (const std::shared_ptr< Wavefunction > wfn)
 Sets the reference wavefunction. More...
 
bool density_fitted () const
 Returns whether this wavefunction was obtained using density fitting or not. More...
 
int get_print () const
 Returns the print level. More...
 
const Dimensiondoccpi () const
 Returns the DOCC per irrep array. More...
 
const Dimensionsoccpi () const
 Returns the SOCC per irrep array. More...
 
const Dimensionnsopi () const
 Returns the number of SOs per irrep array. More...
 
const Dimensionnmopi () const
 Returns the number of MOs per irrep array. More...
 
const Dimensionnalphapi () const
 Returns the number of alpha electrons per irrep array. More...
 
const Dimensionnbetapi () const
 Returns the number of beta electrons per irrep array. More...
 
const Dimensionfrzcpi () const
 Returns the frozen core orbitals per irrep array. More...
 
const Dimensionfrzvpi () const
 Returns the frozen virtual orbitals per irrep array. More...
 
void set_doccpi (const Dimension &doccpi)
 
void set_soccpi (const Dimension &soccpi)
 
void set_frzvpi (const Dimension &frzvpi)
 Sets the frozen virtual orbitals per irrep array. More...
 
int nfrzc () const
 Return the number of frozen core orbitals. More...
 
int nalpha () const
 Return the number of alpha electrons. More...
 
int nbeta () const
 Return the number of beta electrons. More...
 
int nso () const
 Returns the number of SOs. More...
 
int nmo () const
 Returns the number of MOs. More...
 
int nirrep () const
 Returns the number of irreps. More...
 
double reference_energy () const
 Returns the reference energy. More...
 
double efzc () const
 Returns the frozen-core energy. More...
 
void set_efzc (double efzc)
 Sets the frozen-core energy. More...
 
SharedMatrix S () const
 Returns the overlap matrix. More...
 
SharedMatrix H () const
 Returns the core Hamiltonian matrix. More...
 
SharedMatrix Ca () const
 Returns the alpha electrons MO coefficients. More...
 
SharedMatrix Cb () const
 Returns the beta electrons MO coefficients. More...
 
SharedMatrix Fa () const
 Returns the (SO basis) alpha Fock matrix. More...
 
SharedMatrix Fb () const
 Returns the (SO basis) beta Fock matrix. More...
 
std::shared_ptr< Vectorepsilon_a () const
 Returns the alpha orbital energies. More...
 
std::shared_ptr< Vectorepsilon_b () const
 Returns the beta orbital energies. More...
 
std::shared_ptr< MatrixLagrangian () const
 Returns the SO basis Lagrangian. More...
 
virtual std::shared_ptr< Matrixtpdm_gradient_contribution () const
 The two particle density matrix contribution to the gradient. More...
 
SharedMatrix aotoso () const
 
const SharedMatrix Da () const
 Returns the alpha OPDM for the wavefunction. More...
 
SharedMatrix Db () const
 Returns the beta OPDM for the wavefunction. More...
 
SharedMatrix Ca_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedMatrix Cb_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
OrbitalSpace alpha_orbital_space (const std::string &id, const std::string &basis="SO", const std::string &subset="ALL")
 Creates an OrbitalSpace object containing information about the request alpha orbital space. More...
 
OrbitalSpace beta_orbital_space (const std::string &id, const std::string &basis="SO", const std::string &subset="ALL")
 Creates an OrbitalSpace object containing information about the request beta orbital space. More...
 
SharedMatrix Da_subset (const std::string &basis="SO")
 
SharedMatrix Db_subset (const std::string &basis="SO")
 
SharedMatrix D_subset_helper (SharedMatrix D, SharedMatrix C, const std::string &basis)
 
SharedVector epsilon_a_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedVector epsilon_b_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedMatrix basis_projection (SharedMatrix Cold, Dimension noccpi, std::shared_ptr< BasisSet > old_basis, std::shared_ptr< BasisSet > new_basis)
 
SharedMatrix X () const
 Returns the Lagrangian in SO basis for the wavefunction. More...
 
SharedMatrix gradient () const
 Returns the gradient. More...
 
void set_gradient (SharedMatrix &grad)
 Set the gradient for the wavefunction. More...
 
SharedMatrix hessian () const
 Returns the Hessian. More...
 
void set_hessian (SharedMatrix &hess)
 Set the Hessian for the wavefunction. More...
 
std::shared_ptr< std::vector
< double > > 
atomic_point_charges () const
 Returns the atomic point charges. More...
 
std::shared_ptr< Vectorget_atomic_point_charges () const
 Returns the atomic point charges in Vector form for python output. More...
 
void set_atomic_point_charges (const std::shared_ptr< std::vector< double >> &apcs)
 Sets the atomic point charges. More...
 
std::shared_ptr< Vectorfrequencies () const
 Returns the frequencies. More...
 
void set_frequencies (std::shared_ptr< Vector > &freqs)
 Set the frequencies for the wavefunction. More...
 
std::shared_ptr< Vectornormalmodes () const
 Returns the normalmodes. More...
 
void set_normalmodes (std::shared_ptr< Vector > &norms)
 Set the normalmodes for the wavefunction. More...
 
void set_name (const std::string &name)
 Set the wavefunction name (e.g. "RHF", "ROHF", "UHF", "CCEnergyWavefunction") More...
 
const std::string & name () const
 Returns the wavefunction name. More...
 
void set_print (unsigned int print)
 
void set_debug (unsigned int debug)
 
virtual void save () const
 Save the wavefunction to checkpoint. More...
 
double get_variable (const std::string key)
 Get and set variables dictionary. More...
 
void set_variable (const std::string key, double value)
 
std::map< std::string, double > variables (void)
 
SharedMatrix get_array (const std::string key)
 Get and set arrays dictionary. More...
 
void set_array (const std::string key, SharedMatrix value)
 
std::map< std::string,
SharedMatrix
arrays (void)
 

Protected Member Functions

void mp2_guess ()
 
void scf_guess ()
 
void finalize ()
 
void transform_integrals ()
 
void transform_core_integrals ()
 
void sort_OOOO_integrals ()
 
void sort_OOVV_integrals ()
 
void sort_VVVV_integrals ()
 
void sort_OVOV_integrals ()
 
void sort_OVVV_integrals ()
 
void sort_OOOV_integrals ()
 
void init ()
 
void compute_dcft_energy ()
 
void compute_cepa0_energy ()
 
void update_cumulant_jacobi ()
 
void compute_scf_energy ()
 
void build_tau_fourth_order ()
 
void build_tau ()
 
void transform_tau ()
 
void build_gtau ()
 
void print_opdm ()
 
void check_n_representability ()
 
void print_orbital_energies ()
 
void build_cumulant_intermediates ()
 
void process_so_ints ()
 
void build_G ()
 
void build_AO_tensors ()
 
void build_denominators ()
 
void update_fock ()
 
void dump_density ()
 
void dpd_buf4_add (dpdbuf4 *A, dpdbuf4 *B, double alpha)
 
void half_transform (dpdbuf4 *A, dpdbuf4 *B, SharedMatrix &C1, SharedMatrix &C2, int *mospi_left, int *mospi_right, int **so_row, int **mo_row, bool backwards, double alpha, double beta)
 
void file2_transform (dpdfile2 *A, dpdfile2 *B, SharedMatrix C, bool backwards)
 
void AO_contribute (dpdbuf4 *tau1_AO, dpdbuf4 *tau2_AO, int p, int q, int r, int s, double value, dpdfile2 *=NULL, dpdfile2 *=NULL, dpdfile2 *=NULL)
 
bool correct_mo_phases (bool dieOnError=true)
 
double compute_cumulant_residual ()
 
double compute_scf_error_vector ()
 
double update_scf_density (bool damp=false)
 
void run_twostep_dcft ()
 
int run_twostep_dcft_cumulant_updates ()
 
void run_twostep_dcft_orbital_updates ()
 
void run_simult_dcft ()
 
void run_simult_dcft_oo ()
 
virtual SharedMatrix compute_gradient ()
 Compute gradient. Subclasses override this function to compute the gradient. More...
 
void compute_gradient_dc ()
 
void compute_gradient_odc ()
 
void response_guess ()
 
void gradient_init ()
 
void compute_lagrangian_OV ()
 
void compute_lagrangian_VO ()
 
void iterate_orbital_response ()
 
void orbital_response_guess ()
 
void compute_orbital_response_intermediates ()
 
double update_orbital_response ()
 
double compute_response_coupling ()
 
void iterate_cumulant_response ()
 
void cumulant_response_guess ()
 
void build_perturbed_tau ()
 
void compute_cumulant_response_intermediates ()
 
double compute_cumulant_response_residual ()
 
void update_cumulant_response ()
 
void compute_lagrangian_OO ()
 
void compute_lagrangian_VV ()
 
void compute_ewdm_dc ()
 
void compute_ewdm_odc ()
 
void compute_relaxed_density_OOOO ()
 
void compute_relaxed_density_OOVV ()
 
void compute_relaxed_density_OVOV ()
 
void compute_relaxed_density_VVVV ()
 
void compute_TPDM_trace ()
 
void run_qc_dcft ()
 
void compute_orbital_gradient ()
 
void form_idps ()
 
void compute_sigma_vector ()
 
void compute_sigma_vector_orb_orb ()
 
void compute_sigma_vector_orb_cum ()
 
void compute_sigma_vector_cum_cum ()
 
void compute_sigma_vector_cum_orb ()
 
int iterate_nr_conjugate_gradients ()
 
int iterate_nr_jacobi ()
 
void check_qc_convergence ()
 
void compute_orbital_rotation_nr ()
 
void update_cumulant_nr ()
 
void run_davidson ()
 
void davidson_guess ()
 
void refine_tau ()
 
void form_density_weighted_fock ()
 
void compute_G_intermediate ()
 
void compute_F_intermediate ()
 
void compute_V_intermediate ()
 
void compute_W_intermediate ()
 
void compute_H_intermediate ()
 
void compute_I_intermediate ()
 
void compute_J_intermediate ()
 
void compute_K_intermediate ()
 
void compute_L_intermediate ()
 
void compute_O_intermediate ()
 
void compute_M_intermediate ()
 
void compute_N_intermediate ()
 
void run_simult_dc_guess ()
 
double compute_orbital_residual ()
 
void compute_unrelaxed_density_OOOO ()
 
void compute_unrelaxed_density_OOVV ()
 
void compute_unrelaxed_density_OVOV ()
 
void compute_unrelaxed_density_VVVV ()
 
void compute_orbital_gradient_OV ()
 
void compute_orbital_gradient_VO ()
 
void compute_orbital_rotation_jacobi ()
 
void rotate_orbitals ()
 
void compute_oe_properties ()
 
void write_molden_file ()
 
double compute_three_particle_energy ()
 
void dcft_semicanonicalize ()
 
void transform_integrals_triples ()
 
void dump_semicanonical ()
 
void semicanonicalize_gbar_ovvv ()
 
void semicanonicalize_gbar_ooov ()
 
void semicanonicalize_dc ()
 
double compute_triples_aaa ()
 
double compute_triples_aab ()
 
double compute_triples_abb ()
 
double compute_triples_bbb ()
 
double compute_energy_RHF ()
 
void scf_guess_RHF ()
 
double update_scf_density_RHF (bool damp=false)
 
double compute_scf_error_vector_RHF ()
 
void build_denominators_RHF ()
 
void mp2_guess_RHF ()
 
void transform_integrals_RHF ()
 
void transform_core_integrals_RHF ()
 
void sort_OOOO_integrals_RHF ()
 
void sort_OOVV_integrals_RHF ()
 
void sort_VVVV_integrals_RHF ()
 
void sort_OVOV_integrals_RHF ()
 
void sort_OVVV_integrals_RHF ()
 
void sort_OOOV_integrals_RHF ()
 
void run_simult_dcft_oo_RHF ()
 
void run_simult_dcft_RHF ()
 
void build_tau_RHF ()
 
void refine_tau_RHF ()
 
void transform_tau_RHF ()
 
void process_so_ints_RHF ()
 
void build_cumulant_intermediates_RHF ()
 
void form_density_weighted_fock_RHF ()
 
void compute_F_intermediate_RHF ()
 
double compute_cumulant_residual_RHF ()
 
void update_cumulant_jacobi_RHF ()
 
void compute_scf_energy_RHF ()
 
void compute_dcft_energy_RHF ()
 
void compute_orbital_rotation_jacobi_RHF ()
 
double compute_orbital_residual_RHF ()
 
void rotate_orbitals_RHF ()
 
void compute_orbital_gradient_VO_RHF ()
 
void compute_orbital_gradient_OV_RHF ()
 
void compute_unrelaxed_density_VVVV_RHF ()
 
void compute_unrelaxed_density_OVOV_RHF ()
 
void compute_unrelaxed_density_OOVV_RHF ()
 
void compute_unrelaxed_density_OOOO_RHF ()
 
void compute_gradient_RHF ()
 
void gradient_init_RHF ()
 
void compute_gradient_odc_RHF ()
 
void compute_lagrangian_OO_RHF ()
 
void compute_lagrangian_VV_RHF ()
 
void compute_ewdm_odc_RHF ()
 
void print_opdm_RHF ()
 
void compute_R_AA_and_BB ()
 
void presort_mo_tpdm_AB ()
 
void presort_mo_tpdm_AA ()
 
void compute_gradient_UHF ()
 
double compute_energy_UHF ()
 
bool augment_b (double *vec, double tol)
 
void df_build_b_ao ()
 Density-fitted MP2 (DF-MP2) guess. More...
 
void df_memory ()
 Calculate memory required for density-fitting. More...
 
void build_DF_tensors_RHF ()
 Build density-fitted <VV||VV>, <vv||vv>, and <Vv|Vv> tensors in G intermediate. More...
 
void build_DF_tensors_UHF ()
 
void formJm12 (std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< BasisSet > zero)
 Form J(P|Q)^-1/2. More...
 
void formJm12_scf (std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< BasisSet > zero)
 
void formb_ao (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< BasisSet > zero)
 Form AO basis b(Q|mu,nu) More...
 
void formb_ao_scf (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< BasisSet > zero)
 
void transform_b ()
 Transform AO-basis b(Q, mn) to MO-basis b(Q, pq) More...
 
void transform_b_ao2so ()
 Transform b(Q|mu,nu) from AO basis to SO basis. More...
 
void transform_b_ao2so_scf ()
 
void formb_oo ()
 Form MO-basis b(Q, ij) More...
 
void formb_oo_scf ()
 
void formb_ov ()
 Form MO-basis b(Q, ia) More...
 
void formb_vv ()
 Form MO-basis b(Q, ab) More...
 
void formb_pq ()
 Form MO-basis b(Q, pq) More...
 
void formb_pq_scf ()
 
void form_df_g_ovov ()
 Form density-fitted MO-basis TEI g(OV|OV) in chemists' notation. More...
 
void form_df_g_oooo ()
 Form density-fitted MO-basis TEI g(OO|OO) in chemists' notation. More...
 
void form_df_g_vvoo ()
 Form density-fitted MO-basis TEI g(VV|OO) in chemists' notation. More...
 
void form_df_g_vooo ()
 Form density-fitted MO-basis TEI g(VO|OO) in chemists' notation. More...
 
void form_df_g_ovvv ()
 Form density-fitted MO-basis TEI g(OV|VV) in chemists' notation. More...
 
void form_df_g_vvvv ()
 Form density-fitted MO-basis TEI g<VV|VV> in physists' notation. More...
 
void build_gbarGamma_RHF ()
 Form MO-based Gbar*Gamma. More...
 
void build_gbarGamma_UHF ()
 
void build_gbarKappa_RHF ()
 Form MO-based Gbar*Kappa. More...
 
void build_gbarKappa_UHF ()
 
void build_gbarlambda_RHF_v3mem ()
 Form gbar<ab|cd> * lambda <ij|cd> More...
 
void build_gbarlambda_UHF_v3mem ()
 
- Protected Member Functions inherited from psi::Wavefunction
SharedMatrix C_subset_helper (SharedMatrix C, const Dimension &noccpi, SharedVector epsilon, const std::string &basis, const std::string &subset)
 Helpers for C/D/epsilon transformers. More...
 
SharedMatrix F_subset_helper (SharedMatrix F, SharedMatrix C, const std::string &basis)
 
SharedVector epsilon_subset_helper (SharedVector epsilon, const Dimension &noccpi, const std::string &basis, const std::string &subset)
 
std::vector< std::vector< int > > subset_occupation (const Dimension &noccpi, const std::string &subset)
 

Protected Attributes

IntegralTransform_ints
 
bool orbitalsDone_
 Controls convergence of the orbital updates. More...
 
bool cumulantDone_
 Controls convergence of the decnsity cumulant updates. More...
 
bool densityConverged_
 Controls convergence of the idempotent one-particle density. More...
 
bool energyConverged_
 Controls convergence of the DCFT energy. More...
 
bool orbital_optimized_
 Whether the user requested the DCFT functional that is variationally orbitally-optimized. More...
 
bool exact_tau_
 Whether the user requested the DCFT functional that computes the non-idempotent part of the OPDM exactly from the density cumulant. More...
 
int print_
 The amount of information to print. More...
 
int ntriso_
 The number of unique pairs of symmetrized atomic orbitals. More...
 
int nalpha_
 The number of active alpha electrons. More...
 
int nbeta_
 The number of active beta electrons. More...
 
int navir_
 The number of virtual alpha orbitals. More...
 
int nbvir_
 The number of virtual beta orbitals. More...
 
int maxdiis_
 The maximum size of the DIIS subspace. More...
 
int mindiisvecs_
 The number of DIIS vectors needed for extrapolation. More...
 
int maxiter_
 The maximum number of iterations. More...
 
int iter_
 The current number of macroiteration for energy or gradient computation. More...
 
int nidp_
 The total number of independent pairs for the current NR step. More...
 
int orbital_idp_a_
 The number of orbital independent pairs for the current NR step (Alpha spin) More...
 
int orbital_idp_b_
 The number of orbital independent pairs for the current NR step (Beta spin) More...
 
int orbital_idp_
 The total number of orbital independent pairs for the current NR step. More...
 
int cumulant_idp_aa_
 The number of cumulant independent pairs for the current NR step (Alpha-Alpha spin) More...
 
int cumulant_idp_ab_
 The number of cumulant independent pairs for the current NR step (Alpha-Beta spin) More...
 
int cumulant_idp_bb_
 The number of cumulant independent pairs for the current NR step (Beta-Beta spin) More...
 
int cumulant_idp_
 The total number of cumulant independent pairs for the current NR step. More...
 
int dim_
 The maximum number of IDPs ever possible. More...
 
int dim_orbitals_
 The maximum number of IDPs possible for orbital updates. More...
 
int dim_cumulant_
 The maximum number of IDPs possible for cumulant updates. More...
 
int * lookup_orbitals_
 The lookup array that determines which compound indices belong to orbital IDPs and which don't. More...
 
int * lookup_cumulant_
 The lookup array that determines which compound indices belong to cumulant IDPs and which don't. More...
 
int nguess_
 The number of the guess subspace vectors for the Davidson diagonalization. More...
 
int b_dim_
 The dimension of the subspace in the Davidson diagonalization. More...
 
double r_convergence_
 Convergence of the residual in the Davidson diagonalization. More...
 
int n_add_
 The number of vectors that can be added during the iteration in the Davidson diagonalization. More...
 
int nevals_
 The number of eigenvalues requested in the stability check. More...
 
int max_space_
 The maximum size of the subspace in stability check. More...
 
Dimension naoccpi_
 The number of occupied alpha orbitals per irrep. More...
 
Dimension nboccpi_
 The number of occupied beta orbitals per irrep. More...
 
Dimension navirpi_
 The number of virtual alpha orbitals per irrep. More...
 
Dimension nbvirpi_
 The number of virtual beta orbitals per irrep. More...
 
int * aocc_off_
 Alpha occupied MO offset. More...
 
int * avir_off_
 Alpha virtual MO offset. More...
 
int * bocc_off_
 Beta occupied MO offset. More...
 
int * bvir_off_
 Beta virtual MO offset. More...
 
double enuc_
 The nuclear repulsion energy in Hartree. More...
 
double int_tolerance_
 The cutoff below which and integral is assumed to be zero. More...
 
double orbitals_convergence_
 The RMS value of the error vector after the SCF iterations. More...
 
double cumulant_convergence_
 The RMS value of the change in lambda after the lambda iterations. More...
 
double orbital_response_rms_
 The RMS value of the change in the orbital response. More...
 
double cumulant_response_rms_
 The RMS value of the change in the cumulant response. More...
 
double response_coupling_rms_
 The RMS value of the change in the coupling of orbital and cumulant response. More...
 
double cumulant_threshold_
 The convergence criterion for the lambda iterations. More...
 
double orbitals_threshold_
 The convergence criterion for the scf iterations. More...
 
double energy_threshold_
 The convergence criterion for energy. More...
 
double diis_start_thresh_
 The convergence that must be achieved before DIIS extrapolation starts. More...
 
double scf_energy_
 The SCF component of the energy. More...
 
double lambda_energy_
 The Lambda component of the energy. More...
 
double old_total_energy_
 The previous total energy. More...
 
double new_total_energy_
 The updated total energy. More...
 
double regularizer_
 The Tikhonow regularizer used to remove singularities (c.f. Taube and Bartlett, JCP, 2009) More...
 
double orbital_level_shift_
 Level shift for denominators in orbital updates. More...
 
double vec_add_tol_
 The threshold for the norm of the residual part of the subspace (|b'> = |b'> - |b><b|b'>) that is used to augment the subspace. More...
 
double energy_level_shift_
 Level shift applied to the diagonal of the density-weighted Fock operator. More...
 
SharedMatrix aocc_c_
 The alpha occupied eigenvectors, per irrep. More...
 
SharedMatrix bocc_c_
 The beta occupied eigenvectors, per irrep. More...
 
SharedMatrix avir_c_
 The alpha virtual eigenvectors, per irrep. More...
 
SharedMatrix bvir_c_
 The beta virtual eigenvectors, per irrep. More...
 
SharedMatrix tau_so_a_
 The Tau matrix in the AO basis, stored by irrep, to perturb the alpha Fock matrix. More...
 
SharedMatrix tau_so_b_
 The Tau matrix in the AO basis, stored by irrep, to perturb the beta Fock matrix. More...
 
SharedMatrix aocc_tau_
 The Tau matrix in the MO basis (alpha occupied) More...
 
SharedMatrix bocc_tau_
 The Tau matrix in the MO basis (beta occupied) More...
 
SharedMatrix avir_tau_
 The Tau matrix in the MO basis (alpha virtual) More...
 
SharedMatrix bvir_tau_
 The Tau matrix in the MO basis (beta virtual) More...
 
SharedMatrix aocc_ptau_
 The perturbed Tau matrix in the MO basis (alpha occupied) More...
 
SharedMatrix bocc_ptau_
 The perturbed Tau matrix in the MO basis (beta occupied) More...
 
SharedMatrix avir_ptau_
 The perturbed Tau matrix in the MO basis (alpha virtual) More...
 
SharedMatrix bvir_ptau_
 The perturbed Tau matrix in the MO basis (beta virtual) More...
 
SharedMatrix kappa_mo_a_
 The Kappa in the MO basis (alpha occupied) More...
 
SharedMatrix kappa_mo_b_
 The Kappa in the MO basis (beta occupied) More...
 
SharedMatrix ao_s_
 The overlap matrix in the AO basis. More...
 
SharedMatrix so_h_
 The one-electron integrals in the SO basis. More...
 
SharedMatrix moF0a_
 The alpha Fock matrix (without Tau contribution) in the MO basis. More...
 
SharedMatrix moF0b_
 The beta Fock matrix (without Tau contribution) in the MO basis. More...
 
SharedMatrix Fa_
 The alpha Fock matrix in the SO basis. More...
 
SharedMatrix Fb_
 The beta Fock matrix in the SO basis. More...
 
SharedMatrix moFa_
 The alpha Fock matrix in the MO basis. More...
 
SharedMatrix moFb_
 The beta Fock matrix in the MO basis. More...
 
SharedMatrix Ftilde_a_
 The alpha density-weighted Fock matrix in the MO basis. More...
 
SharedMatrix Ftilde_b_
 The beta density-weighted Fock matrix in the MO basis. More...
 
SharedMatrix s_half_inv_
 The inverse square root overlap matrix in the SO basis. More...
 
SharedMatrix old_ca_
 The old full alpha MO coefficients. More...
 
SharedMatrix old_cb_
 The old full beta MO coefficients. More...
 
SharedMatrix kappa_so_a_
 The alpha kappa matrix in the SO basis. More...
 
SharedMatrix kappa_so_b_
 The beta kappa matrix in the SO basis. More...
 
SharedMatrix g_tau_a_
 The alpha external potential in the SO basis. More...
 
SharedMatrix g_tau_b_
 The beta external potential in the SO basis. More...
 
SharedMatrix moG_tau_a_
 The alpha external potential in the MO basis (only needed in two-step algorithm) More...
 
SharedMatrix moG_tau_b_
 The beta external potential in the MO basis (only needed in two-step algorithm) More...
 
SharedMatrix scf_error_a_
 The alpha SCF error vector. More...
 
SharedMatrix scf_error_b_
 The beta SCF error vector. More...
 
SharedMatrix orbital_gradient_a_
 The orbital gradient in the MO basis (Alpha spin) More...
 
SharedMatrix orbital_gradient_b_
 The orbital gradient in the MO basis (Beta spin) More...
 
SharedVector gradient_
 Orbital and cumulant gradient in the basis of IDP. More...
 
SharedVector Hd_
 Contribution of the Fock matrix to the diagonal part of the Hessian. Used as preconditioner for conjugate gradient procedure. More...
 
SharedVector X_
 The step vector in the IDP basis. More...
 
SharedVector sigma_
 Sigma vector in the basis of IDP (the product of the off-diagonal part of the Hessian with the step vector X) More...
 
SharedVector D_
 The conjugate direction vector in the IDP basis for conjugate gradient procedure. More...
 
SharedVector R_
 The residual vector in the IDP basis for conjugate gradient procedure. More...
 
SharedVector S_
 The search direction vector in the IDP basis for conjugate gradient procedure. More...
 
SharedVector Q_
 The new element of Krylov subspace vector in the IDP basis for conjugate gradient procedure. More...
 
SharedMatrix b_
 The subspace vector in the Davidson diagonalization procedure. More...
 
SharedMatrix X_a_
 Generator of the orbital rotations (Alpha) with respect to the orbitals from the previous update. More...
 
SharedMatrix X_b_
 Generator of the orbital rotations (Beta) with respect to the orbitals from the previous update. More...
 
SharedMatrix Xtotal_a_
 Generator of the orbital rotations (Alpha) with respect to the reference orbitals. More...
 
SharedMatrix Xtotal_b_
 Generator of the orbital rotations (Beta) with respect to the reference orbitals. More...
 
std::string indent
 Used to align things in the output. More...
 
std::shared_ptr< BasisSetauxiliary_
 Auxiliary basis. More...
 
std::shared_ptr< BasisSetauxiliary_scf_
 Auxiliary basis for SCF terms in DCT. More...
 
std::shared_ptr< BasisSetprimary_
 Primary basis. More...
 
int nn_
 Number of total primary basis functions. More...
 
int nQ_
 Number of total auxilliary basis functions. More...
 
int nQ_scf_
 
int naocc_
 Number of alpha occupied orbitals. More...
 
double ** Jm12_
 J^-1/2 Matrix. More...
 
double ** Jm12_scf_
 
SharedMatrix bQmn_ao_
 b(Q|mu,nu) More...
 
SharedMatrix bQmn_so_
 
SharedMatrix bQmn_ao_scf_
 
SharedMatrix bQmn_so_scf_
 
SharedMatrix bQijA_mo_
 b(Q|i, j) More...
 
SharedMatrix bQijB_mo_
 
SharedMatrix bQijA_mo_scf_
 
SharedMatrix bQijB_mo_scf_
 
SharedMatrix bQiaA_mo_
 b(Q|i, a) More...
 
SharedMatrix bQiaB_mo_
 
SharedMatrix bQaiA_mo_
 b(Q|a, i) More...
 
SharedMatrix bQaiB_mo_
 
SharedMatrix bQabA_mo_
 b(Q|a, b) More...
 
SharedMatrix bQabB_mo_
 
SharedMatrix bQpqA_mo_
 b(Q|p, q) More...
 
SharedMatrix bQpqB_mo_
 
SharedMatrix bQpqA_mo_scf_
 
SharedMatrix bQpqB_mo_scf_
 
SharedMatrix mo_tauA_
 The Tau in the MO basis (All) More...
 
SharedMatrix mo_tauB_
 
SharedMatrix mo_gbarGamma_A_
 MO-based (Gbar Tau + Gbar Kappa) More...
 
SharedMatrix mo_gbarGamma_B_
 
SharedMatrix mo_gbarKappa_A_
 
SharedMatrix mo_gbarKappa_B_
 
SharedMatrix mo_gammaA_
 MO-based Gamma <r|s> More...
 
SharedMatrix mo_gammaB_
 
- Protected Attributes inherited from psi::Wavefunction
std::string name_
 Name of the wavefunction. More...
 
std::map< std::string,
std::shared_ptr< BasisSet > > 
basissets_
 DF/RI/F12/etc basis sets. More...
 
std::shared_ptr< BasisSetbasisset_
 The ORBITAL basis. More...
 
std::shared_ptr< SOBasisSetsobasisset_
 Primary basis set for SO integrals. More...
 
SharedMatrix AO2SO_
 AO2SO conversion matrix (AO in rows, SO in cols) More...
 
std::shared_ptr< Moleculemolecule_
 Molecule that this wavefunction is run on. More...
 
Optionsoptions_
 Options object. More...
 
std::shared_ptr< PSIOpsio_
 
std::shared_ptr< IntegralFactoryintegral_
 Integral factory. More...
 
std::shared_ptr< MatrixFactoryfactory_
 Matrix factory for creating standard sized matrices. More...
 
std::shared_ptr< Wavefunctionreference_wavefunction_
 
long int memory_
 How much memory you have access to. More...
 
unsigned int debug_
 Debug flag. More...
 
unsigned int print_
 Print flag. More...
 
int nalpha_
 Total alpha and beta electrons. More...
 
int nbeta_
 
int nfrzc_
 Total frozen core orbitals. More...
 
Dimension doccpi_
 Number of doubly occupied per irrep. More...
 
Dimension soccpi_
 Number of singly occupied per irrep. More...
 
Dimension frzcpi_
 Number of frozen core per irrep. More...
 
Dimension frzvpi_
 Number of frozen virtuals per irrep. More...
 
Dimension nalphapi_
 Number of alpha electrons per irrep. More...
 
Dimension nbetapi_
 Number of beta electrons per irrep. More...
 
Dimension nsopi_
 Number of so per irrep. More...
 
Dimension nmopi_
 Number of mo per irrep. More...
 
bool density_fitted_
 Whether this wavefunction was obtained using density fitting. More...
 
double energy_
 The energy associated with this wavefunction. More...
 
double efzc_
 Frozen-core energy associated with this wavefunction. More...
 
int nso_
 Total number of SOs. More...
 
int nmo_
 Total number of MOs. More...
 
int nirrep_
 Number of irreps. More...
 
SharedMatrix S_
 Overlap matrix. More...
 
SharedMatrix H_
 Core Hamiltonian matrix. More...
 
SharedMatrix Horig_
 
SharedMatrix Ca_
 Alpha MO coefficients. More...
 
SharedMatrix Cb_
 Beta MO coefficients. More...
 
SharedMatrix Da_
 Alpha density matrix. More...
 
SharedMatrix Db_
 Beta density matrix. More...
 
SharedMatrix Lagrangian_
 Lagrangian matrix. More...
 
SharedMatrix Fa_
 Alpha Fock matrix. More...
 
SharedMatrix Fb_
 Beta Fock matrix. More...
 
std::shared_ptr< Vectorepsilon_a_
 Alpha orbital eneriges. More...
 
std::shared_ptr< Vectorepsilon_b_
 Beta orbital energies. More...
 
std::vector< void * > precallbacks_
 
std::vector< void * > postcallbacks_
 
SharedMatrix gradient_
 If a gradient is available it will be here: More...
 
SharedMatrix hessian_
 If a Hessian is available it will be here: More...
 
std::shared_ptr< Matrixtpdm_gradient_contribution_
 The TPDM contribution to the gradient. More...
 
std::shared_ptr< std::vector
< double > > 
atomic_point_charges_
 If atomic point charges are available they will be here. More...
 
std::shared_ptr< Vectorfrequencies_
 If frequencies are available, they will be here: More...
 
std::shared_ptr< Vectornormalmodes_
 If normal modes are available, they will be here: More...
 
bool same_a_b_dens_
 Same orbs or dens. More...
 
bool same_a_b_orbs_
 
std::map< std::string, double > variables_
 
std::map< std::string,
SharedMatrix
arrays_
 

Additional Inherited Members

- Static Public Member Functions inherited from psi::Wavefunction
static void initialize_singletons ()
 

Constructor & Destructor Documentation

psi::dcft::DCFTSolver::DCFTSolver ( SharedWavefunction  ref_wfn,
Options options 
)
psi::dcft::DCFTSolver::~DCFTSolver ( )

Member Function Documentation

void psi::dcft::DCFTSolver::AO_contribute ( dpdbuf4 tau1_AO,
dpdbuf4 tau2_AO,
int  p,
int  q,
int  r,
int  s,
double  value,
dpdfile2 s1 = NULL,
dpdfile2 s1b = NULL,
dpdfile2 s2 = NULL 
)
protected
bool psi::dcft::DCFTSolver::augment_b ( double *  vec,
double  tol 
)
protected
void psi::dcft::DCFTSolver::build_AO_tensors ( )
protected

Builds the AO basis tensors for the <VV||VV>, <vv||vv>, and <Vv|Vv> terms in the G and X intermediates

void psi::dcft::DCFTSolver::build_cumulant_intermediates ( )
protected

Builds the intermediate tensors

void psi::dcft::DCFTSolver::build_cumulant_intermediates_RHF ( )
protected

Builds the intermediate tensors

void psi::dcft::DCFTSolver::build_denominators ( )
protected

Consructs the denominators using the diagonal elements of the unperturbed Fock matrix. Also builds the MO coefficient tensors in the alpha/beta, occ/vir spaces.

void psi::dcft::DCFTSolver::build_denominators_RHF ( )
protected

Consructs the denominators using the diagonal elements of the unperturbed Fock matrix. Also builds the MO coefficient tensors in the alpha/beta, occ/vir spaces for RHF reference

void psi::dcft::DCFTSolver::build_DF_tensors_RHF ( )
protected

Build density-fitted <VV||VV>, <vv||vv>, and <Vv|Vv> tensors in G intermediate.

Compute the density-fitted ERI <vv||vv> tensors in G intermediates and contract with lambda_ijcd. Compute the density-fitted ERI <qs|pr> tensors and contract with gamma<r|s>

void psi::dcft::DCFTSolver::build_DF_tensors_UHF ( )
protected

Compute the density-fitted ERI <vv||vv> tensors in G intermediates and contract with lambda_ijcd. Compute the density-fitted ERI <qs|pr> tensors and contract with gamma<r|s>

void psi::dcft::DCFTSolver::build_G ( )
protected

Builds the G matrix for Fock matrix, the external potential (tau contracted with the integrals) and other tensors, if requested, out-of-core using the SO integrals. All quantities are built simultaneously to reduce I/O.

void psi::dcft::DCFTSolver::build_gbarGamma_RHF ( )
protected

Form MO-based Gbar*Gamma.

Form MO-based contraction [Gbar*Gamma]<q|p> [Gbar*Gamma]<q|p> = Sum_rs Gbar<qs|pr> Gamma<r|s>

void psi::dcft::DCFTSolver::build_gbarGamma_UHF ( )
protected

Form MO-based contraction [Gbar*Gamma]<q|p> [Gbar*Gamma]<q|p> = Sum_rs Gbar<qs|pr> Gamma<r|s>

void psi::dcft::DCFTSolver::build_gbarKappa_RHF ( )
protected

Form MO-based Gbar*Kappa.

void psi::dcft::DCFTSolver::build_gbarKappa_UHF ( )
protected
void psi::dcft::DCFTSolver::build_gbarlambda_RHF_v3mem ( )
protected

Form gbar<ab|cd> * lambda <ij|cd>

Compute the contraction, gbar<ab|cd> lambda<ij|cd>, using density fitting. Memory required: O(V^3)

void psi::dcft::DCFTSolver::build_gbarlambda_UHF_v3mem ( )
protected

Compute the contraction, gbar<ab|cd> lambda<ij|cd>, using density fitting. Memory required: O(V^3)

void psi::dcft::DCFTSolver::build_gtau ( )
protected
void psi::dcft::DCFTSolver::build_perturbed_tau ( )
protected
void psi::dcft::DCFTSolver::build_tau ( )
protected

Forms Tau in the MO basis from the Lambda tensors and transforms it back to the SO basis.

void psi::dcft::DCFTSolver::build_tau_fourth_order ( )
protected
void psi::dcft::DCFTSolver::build_tau_RHF ( )
protected

Forms Tau in the MO basis from the Lambda tensors and transforms it back to the SO basis for RHF reference.

void psi::dcft::DCFTSolver::check_n_representability ( )
protected

Checks the n-representability of the density matrix by checking the positive semidefiniteness of various matrices, used as constraints by Mazziotti

void psi::dcft::DCFTSolver::check_qc_convergence ( )
protected
void psi::dcft::DCFTSolver::compute_cepa0_energy ( )
protected
double psi::dcft::DCFTSolver::compute_cumulant_residual ( )
protected

Computes the residual for the lambda equations R = G + F

Returns
RMS residual
double psi::dcft::DCFTSolver::compute_cumulant_residual_RHF ( )
protected

Computes the residual for the lambda equations R = G + F

Returns
RMS residual
void psi::dcft::DCFTSolver::compute_cumulant_response_intermediates ( )
protected
double psi::dcft::DCFTSolver::compute_cumulant_response_residual ( )
protected
void psi::dcft::DCFTSolver::compute_dcft_energy ( )
protected

Uses the intermediates to compute the energy

void psi::dcft::DCFTSolver::compute_dcft_energy_RHF ( )
protected

Uses the intermediates to compute the energy for RHF reference

double psi::dcft::DCFTSolver::compute_energy ( )
virtual

Computes the DCFT density matrix and energy

Reimplemented from psi::Wavefunction.

double psi::dcft::DCFTSolver::compute_energy_RHF ( )
protected

Compute DCFT energy using restricted HF reference

double psi::dcft::DCFTSolver::compute_energy_UHF ( )
protected

Compute DCFT energy using unrestricted HF reference

void psi::dcft::DCFTSolver::compute_ewdm_dc ( )
protected
void psi::dcft::DCFTSolver::compute_ewdm_odc ( )
protected
void psi::dcft::DCFTSolver::compute_ewdm_odc_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_F_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_F_intermediate_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_G_intermediate ( )
protected
SharedMatrix psi::dcft::DCFTSolver::compute_gradient ( )
protectedvirtual

Compute gradient. Subclasses override this function to compute the gradient.

Reimplemented from psi::Wavefunction.

void psi::dcft::DCFTSolver::compute_gradient_dc ( )
protected
void psi::dcft::DCFTSolver::compute_gradient_odc ( )
protected
void psi::dcft::DCFTSolver::compute_gradient_odc_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_gradient_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_gradient_UHF ( )
protected
void psi::dcft::DCFTSolver::compute_H_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_I_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_J_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_K_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_L_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_OO ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_OO_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_OV ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_VO ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_VV ( )
protected
void psi::dcft::DCFTSolver::compute_lagrangian_VV_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_M_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_N_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_O_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_oe_properties ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_gradient ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_gradient_OV ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_gradient_OV_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_gradient_VO ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_gradient_VO_RHF ( )
protected
double psi::dcft::DCFTSolver::compute_orbital_residual ( )
protected
double psi::dcft::DCFTSolver::compute_orbital_residual_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_response_intermediates ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_rotation_jacobi ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_rotation_jacobi_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_orbital_rotation_nr ( )
protected
void psi::dcft::DCFTSolver::compute_R_AA_and_BB ( )
protected

Compute R_OOVV and R_oovv from R_OoVv, used as DIIS error vectors this is an unnecessary step, but can reduce # Iterations by around 5

void psi::dcft::DCFTSolver::compute_relaxed_density_OOOO ( )
protected
void psi::dcft::DCFTSolver::compute_relaxed_density_OOVV ( )
protected
void psi::dcft::DCFTSolver::compute_relaxed_density_OVOV ( )
protected
void psi::dcft::DCFTSolver::compute_relaxed_density_VVVV ( )
protected
double psi::dcft::DCFTSolver::compute_response_coupling ( )
protected
void psi::dcft::DCFTSolver::compute_scf_energy ( )
protected

Computes the SCF energy from the latest Fock and density matrices.

void psi::dcft::DCFTSolver::compute_scf_energy_RHF ( )
protected

Computes the SCF energy from the latest Fock and density matrices.

double psi::dcft::DCFTSolver::compute_scf_error_vector ( )
protected

Computes the SCF error vector by transforming the Fock matrices to the MO basis and computing [F, Kappa], and the RMS value of this quantity.

Returns
RMS error
double psi::dcft::DCFTSolver::compute_scf_error_vector_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_sigma_vector ( )
protected
void psi::dcft::DCFTSolver::compute_sigma_vector_cum_cum ( )
protected
void psi::dcft::DCFTSolver::compute_sigma_vector_cum_orb ( )
protected
void psi::dcft::DCFTSolver::compute_sigma_vector_orb_cum ( )
protected
void psi::dcft::DCFTSolver::compute_sigma_vector_orb_orb ( )
protected
double psi::dcft::DCFTSolver::compute_three_particle_energy ( )
protected
void psi::dcft::DCFTSolver::compute_TPDM_trace ( )
protected
double psi::dcft::DCFTSolver::compute_triples_aaa ( )
protected
double psi::dcft::DCFTSolver::compute_triples_aab ( )
protected
double psi::dcft::DCFTSolver::compute_triples_abb ( )
protected
double psi::dcft::DCFTSolver::compute_triples_bbb ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OOOO ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OOOO_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OOVV ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OOVV_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OVOV ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_OVOV_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_VVVV ( )
protected
void psi::dcft::DCFTSolver::compute_unrelaxed_density_VVVV_RHF ( )
protected
void psi::dcft::DCFTSolver::compute_V_intermediate ( )
protected
void psi::dcft::DCFTSolver::compute_W_intermediate ( )
protected
bool psi::dcft::DCFTSolver::correct_mo_phases ( bool  dieOnError = true)
protected

Checks to make sure that the phase, and ordering, of the MOs is consistent with the previous set.

Returns
Whether the phase correction was successful
void psi::dcft::DCFTSolver::cumulant_response_guess ( )
protected
void psi::dcft::DCFTSolver::davidson_guess ( )
protected
void psi::dcft::DCFTSolver::dcft_semicanonicalize ( )
protected
void psi::dcft::DCFTSolver::df_build_b_ao ( )
protected

Density-fitted MP2 (DF-MP2) guess.

Build the density-fitting tensor: b(Q|mn) in AO-basis b(Q|mn) = Sum_P (mn|P) [J^-1/2]_PQ where J is the matrix of (P|Q)

void psi::dcft::DCFTSolver::df_memory ( )
protected

Calculate memory required for density-fitting.

Calculate memory required for density-fitting

void psi::dcft::DCFTSolver::dpd_buf4_add ( dpdbuf4 A,
dpdbuf4 B,
double  alpha 
)
protected

Computes A = A + alpha * B, writing the result back to A

void psi::dcft::DCFTSolver::dump_density ( )
protected

Dumps the MO Basis density matrix in a DPD form.

void psi::dcft::DCFTSolver::dump_semicanonical ( )
protected
void psi::dcft::DCFTSolver::file2_transform ( dpdfile2 A,
dpdfile2 B,
SharedMatrix  C,
bool  backwards 
)
protected
void psi::dcft::DCFTSolver::finalize ( )
protected

Frees up the memory sequestered by the init_moinfo() and read_checkpoint() routines.

void psi::dcft::DCFTSolver::form_density_weighted_fock ( )
protected
void psi::dcft::DCFTSolver::form_density_weighted_fock_RHF ( )
protected
void psi::dcft::DCFTSolver::form_df_g_oooo ( )
protected

Form density-fitted MO-basis TEI g(OO|OO) in chemists' notation.

Form density-fitted MO-basis TEI g(OO|OO)

void psi::dcft::DCFTSolver::form_df_g_ovov ( )
protected

Form density-fitted MO-basis TEI g(OV|OV) in chemists' notation.

Form density-fitted MO-basis TEI g(OV|OV)

void psi::dcft::DCFTSolver::form_df_g_ovvv ( )
protected

Form density-fitted MO-basis TEI g(OV|VV) in chemists' notation.

Form density-fitted MO-basis TEI g(OV|VV)

void psi::dcft::DCFTSolver::form_df_g_vooo ( )
protected

Form density-fitted MO-basis TEI g(VO|OO) in chemists' notation.

Form density-fitted MO-basis TEI g(VO|OO)

void psi::dcft::DCFTSolver::form_df_g_vvoo ( )
protected

Form density-fitted MO-basis TEI g(VV|OO) in chemists' notation.

Form density-fitted MO-basis TEI g(VV|OO)

void psi::dcft::DCFTSolver::form_df_g_vvvv ( )
protected

Form density-fitted MO-basis TEI g<VV|VV> in physists' notation.

Form density-fitted MO-basis TEI g(VV|VV)

void psi::dcft::DCFTSolver::form_idps ( )
protected
void psi::dcft::DCFTSolver::formb_ao ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< BasisSet zero 
)
protected

Form AO basis b(Q|mu,nu)

Form b(Q|mn)

void psi::dcft::DCFTSolver::formb_ao_scf ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< BasisSet zero 
)
protected

Form b(Q|mn) for SCF terms

void psi::dcft::DCFTSolver::formb_oo ( )
protected

Form MO-basis b(Q, ij)

form b(Q,ij)

void psi::dcft::DCFTSolver::formb_oo_scf ( )
protected

form b(Q,ij) for SCF terms

void psi::dcft::DCFTSolver::formb_ov ( )
protected

Form MO-basis b(Q, ia)

form b(Q,ia)

void psi::dcft::DCFTSolver::formb_pq ( )
protected

Form MO-basis b(Q, pq)

form b(Q,pq)

void psi::dcft::DCFTSolver::formb_pq_scf ( )
protected

form b(Q,pq) for SCF terms

void psi::dcft::DCFTSolver::formb_vv ( )
protected

Form MO-basis b(Q, ab)

form b(Q,ab)

void psi::dcft::DCFTSolver::formJm12 ( std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< BasisSet zero 
)
protected

Form J(P|Q)^-1/2.

Form J(P,Q)^-1/2

void psi::dcft::DCFTSolver::formJm12_scf ( std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< BasisSet zero 
)
protected

Form J(P,Q)^-1/2 for SCF terms

void psi::dcft::DCFTSolver::gradient_init ( )
protected
void psi::dcft::DCFTSolver::gradient_init_RHF ( )
protected
void psi::dcft::DCFTSolver::half_transform ( dpdbuf4 A,
dpdbuf4 B,
SharedMatrix C1,
SharedMatrix C2,
int *  mospi_left,
int *  mospi_right,
int **  so_row,
int **  mo_row,
bool  backwards,
double  alpha,
double  beta 
)
protected
void psi::dcft::DCFTSolver::init ( )
protected

Reads the orbital information that can be determined before the SCF procedure and initializes SO matrices.

void psi::dcft::DCFTSolver::iterate_cumulant_response ( )
protected
int psi::dcft::DCFTSolver::iterate_nr_conjugate_gradients ( )
protected
int psi::dcft::DCFTSolver::iterate_nr_jacobi ( )
protected
void psi::dcft::DCFTSolver::iterate_orbital_response ( )
protected
void psi::dcft::DCFTSolver::mp2_guess ( )
protected

Computes the Hartree-Fock energy and then the MP2 energy as an initial guess. This code is responible for initializing the integral transformation too.

void psi::dcft::DCFTSolver::mp2_guess_RHF ( )
protected

Computes the Hartree-Fock energy and then the MP2 energy as an initial guess. This code is responible for initializing the integral transformation too.

void psi::dcft::DCFTSolver::orbital_response_guess ( )
protected
void psi::dcft::DCFTSolver::presort_mo_tpdm_AA ( )
protected
void psi::dcft::DCFTSolver::presort_mo_tpdm_AB ( )
protected

Presort TPDM (MO) for closed-shell odc-12 In open-shell cases, TPDM (MO) is presorted by IntegralTransform::presort_mo_tpdm_restricted(), where AA (or BB) and AB contribution are treated differently. However, in closed-shell odc-12, AA, AB, and BB contribution are all saved in PSIF_MO_TPDM, where all values are treated as in AA matrix (which causes problems). Thus, we presort TPDM (MO) here and turn off IntegralTransform::presort_mo_tpdm_restricted().

void psi::dcft::DCFTSolver::print_opdm ( )
protected

Prints the occupation numbers from the OPDM

void psi::dcft::DCFTSolver::print_opdm_RHF ( )
protected

Prints the occupation numbers from the OPDM

void psi::dcft::DCFTSolver::print_orbital_energies ( )
protected

Figures out the orbital symmetries and prints them, ordered by energy and type

void psi::dcft::DCFTSolver::process_so_ints ( )
protected

Builds the G matrix for Fock matrix, the external potential (tau contracted with the integrals) and other tensors, if requested, out-of-core using the SO integrals. Also builds the AO basis tensors for the <VV||VV>, <vv||vv>, and <Vv|Vv> terms in the G and X intermediates All quantities are built simultaneously to reduce I/O.

void psi::dcft::DCFTSolver::process_so_ints_RHF ( )
protected

Builds the G matrix for Fock matrix, the external potential (tau contracted with the integrals) and other tensors, if requested, out-of-core using the SO integrals. Also builds the AO basis tensors for the <VV||VV>, <vv||vv>, and <Vv|Vv> terms in the G and X intermediates All quantities are built simultaneously to reduce I/O.

void psi::dcft::DCFTSolver::refine_tau ( )
protected
void psi::dcft::DCFTSolver::refine_tau_RHF ( )
protected
void psi::dcft::DCFTSolver::response_guess ( )
protected
void psi::dcft::DCFTSolver::rotate_orbitals ( )
protected
void psi::dcft::DCFTSolver::rotate_orbitals_RHF ( )
protected
void psi::dcft::DCFTSolver::run_davidson ( )
protected
void psi::dcft::DCFTSolver::run_qc_dcft ( )
protected
void psi::dcft::DCFTSolver::run_simult_dc_guess ( )
protected
void psi::dcft::DCFTSolver::run_simult_dcft ( )
protected
void psi::dcft::DCFTSolver::run_simult_dcft_oo ( )
protected
void psi::dcft::DCFTSolver::run_simult_dcft_oo_RHF ( )
protected
void psi::dcft::DCFTSolver::run_simult_dcft_RHF ( )
protected
void psi::dcft::DCFTSolver::run_twostep_dcft ( )
protected
int psi::dcft::DCFTSolver::run_twostep_dcft_cumulant_updates ( )
protected
void psi::dcft::DCFTSolver::run_twostep_dcft_orbital_updates ( )
protected
void psi::dcft::DCFTSolver::scf_guess ( )
protected

Computes the initial Hartree-Fock orbitals by either reading them from the checkpoint file or computing a core Hamiltonian guess.

void psi::dcft::DCFTSolver::scf_guess_RHF ( )
protected

Computes the initial Hartree-Fock orbitals by either reading them from the checkpoint file or computing a core Hamiltonian guess for RHF reference.

void psi::dcft::DCFTSolver::semicanonicalize_dc ( )
protected
void psi::dcft::DCFTSolver::semicanonicalize_gbar_ooov ( )
protected
void psi::dcft::DCFTSolver::semicanonicalize_gbar_ovvv ( )
protected
void psi::dcft::DCFTSolver::sort_OOOO_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_OOOO_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::sort_OOOV_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_OOOV_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::sort_OOVV_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_OOVV_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::sort_OVOV_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_OVOV_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::sort_OVVV_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_OVVV_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::sort_VVVV_integrals ( )
protected
void psi::dcft::DCFTSolver::sort_VVVV_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::transform_b ( )
protected

Transform AO-basis b(Q, mn) to MO-basis b(Q, pq)

Transform b(Q|mn) -> b(Q|pq)

void psi::dcft::DCFTSolver::transform_b_ao2so ( )
protected

Transform b(Q|mu,nu) from AO basis to SO basis.

Transform b(Q|mu,nu) from AO basis to SO basis

void psi::dcft::DCFTSolver::transform_b_ao2so_scf ( )
protected

Transform b(Q|mu,nu) from AO basis to SO basis for SCF terms

void psi::dcft::DCFTSolver::transform_core_integrals ( )
protected
void psi::dcft::DCFTSolver::transform_core_integrals_RHF ( )
protected
void psi::dcft::DCFTSolver::transform_integrals ( )
protected

Updates the MO coefficients, transforms the integrals into both chemists' and physcists' notation.

void psi::dcft::DCFTSolver::transform_integrals_RHF ( )
protected

Updates the MO coefficients, transforms the integrals into both chemists' and physcists' notation for RHF reference.

void psi::dcft::DCFTSolver::transform_integrals_triples ( )
protected
void psi::dcft::DCFTSolver::transform_tau ( )
protected
void psi::dcft::DCFTSolver::transform_tau_RHF ( )
protected
void psi::dcft::DCFTSolver::update_cumulant_jacobi ( )
protected

Builds the new lambda tensor from the intermediates

void psi::dcft::DCFTSolver::update_cumulant_jacobi_RHF ( )
protected

Builds the new lambda tensor from the intermediates

void psi::dcft::DCFTSolver::update_cumulant_nr ( )
protected
void psi::dcft::DCFTSolver::update_cumulant_response ( )
protected
void psi::dcft::DCFTSolver::update_fock ( )
protected
double psi::dcft::DCFTSolver::update_orbital_response ( )
protected
double psi::dcft::DCFTSolver::update_scf_density ( bool  damp = false)
protected

Uses the MO coefficients to form the SCF density matrices in the SO basis.

Parameters
Whetherto damp the update or not
Returns
RMS density change
double psi::dcft::DCFTSolver::update_scf_density_RHF ( bool  damp = false)
protected

Uses the MO coefficients to form the SCF density matrices in the SO basis.

Parameters
Whetherto damp the update or not
Returns
RMS density change
void psi::dcft::DCFTSolver::write_molden_file ( )
protected

Member Data Documentation

IntegralTransform* psi::dcft::DCFTSolver::_ints
protected
SharedMatrix psi::dcft::DCFTSolver::ao_s_
protected

The overlap matrix in the AO basis.

SharedMatrix psi::dcft::DCFTSolver::aocc_c_
protected

The alpha occupied eigenvectors, per irrep.

int* psi::dcft::DCFTSolver::aocc_off_
protected

Alpha occupied MO offset.

SharedMatrix psi::dcft::DCFTSolver::aocc_ptau_
protected

The perturbed Tau matrix in the MO basis (alpha occupied)

SharedMatrix psi::dcft::DCFTSolver::aocc_tau_
protected

The Tau matrix in the MO basis (alpha occupied)

std::shared_ptr<BasisSet> psi::dcft::DCFTSolver::auxiliary_
protected

Auxiliary basis.

std::shared_ptr<BasisSet> psi::dcft::DCFTSolver::auxiliary_scf_
protected

Auxiliary basis for SCF terms in DCT.

SharedMatrix psi::dcft::DCFTSolver::avir_c_
protected

The alpha virtual eigenvectors, per irrep.

int* psi::dcft::DCFTSolver::avir_off_
protected

Alpha virtual MO offset.

SharedMatrix psi::dcft::DCFTSolver::avir_ptau_
protected

The perturbed Tau matrix in the MO basis (alpha virtual)

SharedMatrix psi::dcft::DCFTSolver::avir_tau_
protected

The Tau matrix in the MO basis (alpha virtual)

SharedMatrix psi::dcft::DCFTSolver::b_
protected

The subspace vector in the Davidson diagonalization procedure.

int psi::dcft::DCFTSolver::b_dim_
protected

The dimension of the subspace in the Davidson diagonalization.

SharedMatrix psi::dcft::DCFTSolver::bocc_c_
protected

The beta occupied eigenvectors, per irrep.

int* psi::dcft::DCFTSolver::bocc_off_
protected

Beta occupied MO offset.

SharedMatrix psi::dcft::DCFTSolver::bocc_ptau_
protected

The perturbed Tau matrix in the MO basis (beta occupied)

SharedMatrix psi::dcft::DCFTSolver::bocc_tau_
protected

The Tau matrix in the MO basis (beta occupied)

SharedMatrix psi::dcft::DCFTSolver::bQabA_mo_
protected

b(Q|a, b)

SharedMatrix psi::dcft::DCFTSolver::bQabB_mo_
protected
SharedMatrix psi::dcft::DCFTSolver::bQaiA_mo_
protected

b(Q|a, i)

SharedMatrix psi::dcft::DCFTSolver::bQaiB_mo_
protected
SharedMatrix psi::dcft::DCFTSolver::bQiaA_mo_
protected

b(Q|i, a)

SharedMatrix psi::dcft::DCFTSolver::bQiaB_mo_
protected
SharedMatrix psi::dcft::DCFTSolver::bQijA_mo_
protected

b(Q|i, j)

SharedMatrix psi::dcft::DCFTSolver::bQijA_mo_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bQijB_mo_
protected
SharedMatrix psi::dcft::DCFTSolver::bQijB_mo_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bQmn_ao_
protected

b(Q|mu,nu)

SharedMatrix psi::dcft::DCFTSolver::bQmn_ao_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bQmn_so_
protected
SharedMatrix psi::dcft::DCFTSolver::bQmn_so_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bQpqA_mo_
protected

b(Q|p, q)

SharedMatrix psi::dcft::DCFTSolver::bQpqA_mo_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bQpqB_mo_
protected
SharedMatrix psi::dcft::DCFTSolver::bQpqB_mo_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::bvir_c_
protected

The beta virtual eigenvectors, per irrep.

int* psi::dcft::DCFTSolver::bvir_off_
protected

Beta virtual MO offset.

SharedMatrix psi::dcft::DCFTSolver::bvir_ptau_
protected

The perturbed Tau matrix in the MO basis (beta virtual)

SharedMatrix psi::dcft::DCFTSolver::bvir_tau_
protected

The Tau matrix in the MO basis (beta virtual)

double psi::dcft::DCFTSolver::cumulant_convergence_
protected

The RMS value of the change in lambda after the lambda iterations.

int psi::dcft::DCFTSolver::cumulant_idp_
protected

The total number of cumulant independent pairs for the current NR step.

int psi::dcft::DCFTSolver::cumulant_idp_aa_
protected

The number of cumulant independent pairs for the current NR step (Alpha-Alpha spin)

int psi::dcft::DCFTSolver::cumulant_idp_ab_
protected

The number of cumulant independent pairs for the current NR step (Alpha-Beta spin)

int psi::dcft::DCFTSolver::cumulant_idp_bb_
protected

The number of cumulant independent pairs for the current NR step (Beta-Beta spin)

double psi::dcft::DCFTSolver::cumulant_response_rms_
protected

The RMS value of the change in the cumulant response.

double psi::dcft::DCFTSolver::cumulant_threshold_
protected

The convergence criterion for the lambda iterations.

bool psi::dcft::DCFTSolver::cumulantDone_
protected

Controls convergence of the decnsity cumulant updates.

SharedVector psi::dcft::DCFTSolver::D_
protected

The conjugate direction vector in the IDP basis for conjugate gradient procedure.

bool psi::dcft::DCFTSolver::densityConverged_
protected

Controls convergence of the idempotent one-particle density.

double psi::dcft::DCFTSolver::diis_start_thresh_
protected

The convergence that must be achieved before DIIS extrapolation starts.

int psi::dcft::DCFTSolver::dim_
protected

The maximum number of IDPs ever possible.

int psi::dcft::DCFTSolver::dim_cumulant_
protected

The maximum number of IDPs possible for cumulant updates.

int psi::dcft::DCFTSolver::dim_orbitals_
protected

The maximum number of IDPs possible for orbital updates.

double psi::dcft::DCFTSolver::energy_level_shift_
protected

Level shift applied to the diagonal of the density-weighted Fock operator.

double psi::dcft::DCFTSolver::energy_threshold_
protected

The convergence criterion for energy.

bool psi::dcft::DCFTSolver::energyConverged_
protected

Controls convergence of the DCFT energy.

double psi::dcft::DCFTSolver::enuc_
protected

The nuclear repulsion energy in Hartree.

bool psi::dcft::DCFTSolver::exact_tau_
protected

Whether the user requested the DCFT functional that computes the non-idempotent part of the OPDM exactly from the density cumulant.

SharedMatrix psi::dcft::DCFTSolver::Fa_
protected

The alpha Fock matrix in the SO basis.

SharedMatrix psi::dcft::DCFTSolver::Fb_
protected

The beta Fock matrix in the SO basis.

SharedMatrix psi::dcft::DCFTSolver::Ftilde_a_
protected

The alpha density-weighted Fock matrix in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::Ftilde_b_
protected

The beta density-weighted Fock matrix in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::g_tau_a_
protected

The alpha external potential in the SO basis.

SharedMatrix psi::dcft::DCFTSolver::g_tau_b_
protected

The beta external potential in the SO basis.

SharedVector psi::dcft::DCFTSolver::gradient_
protected

Orbital and cumulant gradient in the basis of IDP.

SharedVector psi::dcft::DCFTSolver::Hd_
protected

Contribution of the Fock matrix to the diagonal part of the Hessian. Used as preconditioner for conjugate gradient procedure.

std::string psi::dcft::DCFTSolver::indent
protected

Used to align things in the output.

double psi::dcft::DCFTSolver::int_tolerance_
protected

The cutoff below which and integral is assumed to be zero.

int psi::dcft::DCFTSolver::iter_
protected

The current number of macroiteration for energy or gradient computation.

double** psi::dcft::DCFTSolver::Jm12_
protected

J^-1/2 Matrix.

double** psi::dcft::DCFTSolver::Jm12_scf_
protected
SharedMatrix psi::dcft::DCFTSolver::kappa_mo_a_
protected

The Kappa in the MO basis (alpha occupied)

SharedMatrix psi::dcft::DCFTSolver::kappa_mo_b_
protected

The Kappa in the MO basis (beta occupied)

SharedMatrix psi::dcft::DCFTSolver::kappa_so_a_
protected

The alpha kappa matrix in the SO basis.

SharedMatrix psi::dcft::DCFTSolver::kappa_so_b_
protected

The beta kappa matrix in the SO basis.

double psi::dcft::DCFTSolver::lambda_energy_
protected

The Lambda component of the energy.

int* psi::dcft::DCFTSolver::lookup_cumulant_
protected

The lookup array that determines which compound indices belong to cumulant IDPs and which don't.

int* psi::dcft::DCFTSolver::lookup_orbitals_
protected

The lookup array that determines which compound indices belong to orbital IDPs and which don't.

int psi::dcft::DCFTSolver::max_space_
protected

The maximum size of the subspace in stability check.

int psi::dcft::DCFTSolver::maxdiis_
protected

The maximum size of the DIIS subspace.

int psi::dcft::DCFTSolver::maxiter_
protected

The maximum number of iterations.

int psi::dcft::DCFTSolver::mindiisvecs_
protected

The number of DIIS vectors needed for extrapolation.

SharedMatrix psi::dcft::DCFTSolver::mo_gammaA_
protected

MO-based Gamma <r|s>

SharedMatrix psi::dcft::DCFTSolver::mo_gammaB_
protected
SharedMatrix psi::dcft::DCFTSolver::mo_gbarGamma_A_
protected

MO-based (Gbar Tau + Gbar Kappa)

SharedMatrix psi::dcft::DCFTSolver::mo_gbarGamma_B_
protected
SharedMatrix psi::dcft::DCFTSolver::mo_gbarKappa_A_
protected
SharedMatrix psi::dcft::DCFTSolver::mo_gbarKappa_B_
protected
SharedMatrix psi::dcft::DCFTSolver::mo_tauA_
protected

The Tau in the MO basis (All)

SharedMatrix psi::dcft::DCFTSolver::mo_tauB_
protected
SharedMatrix psi::dcft::DCFTSolver::moF0a_
protected

The alpha Fock matrix (without Tau contribution) in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::moF0b_
protected

The beta Fock matrix (without Tau contribution) in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::moFa_
protected

The alpha Fock matrix in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::moFb_
protected

The beta Fock matrix in the MO basis.

SharedMatrix psi::dcft::DCFTSolver::moG_tau_a_
protected

The alpha external potential in the MO basis (only needed in two-step algorithm)

SharedMatrix psi::dcft::DCFTSolver::moG_tau_b_
protected

The beta external potential in the MO basis (only needed in two-step algorithm)

int psi::dcft::DCFTSolver::n_add_
protected

The number of vectors that can be added during the iteration in the Davidson diagonalization.

int psi::dcft::DCFTSolver::nalpha_
protected

The number of active alpha electrons.

int psi::dcft::DCFTSolver::naocc_
protected

Number of alpha occupied orbitals.

Dimension psi::dcft::DCFTSolver::naoccpi_
protected

The number of occupied alpha orbitals per irrep.

int psi::dcft::DCFTSolver::navir_
protected

The number of virtual alpha orbitals.

Dimension psi::dcft::DCFTSolver::navirpi_
protected

The number of virtual alpha orbitals per irrep.

int psi::dcft::DCFTSolver::nbeta_
protected

The number of active beta electrons.

Dimension psi::dcft::DCFTSolver::nboccpi_
protected

The number of occupied beta orbitals per irrep.

int psi::dcft::DCFTSolver::nbvir_
protected

The number of virtual beta orbitals.

Dimension psi::dcft::DCFTSolver::nbvirpi_
protected

The number of virtual beta orbitals per irrep.

int psi::dcft::DCFTSolver::nevals_
protected

The number of eigenvalues requested in the stability check.

double psi::dcft::DCFTSolver::new_total_energy_
protected

The updated total energy.

int psi::dcft::DCFTSolver::nguess_
protected

The number of the guess subspace vectors for the Davidson diagonalization.

int psi::dcft::DCFTSolver::nidp_
protected

The total number of independent pairs for the current NR step.

int psi::dcft::DCFTSolver::nn_
protected

Number of total primary basis functions.

int psi::dcft::DCFTSolver::nQ_
protected

Number of total auxilliary basis functions.

int psi::dcft::DCFTSolver::nQ_scf_
protected
int psi::dcft::DCFTSolver::ntriso_
protected

The number of unique pairs of symmetrized atomic orbitals.

SharedMatrix psi::dcft::DCFTSolver::old_ca_
protected

The old full alpha MO coefficients.

SharedMatrix psi::dcft::DCFTSolver::old_cb_
protected

The old full beta MO coefficients.

double psi::dcft::DCFTSolver::old_total_energy_
protected

The previous total energy.

SharedMatrix psi::dcft::DCFTSolver::orbital_gradient_a_
protected

The orbital gradient in the MO basis (Alpha spin)

SharedMatrix psi::dcft::DCFTSolver::orbital_gradient_b_
protected

The orbital gradient in the MO basis (Beta spin)

int psi::dcft::DCFTSolver::orbital_idp_
protected

The total number of orbital independent pairs for the current NR step.

int psi::dcft::DCFTSolver::orbital_idp_a_
protected

The number of orbital independent pairs for the current NR step (Alpha spin)

int psi::dcft::DCFTSolver::orbital_idp_b_
protected

The number of orbital independent pairs for the current NR step (Beta spin)

double psi::dcft::DCFTSolver::orbital_level_shift_
protected

Level shift for denominators in orbital updates.

bool psi::dcft::DCFTSolver::orbital_optimized_
protected

Whether the user requested the DCFT functional that is variationally orbitally-optimized.

double psi::dcft::DCFTSolver::orbital_response_rms_
protected

The RMS value of the change in the orbital response.

double psi::dcft::DCFTSolver::orbitals_convergence_
protected

The RMS value of the error vector after the SCF iterations.

double psi::dcft::DCFTSolver::orbitals_threshold_
protected

The convergence criterion for the scf iterations.

bool psi::dcft::DCFTSolver::orbitalsDone_
protected

Controls convergence of the orbital updates.

std::shared_ptr<BasisSet> psi::dcft::DCFTSolver::primary_
protected

Primary basis.

int psi::dcft::DCFTSolver::print_
protected

The amount of information to print.

SharedVector psi::dcft::DCFTSolver::Q_
protected

The new element of Krylov subspace vector in the IDP basis for conjugate gradient procedure.

SharedVector psi::dcft::DCFTSolver::R_
protected

The residual vector in the IDP basis for conjugate gradient procedure.

double psi::dcft::DCFTSolver::r_convergence_
protected

Convergence of the residual in the Davidson diagonalization.

double psi::dcft::DCFTSolver::regularizer_
protected

The Tikhonow regularizer used to remove singularities (c.f. Taube and Bartlett, JCP, 2009)

double psi::dcft::DCFTSolver::response_coupling_rms_
protected

The RMS value of the change in the coupling of orbital and cumulant response.

SharedVector psi::dcft::DCFTSolver::S_
protected

The search direction vector in the IDP basis for conjugate gradient procedure.

SharedMatrix psi::dcft::DCFTSolver::s_half_inv_
protected

The inverse square root overlap matrix in the SO basis.

double psi::dcft::DCFTSolver::scf_energy_
protected

The SCF component of the energy.

SharedMatrix psi::dcft::DCFTSolver::scf_error_a_
protected

The alpha SCF error vector.

SharedMatrix psi::dcft::DCFTSolver::scf_error_b_
protected

The beta SCF error vector.

SharedVector psi::dcft::DCFTSolver::sigma_
protected

Sigma vector in the basis of IDP (the product of the off-diagonal part of the Hessian with the step vector X)

SharedMatrix psi::dcft::DCFTSolver::so_h_
protected

The one-electron integrals in the SO basis.

SharedMatrix psi::dcft::DCFTSolver::tau_so_a_
protected

The Tau matrix in the AO basis, stored by irrep, to perturb the alpha Fock matrix.

SharedMatrix psi::dcft::DCFTSolver::tau_so_b_
protected

The Tau matrix in the AO basis, stored by irrep, to perturb the beta Fock matrix.

double psi::dcft::DCFTSolver::vec_add_tol_
protected

The threshold for the norm of the residual part of the subspace (|b'> = |b'> - |b><b|b'>) that is used to augment the subspace.

SharedVector psi::dcft::DCFTSolver::X_
protected

The step vector in the IDP basis.

SharedMatrix psi::dcft::DCFTSolver::X_a_
protected

Generator of the orbital rotations (Alpha) with respect to the orbitals from the previous update.

SharedMatrix psi::dcft::DCFTSolver::X_b_
protected

Generator of the orbital rotations (Beta) with respect to the orbitals from the previous update.

SharedMatrix psi::dcft::DCFTSolver::Xtotal_a_
protected

Generator of the orbital rotations (Alpha) with respect to the reference orbitals.

SharedMatrix psi::dcft::DCFTSolver::Xtotal_b_
protected

Generator of the orbital rotations (Beta) with respect to the reference orbitals.


The documentation for this class was generated from the following files: