density_for_dft

This module defines the provider of the density used for the DFT related calculations. This definition is done through the keyword density_for_dft density_for_dft. The density can be:

  • WFT: the density is computed with a potentially multi determinant wave function (see variables psi_det and psi_det)# input_density: the density is set to a density previously stored in the EZFIO directory (see aux_quantities)

  • damping_rs_dft: the density is damped between the input_density and the WFT density, with a damping factor of density_for_dft damping_for_rs_dft

EZFIO parameters

density_for_dft

Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT.

Default: WFT

damping_for_rs_dft

damping factor for the density used in RSFT.

Default: 0.5

no_core_density

If [no_core_density] then all elements of the density matrix involving at least one orbital set as core are set to zero. The default is False in order to take all the density.

Default: False

normalize_dm

Type of density. If .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb

Default: True

Providers

one_body_dm_mo_alpha_one_det

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states)
double precision, allocatable   :: one_body_dm_mo_beta_one_det  (mo_num,mo_num,N_states)

One body density matrix on the MO basis for a single determinant

Needs:

  • elec_alpha_num

  • elec_beta_num

  • mo_num

  • n_states

Needed by:

  • one_e_dm_mo_alpha_for_dft

  • one_e_dm_mo_beta_for_dft

one_body_dm_mo_beta_one_det

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states)
double precision, allocatable   :: one_body_dm_mo_beta_one_det  (mo_num,mo_num,N_states)

One body density matrix on the MO basis for a single determinant

Needs:

  • elec_alpha_num

  • elec_beta_num

  • mo_num

  • n_states

Needed by:

  • one_e_dm_mo_alpha_for_dft

  • one_e_dm_mo_beta_for_dft

one_e_dm_alpha_ao_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_alpha_ao_for_dft    (ao_num,ao_num,N_states)
double precision, allocatable   :: one_e_dm_beta_ao_for_dft     (ao_num,ao_num,N_states)

one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft

Needs:

  • ao_num

  • data_one_e_dm_alpha_ao

  • data_one_e_dm_beta_ao

  • density_for_dft

  • mo_coef

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft

  • one_e_dm_mo_beta_for_dft

one_e_dm_alpha_ao_for_dft_no_core

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_alpha_ao_for_dft_no_core    (ao_num,ao_num,N_states)
double precision, allocatable   :: one_e_dm_beta_ao_for_dft_no_core     (ao_num,ao_num,N_states)

one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core

Needs:

  • ao_num

  • mo_coef

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft_no_core

  • one_e_dm_mo_beta_for_dft_no_core

one_e_dm_average_alpha_mo_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_average_alpha_mo_for_dft    (mo_num,mo_num)

Needs:

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft

  • state_average_weight

Needed by:

  • one_e_dm_average_mo_for_dft

one_e_dm_average_beta_mo_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_average_beta_mo_for_dft     (mo_num,mo_num)

Needs:

  • mo_num

  • n_states

  • one_e_dm_mo_beta_for_dft

  • state_average_weight

Needed by:

  • one_e_dm_average_mo_for_dft

one_e_dm_average_mo_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_average_mo_for_dft  (mo_num,mo_num)

Needs:

  • mo_num

  • one_e_dm_average_alpha_mo_for_dft

  • one_e_dm_average_beta_mo_for_dft

one_e_dm_beta_ao_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_alpha_ao_for_dft    (ao_num,ao_num,N_states)
double precision, allocatable   :: one_e_dm_beta_ao_for_dft     (ao_num,ao_num,N_states)

one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft

Needs:

  • ao_num

  • data_one_e_dm_alpha_ao

  • data_one_e_dm_beta_ao

  • density_for_dft

  • mo_coef

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft

  • one_e_dm_mo_beta_for_dft

one_e_dm_beta_ao_for_dft_no_core

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_alpha_ao_for_dft_no_core    (ao_num,ao_num,N_states)
double precision, allocatable   :: one_e_dm_beta_ao_for_dft_no_core     (ao_num,ao_num,N_states)

one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core

Needs:

  • ao_num

  • mo_coef

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft_no_core

  • one_e_dm_mo_beta_for_dft_no_core

one_e_dm_mo_alpha_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_mo_alpha_for_dft    (mo_num,mo_num,N_states)

density matrix for alpha electrons in the MO basis used for all DFT calculations based on the density

Needs:

  • ao_num

  • damping_for_rs_dft

  • data_one_e_dm_alpha_mo

  • density_for_dft

  • elec_alpha_num

  • list_core

  • mo_coef

  • mo_num

  • n_core_orb

  • n_states

  • no_core_density

  • normalize_dm

  • one_body_dm_mo_alpha_one_det

  • one_e_dm_mo_alpha

  • one_e_dm_mo_alpha_average

Needed by:

  • one_e_dm_alpha_ao_for_dft

  • one_e_dm_average_alpha_mo_for_dft

  • one_e_dm_mo_alpha_for_dft_no_core

  • one_e_dm_mo_for_dft

one_e_dm_mo_alpha_for_dft_no_core

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_mo_alpha_for_dft_no_core    (mo_num,mo_num,N_states)

density matrix for alpha electrons in the MO basis without the core orbitals

Needs:

  • list_core

  • mo_num

  • n_core_orb

  • n_states

  • one_e_dm_mo_alpha_for_dft

Needed by:

  • one_e_dm_alpha_ao_for_dft_no_core

one_e_dm_mo_beta_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_mo_beta_for_dft     (mo_num,mo_num,N_states)

density matrix for beta electrons in the MO basis used for all DFT calculations based on the density

Needs:

  • ao_num

  • damping_for_rs_dft

  • data_one_e_dm_beta_mo

  • density_for_dft

  • elec_beta_num

  • list_core

  • mo_coef

  • mo_num

  • n_core_orb

  • n_states

  • no_core_density

  • normalize_dm

  • one_body_dm_mo_alpha_one_det

  • one_e_dm_mo_alpha

  • one_e_dm_mo_alpha_average

Needed by:

  • one_e_dm_alpha_ao_for_dft

  • one_e_dm_average_beta_mo_for_dft

  • one_e_dm_mo_beta_for_dft_no_core

  • one_e_dm_mo_for_dft

one_e_dm_mo_beta_for_dft_no_core

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_mo_beta_for_dft_no_core     (mo_num,mo_num,N_states)

density matrix for beta electrons in the MO basis without the core orbitals

Needs:

  • list_core

  • mo_num

  • n_core_orb

  • n_states

  • one_e_dm_mo_beta_for_dft

Needed by:

  • one_e_dm_alpha_ao_for_dft_no_core

one_e_dm_mo_for_dft

File : density_for_dft/density_for_dft.irp.f

double precision, allocatable   :: one_e_dm_mo_for_dft  (mo_num,mo_num,N_states)

Needs:

  • mo_num

  • n_states

  • one_e_dm_mo_alpha_for_dft

  • one_e_dm_mo_beta_for_dft