Aiida-vibroscopy: workflow for IR Reflectance

Hi @bastonero

What is workflow for IR and IR Reflectance?

I am using following overrides.yaml that was available at your github example; Will this work or do I need to change anything here?

dielectric:
  clean_workdir: true
  kpoints_parallel_distance: 0.2 # kpoints distance in Angstrom^-1 to sample the BZ parallel to the electric field. If used, it should help in converging faster the final results
  property: raman
  # central_difference: # if you know what you are doing, custom numerical derivatives with respect to electric field
  #   accuracy: 2
  #   electric_field_step: 0.0005
  scf:
    pseudo_family: CrSBr
    kpoints_distance: 0.4 # kpoints distance in Angstrom^-1 to sample the BZ
    kpoints_force_parity: false
    max_iterations: 5
    pw:
      metadata:
        options:
          max_wallclock_seconds: 57600
          resources:
            num_machines: 1
            num_mpiprocs_per_machine: 256
              #queue_name: standard # for SLURM
          # account: account_name # for SLURM, also for project etc
          withmpi: true
      settings:
        cmdline: ['-pd', '.true.']
      parameters:
        ELECTRONS:
          conv_thr: 2.0e-12
          electron_maxstep: 100
          mixing_beta: 0.3
        SYSTEM:
          ecutrho: 400.0
          ecutwfc: 100.0
          vdw_corr: Grimme-D2




  settings:
    sleep_submission_time: 1.0
phonon:
  clean_workdir: true
  displacement_generator:
    distance: 0.005 # atomic displacements for phonon calculation, in Angstrom
  scf:
    pseudo_family: CrSBr
    kpoints_distance: 0.15 # kpoints distance in Angstrom^-1 to sample the BZ
    kpoints_force_parity: false
    max_iterations: 5
    pw:
      metadata:
        options:
          max_wallclock_seconds: 57600
          resources:
            num_machines: 1
            num_mpiprocs_per_machine: 256
          # queue_name: partition_name # for SLURM
          # account: account_name # for SLURM, also for project etc
          withmpi: true
      settings:
        cmdline: ['-pd', '.true.']
        # gamma_only: True # to use only if KpointsData has only a mesh 1 1 1 0 0 0 (i.e. Gamma not shifted)
      parameters:
        ELECTRONS:
          conv_thr: 2.0e-12
          electron_maxstep: 80
          mixing_beta: 0.3
        SYSTEM:

          ecutwfc: 100.0
          ecutrho: 400

          vdw_corr: Grimme-D2



  settings:
    sleep_submission_time: 1.0 # waiting time in seconds between different submission of SCF calculation. Recommended to be at least 1 second, to not overload.
settings:
  run_parallel: true
  use_primitive_cell: false
symmetry:
  distinguish_kinds: false
  is_symmetry: true
  symprec: 1.0e-05

Hello!

Actually, if you compute the Raman spectra, you also have for free the IR properties. Everything can be obtained directly from the VibrationalData using the post-processing utilities.

Please have a look at the methods available that starts with run_ (also here: run_normal_reflectivity_spectrum).

For instance, the reflectivity can be obtained via:

data = vibro.run_normal_reflectivity_spectrum([0,0,1]) # aiida-vibroscopy v1.1.0
x = data[0] # frequency range
y = data[1] # values of reflectivity between 0 and 1

Thanks @bastonero

I also saw PhononWorkChain — aiida-vibroscopy 1.1.0 documentation here that has thermal properties in output.

Can we also obtain thermal properties (thermal conductivity, and others) from similar workflow here?
Or it requires different setup in overrides.yaml?
Do you have examples for thermal properties calculations?

No, in the harmonic approximation you can’t have thermal conductivity, which is based on scattering features, hence you need at least the 3rd order force-constants. We are working on that.

What you can do is all the properties that can be computed by Phonopy (and via aiida-phonopy). Please have a look there to see if there is what you need.

Lorenzo