QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: narin on May 31, 2024, 21:02

Title: Explanation of optical spectrum
Post by: narin on May 31, 2024, 21:02
Hello

I have calculated the optical spectra of two similar molecules and obtained their susceptibility tensors. Their susceptibilities are different and I need to explain the reason of the difference. I checked the ATK manual (We're using v. 2020) and the Kubo-Greenwood formula is given. Which terms in the KG formula affects the value of susceptibility? How can I explain the difference of susceptibilities using KG formula (perhaps accessing the terms in ATK that affect the susceptibility values)? I have checked the references given in the manual and couldn't find the same formula in those references.

Thanks.
Title: Re: Explanation of optical spectrum
Post by: Anders Blom on June 1, 2024, 20:14
Apart from numerical points like how many bands/levels you include, it's rather straightforward: the optical spectrum is computed from the difference of energy levels and the matrix elements between the eigenstates with the momentum operator. For two different molecules, obviously both will be quite distinct.
Title: Re: Explanation of optical spectrum
Post by: narin on June 6, 2024, 12:15
Dear Dr. Anders Blom,

Thanks a lot for your reply. In this forum I have seen a post regarding the computation of the dielectric constant using a script here: https://forum.quantumatk.com/index.php?topic=318.msg1845#msg1845 but I guess that's now integrated into the ATK as the opticalSpectrum class.

So my question is how I can extract the values determining the susceptibility values? I have saved the self-consistent bulk configurations and I'll try to extract the "matrix elements between the eigenstates with the momentum operator" to explain the difference of the susceptibility values of the two different molecules. It is like going deeper to explain the difference of the susceptibility values.

In short: How can I extract the values shown inside ellipsoids from the converged bulk configuration:

(https://i.ibb.co/dBn2XyG/forum.png)
Title: Re: Explanation of optical spectrum
Post by: Anders Blom on June 6, 2024, 23:33
Yes, there is a slightly hidden function for this:

Code: python
calculateDipoleTransitionMatrixElements(configuration, kpoint=None, number_of_states=None)

Calculates the dipole transition matrix elements for a bulk configuration at a specified k-point.

The x-component of the dipole matrix elements is defined as

x_nm(k) = <mk | x | nk>,

where |nk> is a Bloch state in band 'n' at the k-point 'k', and likewise for the y- and z-components. When calculating the dipole matrix element, we use the commutator relation [H, x] = -i*hbar*p_x / m, where p_x is the momentum matrix element. Note, however, that this commutator relation is only approximately true for a normconserving DFT Hamiltonian due to the non-local pseudopotential operator. Using the commutator relation, the relation between the dipole transition matrix element and the momentum matrix element is x_nm = -i * hbar * p_nm^x / (m * E_nm), where 'm' is the electron mass and E_nm is the energy difference between the band energies E_n(k) - E_m(k).

configuration = The configuration for which to calculate the gradients
kpoint = The kpoint (as three floats representing fractional reciprocal space coordinates)
param number_of_states = The states in the index interval [0, number_of_states - 1] are used to construct the momentum operator matrix elements

Returns a matrix with shape (3, N, N), where N is the number of bands included (unpolarized, noncolinear and spin-orbit), or (2, 3, N, N) with the first index corresponding to Spin.Up and Spin.Down (for (spin-polarized)
Title: Re: Explanation of optical spectrum
Post by: narin on June 17, 2024, 21:51
Dr. Blom, thanks A LOT for your detailed reply...