Skip to content

EpwParser: New parse functions #12

@ymzhang0

Description

@ymzhang0

Hi all, currently the EpwParser have the following parsing functions:

parse_stdout(): here we get code_version, allen_dynes, fermi_energy_coarse, max_eigenvalue
parse_a2f(): here we get spectral functions
parse_bands(): here we get interpolated electron/phonon bands.

Here are some comments on the existing parsing functions:

  • for parse_stdout(), we can extract more information, for example omega_log, lambda, etc. Note that there are changes of output file at EPW v6.0 so we may have an if statement according to code_version.
  • for parse_bands(), when I was providing data for MC3D website I notice that the BandsData doesn't have label contained. In fact, the KpointsData are parsed from band.eig/ph.freq files but not generated by seekpath. That is not convenient if we want to give a quick check when we export the BandsData. Maybe we can link the output BandsData with the input KpointsData instead of using the parsed one?
  • for the calculation of isotropic Tc, currently I have no idea whether it's better to put it as an independent CalcFunction or we put it inside the parser.

Besides, there are more files that I think are important and we should retrieve and parse.

  • out/aiida.dos: electron density of states, to be parsed as an XyData.
  • aiida.phdos(_proj): phonon density of states, to be parsed as an XyData.
  • aiida.imag_iso_XX (XX for temperature). These files don't exist if we use linearized Eliashberg equation. But isotropic calculation is not heavy. I would suggest using the full version instead of the linearized one in the future. So, this parsing function can be useful. These files should be parsed and merged into one ArrayData.
  • aiida.imag_aniso_gap0_XX (XX for temperature): anisotropic gap functions, to be parsed as an ArrayData.

For the last two, the ArrayData should contain gap functions with temperatures as their keys. However, ArrayData doesn't allow float as keys. I substitute '.' with '-' to convert float numbers to string. For example, 1.0 is saved as '1_0'. It is a bit weird, but I have no better solution.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions