![]() |
(git:b77b4be)
|
Routines to calculate 2nd order kernels from a given response density in ao basis linear response scf. More...
Functions/Subroutines | |
subroutine, public | build_dm_response (c0, c1, dm) |
This routine builds response density in dbcsr format. | |
subroutine, public | apply_2nd_order_kernel (qs_env, p_env, recalc_hfx_integrals, calc_forces, calc_virial, virial) |
Calculate a second order kernel (DFT, HF, ADMM correction) for a given density. | |
subroutine, public | apply_hfx_ao (qs_env, p_env, recalc_integrals) |
This routine applies the Hartree-Fock Exchange kernel to a perturbation density matrix considering ADMM. | |
subroutine, public | apply_xc_admm_ao (qs_env, p_env, calc_forces, calc_virial, virial) |
apply the kernel from the ADMM exchange correction | |
Routines to calculate 2nd order kernels from a given response density in ao basis linear response scf.
subroutine, public qs_2nd_kernel_ao::build_dm_response | ( | type(cp_fm_type), dimension(:), intent(in) | c0, |
type(cp_fm_type), dimension(:), intent(in) | c1, | ||
type(dbcsr_p_type), dimension(:), intent(inout) | dm | ||
) |
This routine builds response density in dbcsr format.
c0 | coefficients of unperturbed system (not changed) |
c1 | coefficients of response (not changed) |
dm | response density matrix |
Definition at line 80 of file qs_2nd_kernel_ao.F.
subroutine, public qs_2nd_kernel_ao::apply_2nd_order_kernel | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
type(qs_p_env_type) | p_env, | ||
logical, intent(in), optional | recalc_hfx_integrals, | ||
logical, intent(in), optional | calc_forces, | ||
logical, intent(in), optional | calc_virial, | ||
real(kind=dp), dimension(3, 3), intent(inout), optional | virial | ||
) |
Calculate a second order kernel (DFT, HF, ADMM correction) for a given density.
qs_env | ... |
p_env | perturbation environment containing the correct density matrices p_envp1, p_envp1_admm, the kernel will be saved in p_envkpp1, p_envkpp1_admm |
recalc_hfx_integrals | whether to recalculate the HFX integrals |
calc_forces | whether to calculate forces |
calc_virial | whether to calculate virials |
virial | collect the virial terms from the XC + ADMM parts (terms from integration will be added to pv_virial) |
Definition at line 112 of file qs_2nd_kernel_ao.F.
subroutine, public qs_2nd_kernel_ao::apply_hfx_ao | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
type(qs_p_env_type), intent(in) | p_env, | ||
logical, intent(in), optional | recalc_integrals | ||
) |
This routine applies the Hartree-Fock Exchange kernel to a perturbation density matrix considering ADMM.
qs_env | the Quickstep environment |
p_env | perturbation environment from which p1/p1_admm and kpp1/kpp1_admm are taken |
recalc_integrals | whether the integrals are to be recalculated (default: no) |
Definition at line 186 of file qs_2nd_kernel_ao.F.
subroutine, public qs_2nd_kernel_ao::apply_xc_admm_ao | ( | type(qs_environment_type), intent(in), pointer | qs_env, |
type(qs_p_env_type) | p_env, | ||
logical, intent(in), optional | calc_forces, | ||
logical, intent(in), optional | calc_virial, | ||
real(kind=dp), dimension(3, 3), intent(inout), optional | virial | ||
) |
apply the kernel from the ADMM exchange correction
qs_env | ... |
p_env | perturbation environment |
calc_forces | whether to calculate forces |
calc_virial | whether to calculate gradients |
virial | collects the virial terms from the XC functional (virial terms from integration are collected in pv_virial) |
Definition at line 267 of file qs_2nd_kernel_ao.F.