![]() |
(git:b77b4be)
|
Functions/Subroutines | |
subroutine, public | tddfpt_dipole_operator (dipole_op_mos_occ, tddfpt_control, gs_mos, qs_env) |
Compute the action of the dipole operator on the ground state wave function. | |
subroutine, public | tddfpt_print_summary (log_unit, evects, evals, ostrength, mult, dipole_op_mos_occ, dipole_form) |
Print final TDDFPT excitation energies and oscillator strengths. | |
subroutine, public | tddfpt_print_excitation_analysis (log_unit, evects, evals, gs_mos, matrix_s, min_amplitude) |
Print excitation analysis. | |
subroutine, public | tddfpt_print_nto_analysis (qs_env, evects, evals, ostrength, gs_mos, matrix_s, print_section) |
Print natural transition orbital analysis. | |
subroutine, public | tddfpt_print_exciton_descriptors (log_unit, evects, gs_mos, matrix_s, do_directional_exciton_descriptors, qs_env) |
Print exciton descriptors, cf. Mewes et al., JCTC 14, 710-725 (2018) | |
subroutine, public qs_tddfpt2_properties::tddfpt_dipole_operator | ( | type(cp_fm_type), dimension(:, :), intent(inout), allocatable | dipole_op_mos_occ, |
type(tddfpt2_control_type), pointer | tddfpt_control, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Compute the action of the dipole operator on the ground state wave function.
dipole_op_mos_occ | 2-D array [x,y,z ; spin] of matrices where to put the computed quantity (allocated and initialised on exit) |
tddfpt_control | TDDFPT control parameters |
gs_mos | molecular orbitals optimised for the ground state |
qs_env | Quickstep environment |
Adapted version of the subroutine find_contributions() which was originally created by Thomas Chassaing on 02.2005.
The relation between dipole integrals in velocity and length forms are the following:
\[<\psi_i|\nabla|\psi_a> = <\psi_i|\vec{r}|\hat{H}\psi_a> - <\hat{H}\psi_i|\vec{r}|\psi_a> = (\epsilon_a - \epsilon_i) <\psi_i|\vec{r}|\psi_a> .\]
, due to the commutation identity:
\[\vec{r}\hat{H} - \hat{H}\vec{r} = [\vec{r},\hat{H}] = [\vec{r},-1/2 \nabla^2] = \nabla\]
.
Definition at line 151 of file qs_tddfpt2_properties.F.
subroutine, public qs_tddfpt2_properties::tddfpt_print_summary | ( | integer, intent(in) | log_unit, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
real(kind=dp), dimension(:), intent(in) | evals, | ||
real(kind=dp), dimension(:), intent(inout) | ostrength, | ||
integer, intent(in) | mult, | ||
type(cp_fm_type), dimension(:, :), intent(in) | dipole_op_mos_occ, | ||
integer, intent(in) | dipole_form | ||
) |
Print final TDDFPT excitation energies and oscillator strengths.
log_unit | output unit |
evects | TDDFPT trial vectors (SIZE(evects,1) – number of spins; SIZE(evects,2) – number of excited states to print) |
evals | TDDFPT eigenvalues |
ostrength | TDDFPT oscillator strength |
mult | multiplicity |
dipole_op_mos_occ | action of the dipole operator on the ground state wave function [x,y,z ; spin] |
dipole_form | ... |
Adapted version of the subroutine find_contributions() which was originally created by Thomas Chassaing on 02.2005.
Transition dipole moment along direction 'd' is computed as following:
\[ t_d(spin) = Tr[evects^T dipole\_op\_mos\_occ(d, spin)] .\]
Definition at line 534 of file qs_tddfpt2_properties.F.
subroutine, public qs_tddfpt2_properties::tddfpt_print_excitation_analysis | ( | integer, intent(in) | log_unit, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
real(kind=dp), dimension(:), intent(in) | evals, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(dbcsr_type), pointer | matrix_s, | ||
real(kind=dp), intent(in) | min_amplitude | ||
) |
Print excitation analysis.
log_unit | output unit |
evects | TDDFPT trial vectors (SIZE(evects,1) – number of spins; SIZE(evects,2) – number of excited states to print) |
evals | TDDFPT eigenvalues |
gs_mos | molecular orbitals optimised for the ground state |
matrix_s | overlap matrix |
min_amplitude | the smallest excitation amplitude to print |
Definition at line 640 of file qs_tddfpt2_properties.F.
subroutine, public qs_tddfpt2_properties::tddfpt_print_nto_analysis | ( | type(qs_environment_type), pointer | qs_env, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
real(kind=dp), dimension(:), intent(in) | evals, | ||
real(kind=dp), dimension(:), intent(in) | ostrength, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(dbcsr_type), pointer | matrix_s, | ||
type(section_vals_type), pointer | print_section | ||
) |
Print natural transition orbital analysis.
qs_env | Information on Kinds and Particles |
evects | TDDFPT trial vectors (SIZE(evects,1) – number of spins; SIZE(evects,2) – number of excited states to print) |
evals | TDDFPT eigenvalues |
ostrength | ... |
gs_mos | molecular orbitals optimised for the ground state |
matrix_s | overlap matrix |
print_section | ... |
Definition at line 902 of file qs_tddfpt2_properties.F.
subroutine, public qs_tddfpt2_properties::tddfpt_print_exciton_descriptors | ( | integer, intent(in) | log_unit, |
type(cp_fm_type), dimension(:, :), intent(in) | evects, | ||
type(tddfpt_ground_state_mos), dimension(:), intent(in) | gs_mos, | ||
type(dbcsr_type), pointer | matrix_s, | ||
logical, intent(in) | do_directional_exciton_descriptors, | ||
type(qs_environment_type), intent(in), pointer | qs_env | ||
) |
Print exciton descriptors, cf. Mewes et al., JCTC 14, 710-725 (2018)
log_unit | output unit |
evects | TDDFPT trial vectors (SIZE(evects,1) – number of spins; SIZE(evects,2) – number of excited states to print) |
gs_mos | molecular orbitals optimised for the ground state |
matrix_s | overlap matrix |
do_directional_exciton_descriptors | flag for computing descriptors for each (cartesian) direction |
qs_env | Information on particles/geometry |
Definition at line 1164 of file qs_tddfpt2_properties.F.