hartree_fock
Quick description
The scf program performs Restricted Hartree-Fock calculations (the spatial part of the MOs is common for alpha and beta spinorbitals).
See also
To see the keywords/options associated to the SCF algorithm itself, see the documentation of the scf_utils module.
More advanced description
The Hartree-Fock algorithm is a SCF and therefore is based on the scf_utils module.
The Fock matrix is defined in fock_matrix_hf.irp.f.
See also
For a more detailed description of the SCF structure, see the documentation of the scf_utils module.
EZFIO parameters
- energy
Energy HF
Programs
Providers
- ao_two_e_integral_alpha
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num) double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
Alpha and Beta Fock matrices in AO basis set
Needs:
ao_coef_normalized_ordered_transpao_expo_ordered_transpao_integrals_mapao_integrals_thresholdao_nuclao_numao_overlap_absao_power
ao_prim_numao_two_e_integral_alpha_cholao_two_e_integral_schwartzao_two_e_integrals_in_mapdo_ao_choleskydo_direct_integralsis_periodic
n_pt_max_integralsnucl_coordread_ao_two_e_integralsscf_density_matrix_ao_alphascf_density_matrix_ao_betause_cgtosuse_only_lr
Needed by:
fock_matrix_ao_alpha
hf_energy
- ao_two_e_integral_alpha_chol
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: ao_two_e_integral_alpha_chol (ao_num,ao_num) double precision, allocatable :: ao_two_e_integral_beta_chol (ao_num,ao_num)
Alpha and Beta Fock matrices in AO basis set
Needs:
ao_numcholesky_ao_numelec_alpha_num
elec_beta_numqp_max_memscf_density_matrix_ao
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
Needed by:
ao_two_e_integral_alpha
- ao_two_e_integral_beta
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num) double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
Alpha and Beta Fock matrices in AO basis set
Needs:
ao_coef_normalized_ordered_transpao_expo_ordered_transpao_integrals_mapao_integrals_thresholdao_nuclao_numao_overlap_absao_power
ao_prim_numao_two_e_integral_alpha_cholao_two_e_integral_schwartzao_two_e_integrals_in_mapdo_ao_choleskydo_direct_integralsis_periodic
n_pt_max_integralsnucl_coordread_ao_two_e_integralsscf_density_matrix_ao_alphascf_density_matrix_ao_betause_cgtosuse_only_lr
Needed by:
fock_matrix_ao_alpha
hf_energy
- ao_two_e_integral_beta_chol
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: ao_two_e_integral_alpha_chol (ao_num,ao_num) double precision, allocatable :: ao_two_e_integral_beta_chol (ao_num,ao_num)
Alpha and Beta Fock matrices in AO basis set
Needs:
ao_numcholesky_ao_numelec_alpha_num
elec_beta_numqp_max_memscf_density_matrix_ao
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
Needed by:
ao_two_e_integral_alpha
- extra_e_contrib_density
File :
hartree_fock/hf_energy.irp.fdouble precision :: extra_e_contrib_density
Extra contribution to the SCF energy coming from the density.
For a Hartree-Fock calculation: extra_e_contrib_density = 0
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential
Needed by:
scf_energy
- fock_matrix_ao_alpha
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num) double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
Alpha Fock matrix in AO basis set
Needs:
ao_num
ao_one_e_integrals
ao_two_e_integral_alpha
Needed by:
fock_matrix_aofock_matrix_mo_alpha
fock_matrix_mo_betamcscf_fock_alpha_ao
scf_energy
- fock_matrix_ao_beta
File :
hartree_fock/fock_matrix_hf.irp.fdouble precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num) double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
Alpha Fock matrix in AO basis set
Needs:
ao_num
ao_one_e_integrals
ao_two_e_integral_alpha
Needed by:
fock_matrix_aofock_matrix_mo_alpha
fock_matrix_mo_betamcscf_fock_alpha_ao
scf_energy
- hf_energy
File :
hartree_fock/hf_energy.irp.fdouble precision :: hf_energy double precision :: hf_two_electron_energy double precision :: hf_one_electron_energy
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
Needs:
ao_numao_one_e_integrals
ao_two_e_integral_alphanuclear_repulsion
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
- hf_kinetic_energy
File :
hartree_fock/hf_energy.irp.fdouble precision :: hf_kinetic_energy double precision :: hf_n_e_energy
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
Needs:
ao_integrals_n_eao_kinetic_integrals
ao_numscf_density_matrix_ao_alpha
scf_density_matrix_ao_beta
- hf_n_e_energy
File :
hartree_fock/hf_energy.irp.fdouble precision :: hf_kinetic_energy double precision :: hf_n_e_energy
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
Needs:
ao_integrals_n_eao_kinetic_integrals
ao_numscf_density_matrix_ao_alpha
scf_density_matrix_ao_beta
- hf_one_electron_energy
File :
hartree_fock/hf_energy.irp.fdouble precision :: hf_energy double precision :: hf_two_electron_energy double precision :: hf_one_electron_energy
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
Needs:
ao_numao_one_e_integrals
ao_two_e_integral_alphanuclear_repulsion
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
- hf_two_electron_energy
File :
hartree_fock/hf_energy.irp.fdouble precision :: hf_energy double precision :: hf_two_electron_energy double precision :: hf_one_electron_energy
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
Needs:
ao_numao_one_e_integrals
ao_two_e_integral_alphanuclear_repulsion
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
Subroutines / functions
- create_guess:
File :
hartree_fock/scf.irp.fsubroutine create_guess
Create a MO guess if no MOs are present in the EZFIO directory
Needs:
ao_numezfio_filenamemo_coef
mo_guess_typemo_label
mo_nummo_one_e_integrals
Called by:
scf()
Calls:
ezfio_has_mo_basis_mo_coef()huckel_guess()
mo_as_eigvectors_of_mo_matrix()
restore_symmetry()
Touches:
fock_matrix_ao_alphafock_matrix_ao_alpha
mo_coef
mo_label
- main:
File :
hartree_fock/print_scf_int.irp.fsubroutine main()
Needs:
ao_integrals_mapao_numao_one_e_integrals
fock_matrix_aofock_matrix_mo_alpha
scf_density_matrix_ao_alphascf_density_matrix_ao_beta
Called by:
print_scf_int()
- print_fock_diag:
File :
hartree_fock/print_fock_diag.irp.fsubroutine print_fock_diag
Needs:
fock_matrix_mo
mo_num
- print_pseudo_overlap:
File :
hartree_fock/print_pseudo_overlap.irp.fsubroutine print_pseudo_overlap
Needs:
ao_numao_overlap
list_coremo_coef
mo_numn_core_orb
- print_scf_int:
File :
hartree_fock/print_scf_int.irp.fsubroutine print_scf_int
Calls:
main()
- run:
File :
hartree_fock/scf.irp.fsubroutine run
Run SCF calculation
Needs:
json_int_fmtjson_unit
mo_label
scf_energy
Called by:
casscf()
scf()
Calls:
ezfio_set_hartree_fock_energy()
json_close()
roothaan_hall_scf()
Touches:
fock_matrix_ao_alphafock_matrix_ao_alpha
mo_coeflevel_shift
mo_coef