mikibonacci / aiidalab-qe-vibroscopy

MIT License
1 stars 1 forks source link

Discussion with Lorenzo #43

Closed mikibonacci closed 1 month ago

mikibonacci commented 9 months ago

pinning @AndresOrtegaGuerrero. This was a summary written by Lorenzo, after very fruitful discussion some day ago:

AiiDAlab for vibrational properties and spectroscopies: Discussed thoroughly the theory and implementation of the aiida-vibroscopy package From v1.1.0, aiida-vibroscopy will implement the complex dielectric tensor (IR regime) --> normal reflectivity, absorption and ELS

Raman spectra: Single-crystal polarized: units of the incoming/outgoing light polarization --> crystal unit cell coordinates; q-direction = kin-kout (crystal unit cell coordinates)

Unpolarized spectra (used also for powder in centrosymmetric crystals): divided in HH/VV and HV setups, the two common experimental setups; powder spectra is the sum of the two

Powder spectra for non-centrosymmetric crystals: this is the sum of the unpolarized spectra averaged among all the possible q-direction (done via the IntensitiesAverageWorkChain or via API of VibrationalData) Useful to have polarized spectra with rotation of the crystal/light polarization: very interesting for 2D materials; common setups are parallel and orthogonal polarization, and then rotation around the orhtogonal direction by angle theta

IR spectra: Single crystal polarized (as for Raman, but only 1 polarization direction) Unpolarized spectra and powder spectra, as for Raman Complex dielectric function: From this you can compute: normal reflectance, absorption (i.e. IR spectra), ELS (this one is still not implemented, but very easy to do, as it is ~Re 1/epsilon(w) )

Useful to tell how many supercells with displacements are going to be computed; this number doesn't depend on supercell size (check also Baroni 2001). To get this, use PreProcessData(...).displacements to get the number of displacements

The HarmonicWorkChain does the same job as ph.x: computes phonons in supercell (PhononWorkChain), and dielectric properties (Born charges, dielectric, Raman, non-linear-optical susceptibilit (Chi^(2)) tensors)

The IRamanSpectraWorkChain simple calls HarmonicWorkChain imposing supercell_matrix: [1,1,1], as it need phonons only at Gamma

If the HarmonicWorkChain is used given dielectric.property: 'raman' as input, then you also have everything for Raman

In conclusion, it's easier to: Always tell to compute IR (complex dielectric function) and Raman together Possibly implement interface for DielectricWorkChain in case dielectric properties (eps^infty and Chi^(2)) are of interest Insulator needs the NAC (Born charges, dielectric tensors) to interpolate well the phonon band structure --> insert a flag insulator/metal and activate automatically (you need to call HarmonicWorkChain with dielectric properties, at least second order derivatives here)?