pyQC-HF: Hartree-Fock method in python.
Using STO-3G basis set to solve the Hartree-Fock with SCF iterations by using object-oriented python code.
It's now only part of homework in the Quantum Theory in Many-body System class
JamesMisaka & i.i.d , PKU., CCME.
Using analytical from of STO-3G and it's integral in Szabo and Ostlund, appendix A and B. and using parameter from BSE database http://www.basissetexchange.org/
We will be basically following the algorithm described in Szabo and Ostlund, 3.4.6, p. 146 to implement the Hartree-Fock method for
- Obtain a guess at the density matrix.
- Calculate the exchange and coulomb matrices from the density matrix and the two-electron repulsion integrals.
- Add exchange and coulomb matrices to the core-Hamiltonian to obtain the Fock matrix.
- Diagonalize the Fock matrix.
- Select the occupied orbitals and calculate the new density matrix.
- Compute the energy.
- Compute the errors and check for convergence.
- If converged, return the energy.
- If not converged, return to second step with the new density matrix.
You can also try other molecules, such as
Code of this part is mainly learned from yangdatou's Hartree-Fock tutorial
MO_analysis and electron density distribution function are also implemented
python main.py
One can also modify the context of main.py to run other atoms system, Unfortunately, now this code only support H and He atom.
numpy
scipy
- If you wish to draw electron density distribution,
matplotlib
andplotly
are also required
- Szabo and Ostlund, Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory, Dover Publications, New York, 1996
- https://github.com/yangdatou/hf-tutorial