epfd module

This Module contains the metods and fph class that an user would need to compute Electron Phonon Renormalization using frozen phonon finite difference method. This module also contains mc_convergence class that is needed to test convergence as well as obtaining the renormalized band gap and stochastic error bar from a stochastic displacement calculation.

class epfd.fph(eigval_file, etotal_file='etotal.dat', phonon_info_file='phonon.xml', overlap_file=None, degeneracy_cutoff=0.5, output_prefix='epfd', epce_unit='meV', vib_freq_unit='cm-1')

Bases: object

This class instantiates ipi_info, degeneracy and epce_calculators to do the all essentials calculations. This class also has the methods a user might require.

Arguments:

eigval_file = Name of the file containing Kohn-Sham eigen values (band energies).

etotal_file = Name of the file containing BO energies (<etotal> for qbox).

phonon_info_file = Name of the file that contains information after an (E)NMFD phonon calculation. It should be an i-PI RESTART file is i-PI is used. Other wise it should be a pyepfd restart file.

overlap_file = Name file containing overlap integrals. Default None.

output_prefix = Prefix of the output files

Warning

Here file names or prefixes are name but not full path file path should be given in pyepfd.inp_dir & pyepfd.out_dir.

degeneracy_cutoff = Float. If energies of two or more bands within a set is smaller than this value they would be considered degenerate and their average band energy would be used.

vib_freq_unit = Output unit for vibrational frequencies.

Options are: (1) 'Ha' , (2) 'cm-1', (3) 'eV', (4) 'meV', (5) 'kcal/mol', (6) 'kJ/mol', (7) 'K', (8) 'THz'. Default: 'cm-1'

epce_unit = Output unit for EPCE. Options are same as vib_freq_unit. Default: 'meV'

eigval_at_temp(temp_grid, eigval_unit='eV')

This method computes the electron-phonon renormalized band energies (Kohn-sham eigenvalues) at finite temperature

Arguments:

temp_grid = A python float list containig several temperatures

eigval_unit = Unit in which renormalized band energies/ eigenvalues should be returned. Default 'eV'. Options are same as vib_freq_unit.

Returns:

output_prefix.tscan.eigval file containing temperatures and renormalized band energies (Kohn-Sham eigenvalues).

epfd.temp_grid(T_start, T_end, NT)

Given a start-temperature (T_start), end-temperature (T_end) and number of temperature points (NT) this method creates a temperature grid and returns as a numpy array

epfd.write_temp_vs_energy(temp_grid, energy, col_header, output_prefix, energy_unit='eV')

This function writes the temperature and thermal averages in a file

Arguments:

temp_grid = Numpy float array of temperature grid

energy = A numpy float array of same length as of temp_grid. This contains the thermal averages.

col_header = A list of string that is used as column header to store informaition regarding the columns.

output_prefix = output file prefix. Suffix would be tscan.dat

energy_unit = The unit in which received energies are. Default 'eV'.

class epfd.mc_convergence(file_path, algo, usecols=None)

Bases: object

This class contains the methods to compute the electron-phonon renormalized properties from a stochastic calculation as well as its stochastic errorbar.

Arguments:

file_path = Name of the file containing Kohn-Sham eigen values (band energies).

algo = Algorithm used for the stochastic displacement. Allowed values are: (1) ‘OS’, (2) ‘OSAP’, (3) ‘OSR’, (4) ‘OSRAP’, (5) ‘MC’, (6) ‘MCAP’ See coord_util module for more information.

usecols = The index of the columns of the file given in file_path for computing renormalized properties.