Source code for EPWpy.QE.auto_wannier

import numpy as np




[docs] def auto_wann(file): pass
[docs] def obj_func(x,band): prepare_wann(x) run_wann() spread, band=read_wann(file,num_wann) objective_func = np.sqrt(np.sum(spread)**2+np.sqrt(np.absolute(E_nscf[:]-band[:])**2)) return(objective_func)
[docs] def prepare_wann(x): dis_win_min,dis_win_max,dis_froz_min,dis_froz_max,orbitals=x[:]
[docs] def read_wann(file,num_wann): t = 0 spread=np.zeros((num_wann,1),dtype=float) spread = 1000 with open(file,'r') as f: for line in f: if('Final State' in line): t = 1 if (t >= 2): if ('WF centre and spread' in line): print(line.split()) spread[int(line.split()[4])-1] = float(line.split()[-1]) t = t*2 return(spread)
if __name__=="__main__": spread=read_wann('si.wout',8) print(spread)