![]() |
(git:b77b4be)
|
Functions/Subroutines | |
subroutine, public | tddfpt_apply_energy_diff (aop_evects, evects, s_evects, gs_mos, matrix_ks) |
Apply orbital energy difference term: Aop_evects(spin,state) += KS(spin) * evects(spin,state) - S * evects(spin,state) * diag(evals_occ(spin)) | |
subroutine, public | tddfpt_apply_coulomb (a_ia_rspace, rho_ia_g, local_rho_set, hartree_local, qs_env, sub_env, gapw, work_v_gspace, work_v_rspace, tddfpt_mgrid) |
Update v_rspace by adding coulomb term. | |
subroutine, public | tddfpt_apply_xc (a_ia_rspace, kernel_env, rho_ia_struct, is_rks_triplets, pw_env, work_v_xc, work_v_xc_tau) |
Driver routine for applying fxc (analyic vs. finite difference for testing. | |
subroutine, public | tddfpt_apply_xc_potential (a_ia_rspace, fxc_rspace, rho_ia_struct, is_rks_triplets) |
Routine for applying fxc potential. | |
subroutine, public | tddfpt_apply_hfx (aop_evects, evects, gs_mos, do_admm, qs_env, work_rho_ia_ao_symm, work_hmat_symm, work_rho_ia_ao_asymm, work_hmat_asymm, wfm_rho_orb) |
Update action of TDDFPT operator on trial vectors by adding exact-exchange term. | |
subroutine, public | tddfpt_apply_hfxsr_kernel (aop_evects, evects, gs_mos, qs_env, admm_env, hfx_section, x_data, symmetry, recalc_integrals, work_rho_ia_ao, work_hmat, wfm_rho_orb) |
Update action of TDDFPT operator on trial vectors by adding exact-exchange term. | |
subroutine, public | tddfpt_apply_hfxlr_kernel (qs_env, sub_env, rcut, hfx_scale, work, x, res) |
...Calculate the HFXLR kernel contribution by contracting the Lowdin MO coefficients – transition charges with the exchange-type integrals using the sTDA approximation | |
subroutine, public qs_tddfpt2_operators::tddfpt_apply_energy_diff | ( | type(cp_fm_type), dimension(:, :), intent(inout) | aop_evects, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
type(cp_fm_type), dimension(:, :), intent(in) | s_evects, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(dbcsr_p_type), dimension(:), intent(in) | matrix_ks | ||
) |
Apply orbital energy difference term: Aop_evects(spin,state) += KS(spin) * evects(spin,state) - S * evects(spin,state) * diag(evals_occ(spin))
Aop_evects | action of TDDFPT operator on trial vectors (modified on exit) |
evects | trial vectors C_{1,i} |
S_evects | S * C_{1,i} |
gs_mos | molecular orbitals optimised for the ground state (only occupied orbital energies [component evals_occ] are needed) |
matrix_ks | Kohn-Sham matrix |
Definition at line 104 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_coulomb | ( | type(pw_r3d_rs_type), dimension(:), intent(inout) | a_ia_rspace, |
type(pw_c1d_gs_type), intent(inout) | rho_ia_g, | ||
type(local_rho_type), pointer | local_rho_set, | ||
type(hartree_local_type), pointer | hartree_local, | ||
type(qs_environment_type), pointer | qs_env, | ||
type(tddfpt_subgroup_env_type), intent(in) | sub_env, | ||
logical, intent(in) | gapw, | ||
type(pw_c1d_gs_type), intent(inout) | work_v_gspace, | ||
type(pw_r3d_rs_type), intent(inout) | work_v_rspace, | ||
logical, intent(in) | tddfpt_mgrid | ||
) |
Update v_rspace by adding coulomb term.
A_ia_rspace | action of TDDFPT operator on the trial vector expressed in a plane wave representation (modified on exit) |
rho_ia_g | response density in reciprocal space for the given trial vector |
local_rho_set | ... |
hartree_local | ... |
qs_env | ... |
sub_env | the full sub_environment needed for calculation |
gapw | Flag indicating GAPW cacluation |
work_v_gspace | work reciprocal-space grid to store Coulomb potential (modified on exit) |
work_v_rspace | work real-space grid to store Coulomb potential (modified on exit) |
tddfpt_mgrid | ... |
Definition at line 175 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_xc | ( | type(pw_r3d_rs_type), dimension(:), intent(inout) | a_ia_rspace, |
type(full_kernel_env_type), intent(in) | kernel_env, | ||
type(qs_rho_type), pointer | rho_ia_struct, | ||
logical, intent(in) | is_rks_triplets, | ||
type(pw_env_type), pointer | pw_env, | ||
type(pw_r3d_rs_type), dimension(:), pointer | work_v_xc, | ||
type(pw_r3d_rs_type), dimension(:), pointer | work_v_xc_tau | ||
) |
Driver routine for applying fxc (analyic vs. finite difference for testing.
A_ia_rspace | action of TDDFPT operator on trial vectors expressed in a plane wave representation (modified on exit) |
kernel_env | kernel environment |
rho_ia_struct | response density for the given trial vector |
is_rks_triplets | indicates that the triplet excited states calculation using spin-unpolarised molecular orbitals has been requested |
pw_env | plain wave environment |
work_v_xc | work real-space grid to store the gradient of the exchange-correlation potential with respect to the response density (modified on exit) |
work_v_xc_tau | ... |
Definition at line 268 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_xc_potential | ( | type(pw_r3d_rs_type), dimension(:), intent(inout) | a_ia_rspace, |
type(pw_r3d_rs_type), dimension(:), pointer | fxc_rspace, | ||
type(qs_rho_type), pointer | rho_ia_struct, | ||
logical, intent(in) | is_rks_triplets | ||
) |
Routine for applying fxc potential.
A_ia_rspace | action of TDDFPT operator on trial vectors expressed in a plane wave representation (modified on exit) |
fxc_rspace | ... |
rho_ia_struct | response density for the given trial vector |
is_rks_triplets | ... |
Definition at line 305 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_hfx | ( | type(cp_fm_type), dimension(:, :), intent(inout) | aop_evects, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
logical, intent(in) | do_admm, | ||
type(qs_environment_type), pointer | qs_env, | ||
type(dbcsr_p_type), dimension(:), intent(inout) | work_rho_ia_ao_symm, | ||
type(dbcsr_p_type), dimension(:), intent(inout), target | work_hmat_symm, | ||
type(dbcsr_p_type), dimension(:), intent(inout) | work_rho_ia_ao_asymm, | ||
type(dbcsr_p_type), dimension(:), intent(inout), target | work_hmat_asymm, | ||
type(cp_fm_type), intent(in) | wfm_rho_orb | ||
) |
Update action of TDDFPT operator on trial vectors by adding exact-exchange term.
Aop_evects | action of TDDFPT operator on trial vectors (modified on exit) |
evects | trial vectors |
gs_mos | molecular orbitals optimised for the ground state (only occupied molecular orbitals [component mos_occ] are needed) |
do_admm | perform auxiliary density matrix method calculations |
qs_env | Quickstep environment |
work_rho_ia_ao_symm | ... |
work_hmat_symm | ... |
work_rho_ia_ao_asymm | ... |
work_hmat_asymm | ... |
wfm_rho_orb | ... |
Definition at line 516 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_hfxsr_kernel | ( | type(cp_fm_type), dimension(:, :), intent(in) | aop_evects, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(qs_environment_type), pointer | qs_env, | ||
type(admm_type), pointer | admm_env, | ||
type(section_vals_type), pointer | hfx_section, | ||
type(hfx_type), dimension(:, :), pointer | x_data, | ||
integer, intent(in) | symmetry, | ||
logical, intent(in) | recalc_integrals, | ||
type(dbcsr_p_type), dimension(:), intent(inout) | work_rho_ia_ao, | ||
type(dbcsr_p_type), dimension(:), intent(inout), target | work_hmat, | ||
type(cp_fm_type), intent(in) | wfm_rho_orb | ||
) |
Update action of TDDFPT operator on trial vectors by adding exact-exchange term.
Aop_evects | action of TDDFPT operator on trial vectors (modified on exit) |
evects | trial vectors |
gs_mos | molecular orbitals optimised for the ground state (only occupied molecular orbitals [component mos_occ] are needed) |
qs_env | Quickstep environment |
admm_env | ... |
hfx_section | ... |
x_data | ... |
symmetry | ... |
recalc_integrals | ... |
work_rho_ia_ao | ... |
work_hmat | ... |
wfm_rho_orb | ... |
Definition at line 683 of file qs_tddfpt2_operators.F.
subroutine, public qs_tddfpt2_operators::tddfpt_apply_hfxlr_kernel | ( | type(qs_environment_type), pointer | qs_env, |
type(tddfpt_subgroup_env_type) | sub_env, | ||
real(kind=dp), intent(in) | rcut, | ||
real(kind=dp), intent(in) | hfx_scale, | ||
type(tddfpt_work_matrices) | work, | ||
type(cp_fm_type), dimension(:), intent(in) | x, | ||
type(cp_fm_type), dimension(:), intent(inout) | res | ||
) |
...Calculate the HFXLR kernel contribution by contracting the Lowdin MO coefficients – transition charges with the exchange-type integrals using the sTDA approximation
qs_env | ... |
sub_env | ... |
rcut | ... |
hfx_scale | ... |
work | ... |
X | ... |
res | ... vector AX with A being the sTDA matrix and X the Davidson trial vector of the eigenvalue problem A*X = omega*X |
Definition at line 767 of file qs_tddfpt2_operators.F.