file='Si_gs.gpw' nbands=8 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 )
calc.write('C_gs.gpw','all') file='C_gs.gpw' gw = GW( file=file, nbands=25, bands=np.array([3,4]), w=np.array([75., 100., 0.05]), ecut=25., eta=0.2, ppa=False, hilbert_trans=False, ) gw.get_exact_exchange() gw.get_QP_spectrum() QP_False = gw.QP_skn * Hartree gw = GW( file=file, nbands=25, bands=np.array([3,4]), w=np.array([75., 100., 0.05]), ecut=25., eta=0.2, ppa=True, hilbert_trans=False, )
for ecut in [50,100,150,200]: calc = GPAW( mode=PW(ecut), kpts=kpts, xc='LDA', eigensolver='cg', occupations=FermiDirac(0.001), parallel={'band': 1}, txt='Si_groundstate_k%s_ecut%s.txt' % (k, ecut) ) atoms.set_calculator(calc) atoms.get_potential_energy() calc.diagonalize_full_hamiltonian() calc.write('Si_groundstate_k%s_ecut%s.gpw' % (k, ecut),'all') gw = GW( file='Si_groundstate_k%s_ecut%s.gpw' % (k, ecut), nbands=None, bands=np.array([2,3,4,5]), kpoints=None, ecut=ecut, ppa=True, txt='Si_EXX_k%s_ecut%s.out' % (k, ecut) ) gw.get_exact_exchange(file='Si_EXX_k%s_ecut%s.pckl' % (k, ecut))
txt='Si_groundstates.txt') 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))
for k in [3, 5, 7, 9]: kpts = (k, k, k) for ecut in [50, 100, 150, 200]: calc = GPAW(mode=PW(ecut), kpts=kpts, xc='LDA', eigensolver='cg', occupations=FermiDirac(0.001), parallel={'band': 1}, txt='Si_groundstate_k%s_ecut%s.txt' % (k, ecut)) atoms.set_calculator(calc) atoms.get_potential_energy() calc.diagonalize_full_hamiltonian() calc.write('Si_groundstate_k%s_ecut%s.gpw' % (k, ecut), 'all') gw = GW(file='Si_groundstate_k%s_ecut%s.gpw' % (k, ecut), nbands=None, bands=np.array([2, 3, 4, 5]), kpoints=None, ecut=ecut, ppa=True, txt='Si_EXX_k%s_ecut%s.out' % (k, ecut)) gw.get_exact_exchange(file='Si_EXX_k%s_ecut%s.pckl' % (k, ecut))
calc.write('Si_gs.gpw', 'all') file = 'Si_gs.gpw' nbands = 8 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()