Skip to content

plot_pdos_with_atoms_contribution_2plots_qe

esta.plot.plot_pdos_with_atoms_contribution_2plots_qe

get_pdos_files(atm_info)

extract files based on the atomic number of atoms

input:
atm_info: list of integers for atoms whose pdos is needed with all s,p,d...charaters
output:
fileslist: list of all files whose pdos is needed

get_range_int_from_intervals(list_of_intervals)

get range of integers from intervals (in the form of strings)

input:
list of intervals: e.g. ['1','2-4','6-10'] 
note that elements of list are strings
output:
range of intervals: e.g. [1, 2, 3, 4, 6, 7, 8, 9, 10]
note that elements are integers

checkEqual_list(lst)

comparing all the elements of list and return logical variable whether they are same or different

process_colums(filelist)

  • summing the 2nd, and 3rd columns of the following multiple files and create new file with 0th column (from one file), 1st summed and 2nd summed columns from all files
input:
filelist: list of all files whose columns hve to be processed
output:
 sum_data_file: file with resultant columns,
 data_array: array[:,:,0:3] data with processed columns

get_plots1(filename, fileout, llabel, refenergy=None, lspin=False)

plot data in the form of single or multiple plots

NOTE:

for multiple plots: try following

    fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True)

    ax1.fill_between(x, 0, y1, facecolor='yellow', alpha=0.5))
    ax1.set_ylabel('between y1 and 0')

    ax2.fill_between(x, y1, 1)
    ax2.set_ylabel('between y1 and 1')

    ax3.fill_between(x, y1, y2)
    ax3.set_ylabel('between y1 and y2')
    ax3.set_xlabel('x')

get_plots(fileout, llabel, fil, refenergy=None, lspin=False)

plot data in the form of single or multiple plots

NOTE:

for multiple plots: try following

    fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True)

    ax1.fill_between(x, 0, y1, facecolor='yellow', alpha=0.5))
    ax1.set_ylabel('between y1 and 0')

    ax2.fill_between(x, y1, 1)
    ax2.set_ylabel('between y1 and 1')

    ax3.fill_between(x, y1, y2)
    ax3.set_ylabel('between y1 and y2')
    ax3.set_xlabel('x')