kohn_sham

Quick description

The Kohn-Sham module performs Restricted Kohn-Sham calculations (the spatial part of the MOs is common for alpha and beta spinorbitals). The program associated to it is the ks_scf executable.

See also

The documentation of the dft_keywords module for the various keywords such as the exchange/correlation functionals or the amount of HF exchange.

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 Kohn-Sham in an SCF and therefore is based on the scf_utils structure.

The definition of the Fock matrix is in kohn_sham fock_matrix_ks.irp.f

See also

For a more detailed description of the SCF structure, see the documentation of the scf_utils module.

Programs

Providers

ao_potential_alpha_xc

File : pot_functionals.irp.f

double precision, allocatable   :: ao_potential_alpha_xc        (ao_num,ao_num)
double precision, allocatable   :: ao_potential_beta_xc (ao_num,ao_num)

Needs:

  • ao_num

  • potential_c_alpha_ao

  • potential_x_alpha_ao

  • potential_xc_alpha_ao

  • same_xc_func

Needed by:

  • fock_matrix_ao_alpha

  • ks_energy

ao_potential_beta_xc

File : pot_functionals.irp.f

double precision, allocatable   :: ao_potential_alpha_xc        (ao_num,ao_num)
double precision, allocatable   :: ao_potential_beta_xc (ao_num,ao_num)

Needs:

  • ao_num

  • potential_c_alpha_ao

  • potential_x_alpha_ao

  • potential_xc_alpha_ao

  • same_xc_func

Needed by:

  • fock_matrix_ao_alpha

  • ks_energy

e_correlation_dft

File : pot_functionals.irp.f

double precision        :: e_correlation_dft

Needs:

  • energy_c

Needed by:

  • extra_e_contrib_density

  • ks_energy

e_exchange_dft

File : pot_functionals.irp.f

double precision        :: e_exchange_dft

Needs:

  • energy_x

Needed by:

  • extra_e_contrib_density

  • ks_energy

fock_matrix_alpha_no_xc_ao

File : fock_matrix_ks.irp.f

double precision, allocatable   :: fock_matrix_alpha_no_xc_ao   (ao_num,ao_num)
double precision, allocatable   :: fock_matrix_beta_no_xc_ao    (ao_num,ao_num)

Mono electronic an Coulomb matrix in ao basis set

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_two_e_integral_alpha

Needed by:

  • fock_matrix_ao_alpha

fock_matrix_beta_no_xc_ao

File : fock_matrix_ks.irp.f

double precision, allocatable   :: fock_matrix_alpha_no_xc_ao   (ao_num,ao_num)
double precision, allocatable   :: fock_matrix_beta_no_xc_ao    (ao_num,ao_num)

Mono electronic an Coulomb matrix in ao basis set

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_two_e_integral_alpha

Needed by:

  • fock_matrix_ao_alpha

fock_matrix_energy

File : ks_enery.irp.f

double precision        :: ks_energy
double precision        :: two_e_energy
double precision        :: one_e_energy
double precision        :: fock_matrix_energy
double precision        :: trace_potential_xc

Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_potential_alpha_xc

  • ao_two_e_integral_alpha

  • e_correlation_dft

  • e_exchange_dft

  • fock_matrix_ao_alpha

  • nuclear_repulsion

  • scf_density_matrix_ao_alpha

  • scf_density_matrix_ao_beta

Needed by:

  • extra_e_contrib_density

ks_energy

File : ks_enery.irp.f

double precision        :: ks_energy
double precision        :: two_e_energy
double precision        :: one_e_energy
double precision        :: fock_matrix_energy
double precision        :: trace_potential_xc

Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_potential_alpha_xc

  • ao_two_e_integral_alpha

  • e_correlation_dft

  • e_exchange_dft

  • fock_matrix_ao_alpha

  • nuclear_repulsion

  • scf_density_matrix_ao_alpha

  • scf_density_matrix_ao_beta

Needed by:

  • extra_e_contrib_density

one_e_energy

File : ks_enery.irp.f

double precision        :: ks_energy
double precision        :: two_e_energy
double precision        :: one_e_energy
double precision        :: fock_matrix_energy
double precision        :: trace_potential_xc

Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_potential_alpha_xc

  • ao_two_e_integral_alpha

  • e_correlation_dft

  • e_exchange_dft

  • fock_matrix_ao_alpha

  • nuclear_repulsion

  • scf_density_matrix_ao_alpha

  • scf_density_matrix_ao_beta

Needed by:

  • extra_e_contrib_density

trace_potential_xc

File : ks_enery.irp.f

double precision        :: ks_energy
double precision        :: two_e_energy
double precision        :: one_e_energy
double precision        :: fock_matrix_energy
double precision        :: trace_potential_xc

Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_potential_alpha_xc

  • ao_two_e_integral_alpha

  • e_correlation_dft

  • e_exchange_dft

  • fock_matrix_ao_alpha

  • nuclear_repulsion

  • scf_density_matrix_ao_alpha

  • scf_density_matrix_ao_beta

Needed by:

  • extra_e_contrib_density

two_e_energy

File : ks_enery.irp.f

double precision        :: ks_energy
double precision        :: two_e_energy
double precision        :: one_e_energy
double precision        :: fock_matrix_energy
double precision        :: trace_potential_xc

Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.

Needs:

  • ao_num

  • ao_one_e_integrals

  • ao_potential_alpha_xc

  • ao_two_e_integral_alpha

  • e_correlation_dft

  • e_exchange_dft

  • fock_matrix_ao_alpha

  • nuclear_repulsion

  • scf_density_matrix_ao_alpha

  • scf_density_matrix_ao_beta

Needed by:

  • extra_e_contrib_density

Subroutines / functions

check_coherence_functional:

File : ks_scf.irp.f

subroutine check_coherence_functional

Needs:

  • correlation_functional

  • exchange_functional

Called by:

  • ks_scf()