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
Useful properties to have in the app for experimentalists:
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)?
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 displacementsThe 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 GammaIf 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)?