Hot answers tagged

10

Same as any other electronic structure code: atomic units are used. The unit of energy is Hartree, $E_h$, in which the ground state energy of hydrogen is exactly $-0.5$. One Hartree is roughly 27.211 386 245 988 eV, see the NIST database. The atomic unit for length is the Bohr radius, $a_0$. Defining things in terms of atomic units has the huge advantage ...


10

While this earlier question on our site was asking why fewer 2e- integrals were printed by PySCF than expected, and your question is simply asking how to calculate the 1e- and 2e- integrals in the first place (so the two questions are not duplicated), that question gave an excellent example for how to print the 2e- integrals for the He atom in a 6-31g basis ...


9

Freezing can have two meanings: either freezing the occupation (doubly occupied core orbitals and inactive virtual orbitals), or freezing the spatial orbital in orbital optimization (here: in SHCI-SCF). In the former case, figuring out the number of frozen core orbitals and inactive virtual orbitals is easy: since you are specifying the number of electrons ...


9

The Fock matrix is defined as $F_{\mu \nu} = \partial E / \partial P_{\mu \nu}$ where ${\bf P}$ is the density matrix and $E$ is the total energy functional (here: restricted Hartree-Fock i.e. RHF). The RHF density matrix is given by ${\bf P} = 2 {\bf C}_{\rm occ} {\bf C}^{\rm T}_{\rm occ}$ where ${\bf C}_{\rm occ}$ are the occupied orbital coefficients. ...


9

Only the first line is correct, as long as the AO basis is not orthogonal. The point is: the AO $\leftrightarrow$ MO transformations of density matrices and Fock matrices require different formulas. For the Fock matrix the formulas are \begin{align} F_{MO} &= C^T F_{AO} C \tag{1}\\ F_{AO} &= SC F_{MO} C^TS \tag{2} \end{align} While for the density ...


9

The short answer is: it is the matrix representation of the Fock operator in the given basis set, in this case, the atomic orbital (AO) basis. The Fock operator itself is a mean-field, independent particle approximation to the electronic Hamilton operator of the system (with other approximations beyond the scope of this Q&A). The rows/columns (the matrix ...


8

Multiwfn Multiwfn is a great tool for cube file analysis and wfn file analysis that can probably do almost everything you want to do. It is capable of doing math between cube files, outputting that file and then continuing to do more math. I believe it also allows for custom formulas to be input into the source code in some straightforward way (I have ...


7

For canonical MOs, it is expected that the off-diagonal elements of the described product with the Fock matrix are zero (within reasonable accuracy) because they are the result of the diagonalization of the Fock matrix. However, canonical MOs are not the only possible choice. One can "rotate" the MOs to minimize certain metrics in order to obtain, ...


6

Formally, the Fock matrix is the density matrix derivative of the Hartree-Fock or Kohn-Sham energy functional. The Fock matrix returned by PySCF is in the atomic-orbital basis, which is actually the same as the molecular basis. If the orbitals satisfy the self-consistent field equations, then in the molecular orbital basis the Fock matrix is diagonal. See ...


6

Why the need to reprocess .cube files, when you can generate a cube straight away for the electron density with cubegen (see Density=Type in the cubegen documentation or skip the cube files altogether and use the formatted checkpoint file for visualization, allowing an adaptable level of resolution and avoiding a huge amount of unnecessary storage? There ...


6

TheoDORE Dealing with cube files is fairly easy as long as they all have the same grid definition. A cube file is basically just a long vector of numbers and you can add and multiply them as you wish. You can for example check lib_util.py of the TheoDORE package. This might do what you want in a simple scriptable form. Maybe the lin_comb routine does what ...


6

One should not confuse the "smearing" used to facilitate self-consistent field convergence, especially for density functional calculations in periodic systems, and the role of fractional natural orbital occupation numbers that arise naturally from the many-particle nature of the exact wave function. Natural orbitals are typically ordered in ...


5

PySCF and Psi4 both implement analytical geometric Hessians for Hartree-Fock calculations. The computation of the geometric Hessian indeed requires solving the coupled perturbed Hartree-Fock equations: while one can evaluate the force acting on the nuclei just with the SCF wave function and the integral derivatives, the second derivative also contains a ...


5

The derivatives of a molecular Hamiltonian with respect to nuclear coordinates can be performed analytically (as you correctly pointed out), and therefore does not need PySCF or Psi4, which are programs for doing numerical calculations for things that cannot be done analytically. This is how it's done: \begin{align} H &= -\sum_{i}\frac{1}{2}\nabla_{i}^{2}...


4

I figured it might be worthwhile to address some the misconceptions in the question, as they are probably fairly common. No SCF prior The AO two-electron integrals (and actually all the AO integrals used in the SCF procedure) can be generated before doing any cycles. This is because they are just among atomic orbitals, which we know from the beginning of the ...


3

In the density fitting / resolution-of-the-identity (RI) formalism, a two-electron integral $(ij|kl)$ in the atomic-orbital basis is approximated as $(ij|kl) \approx \sum_{PQ} (ij|P) (P|Q)^{-1} (Q|kl)$ where $P$ and $Q$ are auxiliary functions, and $(P|Q)^{-1}$ is the inverse Coulomb overlap matrix. The RI expression can be written in a form that resembles ...


3

You can enter an input file stream in gaussian cubman to add/subtract cube files. Eg. here is an input file named test.txt which has all answers to add two cube files (a.cube and b.cube) and gives an output sum.cube, Add a.cube yes b.cube yes sum.cube yes You can run this simply by entering, cubman < test.txt to get the required output. You can write a ...


Only top voted, non community-wiki answers of a minimum length are eligible