routines that build the Kohn-Sham matrix (i.e calculate the coulomb and xc parts
source: qs_ks_methods.F...
TYPE(mo_set_type), |
POINTER |
:: | mo_set | × | × | |
TYPE(dbcsr_type), |
POINTER |
:: | w_matrix | × | ||
TYPE(dbcsr_type), |
POINTER |
:: | matrix_ks | × | ||
TYPE(dbcsr_type), |
POINTER |
:: | matrix_p | × | ||
TYPE(dbcsr_type), |
POINTER |
:: | matrix_w | × |
Calculate the W matrix from the MO coefs, MO derivs could overwrite the mo_derivs for increased memory efficiency
TYPE(mo_set_type), |
POINTER |
:: | mo_set | type containing the full matrix of the MO coefs mo_deriv: | |
TYPE(dbcsr_type), |
POINTER |
:: | mo_deriv | ... | |
TYPE(dbcsr_type), |
POINTER |
:: | w_matrix | sparse matrix | |
TYPE(dbcsr_type), |
POINTER |
:: | s_matrix | sparse matrix for the overlap error |
...
TYPE(pw_p_type), |
INTENT(inout) |
:: | rho_tot_gspace | ... | |
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | ... | |
TYPE(qs_rho_type), |
POINTER |
:: | rho | ... | |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | skip_nuclear_density | ... |
Allocate ks_matrix and ks_env if necessary
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | ... |
routine where the real calculations are made: the KS matrix is calculated
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | the qs_env to update | |
LOGICAL, |
INTENT(in) |
:: | calculate_forces | if true calculate the quantities needed to calculate the forces. Defaults to false. | |
LOGICAL, |
INTENT(in) |
:: | just_energy | if true updates the energies but not the ks matrix. Defaults to false | |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | print_active | ... |
TYPE(dbcsr_p_type), |
OPTIONAL, POINTER |
:: | ext_ks_matrix(:) | ... |
updates the Kohn Sham matrix of the given qs_env (facility method)
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | the qs_env to update | |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | calculate_forces | if true calculate the quantities needed to calculate the forces. Defaults to false. |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | just_energy | if true updates the energies but not the ks matrix. Defaults to false |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | print_active | ... |
Calculate the W matrix from the MO eigenvectors, MO eigenvalues, and the MO occupation numbers. Only works if they are eigenstates
TYPE(mo_set_type), |
POINTER |
:: | mo_set | type containing the full matrix of the MO and the eigenvalues | |
TYPE(dbcsr_type), |
POINTER |
:: | w_matrix | sparse matrix error |
Calculate the energy-weighted density matrix W if ROKS is active. The W matrix is returned in matrix_w.
TYPE(mo_set_type), |
POINTER |
:: | mo_set | ... | |
TYPE(dbcsr_type), |
POINTER |
:: | matrix_ks | ... | |
TYPE(dbcsr_type), |
POINTER |
:: | matrix_p | ... | |
TYPE(dbcsr_type), |
POINTER |
:: | matrix_w | ... |