module that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho
source: qs_kpp1_env_methods.Fcalcualtes the k_p_p1 kernel of the pertubation theory
TYPE(qs_kpp1_env_type), |
POINTER |
:: | kpp1_env | the kpp1 environement in which perform the calculation | |
TYPE(qs_p_env_type), |
POINTER |
:: | p_env | ... | |
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | kpp1's qs_env | |
TYPE(dbcsr_p_type), |
POINTER |
:: | k_p_p1(:) | the sparse matrix that will contain the kernel k_p_p1 | |
TYPE(qs_rho_type), |
POINTER |
:: | rho | the density where to evaluate the derivatives (i.e. p along with with its grid representations, that must be valid) | |
TYPE(qs_rho_type), |
POINTER |
:: | rho1 | the density that represent the first direction along which you should evaluate the derivatives | |
TYPE(qs_rho_type), |
OPTIONAL, POINTER |
:: | rho1_xc | ... |
calcualtes the k_p_p1 kernel of the pertubation theory with finite differences
TYPE(qs_environment_type), |
POINTER |
:: | qs_env | kpp1's qs_env | |
TYPE(dbcsr_p_type), |
POINTER |
:: | k_p_p1(:) | the sparse matrix that will contain the kernel k_p_p1 | |
TYPE(qs_rho_type), |
POINTER |
:: | rho | the density where to evaluate the derivatives (i.e. p along with with its grid representations, that must be valid) | |
TYPE(qs_rho_type), |
POINTER |
:: | rho1 | the density that represent the first direction along which you should evaluate the derivatives | |
REAL(dp), |
INTENT(in), |
OPTIONAL |
:: | diff | the amount of the finite difference step |
allocates and initializes a kpp1_env
TYPE(qs_kpp1_env_type), |
POINTER |
:: | kpp1_env | the environement to initialize |
function to advise of changes either in the grids or in the the matrix structure (to update kpp1_env internal cache)
TYPE(qs_kpp1_env_type), |
POINTER |
:: | kpp1_env | the kpp1_env | |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | s_struct_changed | true if the structure of the s matrix has changed |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | grid_changed | true if the grids have changed and have to be rebuilt |
LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | psi0_changed | true if the value of psi0 (qs_env%rho) has changed |