Skip to content

Magneto-optics in Sternheimer

The aim of this branch is to fix and update implementation of magneto-optics for solids within Sternheimer approach.

Corrections:

  • A small fix to writing restart of linear-response wavefunctions in the case of parallelization over k-points (previously only one node was writing).
  • A small fix to symmetrization of magneto-optical response: this should be done using the reduced rotation matrix, otherwise the output is just zero.
  • Time-reversal symmetry should be taken into account explicitly in calculations of the magneto-optical response of solids when the reduced k-point grid is used. This requires calculation of perturbations with negative imaginary part of the frequency and the corresponding wavefunctions are introduced using ifactor=2.
  • The output over k-points is added for the dielectric constant of solids with and without magnetic field. This is useful to analyze the contribution of separate k-points into the total spectra. A new input variable is added to know whether to give this output (EMKPointOutput).
  • Only relevant (anisymmetrized non-diagonal) components of polarizability are now given in the output for magneto-optics.

Added input variable:

  • EMKPointOutput: a logical variable, default is "false". "True" means that contributions of different k-points will given in the output for dielectric constant epsilon and dielectric constant epsilon_mo in the presence of the magnetic field (only applicable to the case of more than 1 k-point).

Added tests:

  • A testcase for magneto-optics of finite systems by the example of H2O molecule (1 additional calculation run within the existing test).
  • Testcases for magneto-optics and magnetic susceptibility of periodic systems with one k-point by the example of H2O molecule (2 additional calculation runs for the existing test).
  • Testcases for magneto-optics and magnetic susceptibility of periodic systems by the example of silicon (2 additional calculation runs for the existing test). The parallelization over k-points has been also "turned on" the kdotp and emresp input files to ensure proper writing and reading of restart files in this case.

Additional note:

  • The last commit failed because of lda-u/07-noncollinear.test, which should not be related to changes in this branch.

Merge request reports

Loading