Source code for EPWpy.utilities.read_xsf

import numpy as np


[docs] def read_xsf(filein=None): """ This function reads the xsf files """ if filein is None: print('No xsf files provided') i = 0 data = [] read_lattice = False read_ with open(filein,'r') as f: for line in f: if (i ==1): try: nr1x, nr2x, nr3x, nr1, nr2, nr3, nat, ntyp = np.array(line.split()).astype(int) ignore = nat+ntyp+6 except ValueError: continue if (i > 1): if (' PRIMCOORD' in line): pass if (i > 6): if (i> ignore): for d in line.split(): data.append(float(d)) i +=1 data = np.array(data).reshape(nr1x,nr2x,nr3x) return(data)
if __name__=="__main__": """ Reads xsf file """ data = read_xsf('hBN/pp/total_potential') print(np.shape(data)) data = read_xsf('difference.xsf') print(np.shape(data))