This is the documentation for asr.c2db.shift-recipe. This recipe is comprised of a single instruction, namely:

Run this recipe through the CLI interface

$ asr run asr.c2db.shift

or as a python module

$ python -m asr.c2db.shift



asr.c2db.shift.main(atoms, calculator={'charge': 0, 'convergence': {'bands': 'CBM+3.0'}, 'kpts': {'density': 12.0, 'gamma': True}, 'mode': {'ecut': 800, 'name': 'pw'}, 'name': 'gpaw', 'nbands': '200%', 'occupations': {'name': 'fermi-dirac', 'width': 0.05}, 'txt': 'gs.txt', 'xc': 'PBE'}, kptdensity=25.0, bandfactor=4, eta=0.05, energytol=1e-06, maxomega=10.0, nromega=1000, removefiles=False)[source]

Calculate the shift current spectrum, only independent tensor elements.

The recipe computes the shift current. The tensor in general have 18 independent tensor elements (since it is symmetric). However, the point group symmetry reduces the number of independent tensor elements. The shift spectrum is calculated using perturbation theory.

  • gs (str) – The ground state filename.

  • kptdensity (float) – K-point density.

  • bandfactor (int) – Number of unoccupied bands: (#occ. bands) * bandfactor.

  • eta (float) – Broadening used for finding the spectrum.

  • energytol (float) – Energy tolernce to remove degeneracies.

  • maxomega (float) – Max pump frequency.

  • nromega (int) – Number of pump frequencies.

  • removefiles (bool) – Remove intermediate files that are created.

  • atoms (ase.atoms.Atoms) –

  • calculator (dict) –

Return type


class asr.c2db.shift.Result(sigma, symm, freqs)[source]
property freqs: List[float]

Pump photon energy [eV]

property sigma: Dict[str, Any]

Non-zero shift conductivity tensor elements in SI units

property symm: Dict[str, str]

Symmetry relation of shift conductivity tensor