CCSD with custom Hamiltonian and mo_energies #2650
-
|
As far as I understand, inside CCSD there is always a recalculation of the SCF and the energies of the molecular orbitals, which are necessary to perform CCSD cycles (denominator calculations). I would like to bypass the SCF calculations inside CCSD again by simply sending the already known result to the input mf = scf.RHF(mol) --> Below I define custom hamiltonian: mf.get_hcore = lambda *args: F_new --> If I now do mf.kernel() I get new C'_new, E'_new and E'_tot_new which differs from C_new, E_new and E_tot_new but I want to avoid this. --> Perform the CCSD calculation using the new mean-field object mycc = cc.RCCSD(mf, frozen = None, mo_coeff = C_new, mo_occ = mf.mo_occ) --> just in case, Iβm once again sending new coefficients to the arguments, but not new mo_energies E_new since there is no corresponding attributes (and it seems that CCSD just calculates them inside starting new SCF cycle which as I said above gives incorrect E'_new for my particular case) mycc.kernel() In other words, I just want to run RCCSD with predefined parameters, without any recalculation inside. Maybe it's possible to somehow assign new values to variables globally? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
It doesn't do an entire SCF iteration; just one Fock build and sets |
Beta Was this translation helpful? Give feedback.
It doesn't do an entire SCF iteration; just one Fock build and sets
mo_energyto the diagonal elements. I don't think it changes the MO coefficients or the SCF total energy. I think the member function you want to interdict isao2mo: