(git:b77b4be)
Loading...
Searching...
No Matches
bse_properties Module Reference

Routines for computing excitonic properties, e.g. exciton diameter, from the BSE. More...

Data Types

type  exciton_descr_type
 

Functions/Subroutines

subroutine, public get_oscillator_strengths (fm_eigvec_x, exc_ens, fm_dipole_ai_trunc, trans_mom_bse, oscill_str, polarizability_residues, mp2_env, homo_red, virtual_red, unit_nr, fm_eigvec_y)
 Compute and return BSE dipoles d_r^n = sqrt(2) sum_ia < ψ_i | r | ψ_a > ( X_ia^n + Y_ia^n ) and oscillator strengths f^n = 2/3 * Ω^n sum_r∈(x,y,z) ( d_r^n )^2 Prelim Ref.: Eqs. (23), (24) in J. Chem. Phys. 152, 044105 (2020); https://doi.org/10.1063/1.5123290.
 
subroutine, public compute_absorption_spectrum (oscill_str, polarizability_residues, exc_ens, info_approximation, unit_nr, mp2_env)
 Computes and returns absorption spectrum for the frequency range and broadening provided by the user. Prelim Ref.: C. Ullrich, Time-Dependent Density-Functional Theory: Concepts and Applications (Oxford University Press, Oxford, 2012), Eq. 7.51.
 
subroutine, public calculate_ntos (fm_x, fm_y, mo_coeff, homo, virtual, info_approximation, oscill_str, qs_env, unit_nr, mp2_env)
 ...
 
subroutine, public get_exciton_descriptors (exc_descr, fm_x_ia, fm_multipole_ij_trunc, fm_multipole_ab_trunc, fm_multipole_ai_trunc, i_exc, homo, virtual, fm_y_ia)
 ...
 

Detailed Description

Routines for computing excitonic properties, e.g. exciton diameter, from the BSE.

History
10.2024 created [Maximilian Graml]

Function/Subroutine Documentation

◆ get_oscillator_strengths()

subroutine, public bse_properties::get_oscillator_strengths ( type(cp_fm_type), intent(in)  fm_eigvec_x,
real(kind=dp), dimension(:), intent(in), allocatable  exc_ens,
type(cp_fm_type), dimension(3)  fm_dipole_ai_trunc,
real(kind=dp), dimension(:, :, :), intent(out), allocatable  trans_mom_bse,
real(kind=dp), dimension(:), intent(out), allocatable  oscill_str,
real(kind=dp), dimension(:, :, :), intent(out), allocatable  polarizability_residues,
type(mp2_type), intent(in)  mp2_env,
integer, intent(in)  homo_red,
integer, intent(in)  virtual_red,
integer, intent(in)  unit_nr,
type(cp_fm_type), intent(in), optional  fm_eigvec_y 
)

Compute and return BSE dipoles d_r^n = sqrt(2) sum_ia < ψ_i | r | ψ_a > ( X_ia^n + Y_ia^n ) and oscillator strengths f^n = 2/3 * Ω^n sum_r∈(x,y,z) ( d_r^n )^2 Prelim Ref.: Eqs. (23), (24) in J. Chem. Phys. 152, 044105 (2020); https://doi.org/10.1063/1.5123290.

Parameters
fm_eigvec_X...
Exc_ens...
fm_dipole_ai_trunc...
trans_mom_bseBSE dipole vectors in real space per excitation level
oscill_strOscillator strength per excitation level
polarizability_residuesResidues of polarizability ("tensorial oscillator strength") per excitation level
mp2_env...
homo_red...
virtual_red...
unit_nr...
fm_eigvec_Y...

Definition at line 106 of file bse_properties.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_absorption_spectrum()

subroutine, public bse_properties::compute_absorption_spectrum ( real(kind=dp), dimension(:), intent(in), allocatable  oscill_str,
real(kind=dp), dimension(:, :, :), intent(in), allocatable  polarizability_residues,
real(kind=dp), dimension(:), intent(in), allocatable  exc_ens,
character(len=10)  info_approximation,
integer, intent(in)  unit_nr,
type(mp2_type), intent(inout)  mp2_env 
)

Computes and returns absorption spectrum for the frequency range and broadening provided by the user. Prelim Ref.: C. Ullrich, Time-Dependent Density-Functional Theory: Concepts and Applications (Oxford University Press, Oxford, 2012), Eq. 7.51.

Parameters
oscill_str...
polarizability_residues...
Exc_ens...
info_approximation...
unit_nr...
mp2_env...

Definition at line 219 of file bse_properties.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculate_ntos()

subroutine, public bse_properties::calculate_ntos ( type(cp_fm_type), intent(in)  fm_x,
type(cp_fm_type), intent(in), optional  fm_y,
type(cp_fm_type), dimension(:), intent(in)  mo_coeff,
integer, intent(in)  homo,
integer, intent(in)  virtual,
character(len=10)  info_approximation,
real(kind=dp), dimension(:), allocatable  oscill_str,
type(qs_environment_type), pointer  qs_env,
integer, intent(in)  unit_nr,
type(mp2_type), intent(inout)  mp2_env 
)

...

Parameters
fm_X...
fm_Y...
mo_coeff...
homo...
virtual...
info_approximation...
oscill_str...
qs_env...
unit_nr...
mp2_env...

Definition at line 422 of file bse_properties.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_exciton_descriptors()

subroutine, public bse_properties::get_exciton_descriptors ( type(exciton_descr_type), dimension(:), allocatable  exc_descr,
type(cp_fm_type), intent(in)  fm_x_ia,
type(cp_fm_type), dimension(:), intent(in), allocatable  fm_multipole_ij_trunc,
type(cp_fm_type), dimension(:), intent(in), allocatable  fm_multipole_ab_trunc,
type(cp_fm_type), dimension(:), intent(in), allocatable  fm_multipole_ai_trunc,
integer, intent(in)  i_exc,
integer, intent(in)  homo,
integer, intent(in)  virtual,
type(cp_fm_type), intent(in), optional  fm_y_ia 
)

...

Parameters
exc_descrAllocated and initialized on exit
fm_X_ia...
fm_multipole_ij_trunc...
fm_multipole_ab_trunc...
fm_multipole_ai_trunc...
i_exc...
homo...
virtual...
fm_Y_ia...

Definition at line 753 of file bse_properties.F.

Here is the call graph for this function:
Here is the caller graph for this function: