bands=np.array([3,4]) ecut=25./Hartree gw = GW( file=file, nbands=8, bands=np.array([3,4]), w=np.array([10., 30., 0.05]), ecut=25., eta=0.1, hilbert_trans=False ) gw.get_exact_exchange(communicator=serial_comm) gw.get_QP_spectrum() QP_False = gw.QP_skn * Hartree gw = GW( file=file, nbands=8, bands=np.array([3,4]), w=np.array([10., 30., 0.05]), ecut=25., eta=0.1, hilbert_trans=True ) gw.get_QP_spectrum()
atoms.set_calculator(calc) atoms.get_potential_energy() calc.diagonalize_full_hamiltonian() calc.write('Si_groundstate.gpw', 'all') gw = GW(file='Si_groundstate.gpw', nbands=None, bands=np.array([2, 3, 4, 5]), kpoints=None, ecut=100., txt='Si_EXX.out') gw.get_exact_exchange() for wlin in [25., 50., 75., 100.]: for dw in [0.02, 0.05, 0.1, 0.2, 0.5]: gw = GW(file='Si_groundstate.gpw', nbands=None, bands=np.array([2, 3, 4, 5]), kpoints=None, ecut=100., w=np.array([wlin, 150., dw]), wpar=4, txt='Si_GW_wlin%s_dw%s.out' % (wlin, dw)) gw.get_QP_spectrum(file='Si_GW_wlin%s_dw%s.pckl' % (wlin, dw))
atoms.set_calculator(calc) atoms.get_potential_energy() calc.write('Si_kpt3.gpw', 'all') file = 'Si_kpt3.gpw' gw = GW(file=file, nbands=8, bands=np.array([2, 3]), kpoints=np.arange(27), w=np.linspace(0., 60., 601), ecut=100., eta=0.1) gw.get_QP_spectrum() gw.Qp_kn *= Hartree checkQp_kn = np.zeros((gw.kd.nibzkpts, gw.gwnband)) nn = np.zeros(gw.kd.nibzkpts) for k in range(gw.nkpt): ibzk = gw.kd.bz2ibz_k[k] checkQp_kn[ibzk, :] += gw.Qp_kn[k, :] nn[ibzk] += 1 for k in range(gw.kd.nibzkpts): checkQp_kn[k] /= nn[k] for k in range(gw.nkpt): ibzk = gw.kd.bz2ibz_k[k]
calc.diagonalize_full_hamiltonian() calc.write('Si_groundstate.gpw','all') gw = GW( file='Si_groundstate.gpw', nbands=None, bands=np.array([2,3,4,5]), kpoints=None, ecut=100., txt='Si_EXX.out' ) gw.get_exact_exchange() for wlin in [25.,50.,75.,100.]: for dw in [0.02,0.05,0.1,0.2,0.5]: gw = GW( file='Si_groundstate.gpw', nbands=None, bands=np.array([2,3,4,5]), kpoints=None, ecut=100., w=np.array([wlin, 150., dw]), wpar=4, txt='Si_GW_wlin%s_dw%s.out' % (wlin, dw) ) gw.get_QP_spectrum(file='Si_GW_wlin%s_dw%s.pckl' % (wlin, dw))