![]() |
(git:51bfb72)
|
Functions/Subroutines | |
| subroutine, public | tddfpt_apply_energy_diff (aop_evects, evects, s_evects, gs_mos, matrix_ks, tddfpt_control) |
| 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, spinflip) |
| 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, | ||
| type(tddfpt2_control_type), intent(in), pointer | tddfpt_control | ||
| ) |
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 |
| tddfpt_control | ... |
Definition at line 108 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 186 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, | ||
| integer, intent(in), optional | spinflip | ||
| ) |
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 | ... |
| spinflip | ... |
Definition at line 283 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 323 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 544 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 711 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 795 of file qs_tddfpt2_operators.F.