convergence={'bands':25}, eigensolver='cg', occupations=FermiDirac(0.001) ) atoms.set_calculator(calc) atoms.get_potential_energy() 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]),
) atoms.set_calculator(calc) atoms.get_potential_energy() 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]),
occupations=FermiDirac(0.001) ) 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
xc='LDA', txt='Si_gs.txt', nbands=20, convergence={'bands': 8}, occupations=FermiDirac(0.001)) 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
kpts=(3, 3, 3), xc='LDA', eigensolver='cg', occupations=FermiDirac(0.001), parallel={'band': 1}, 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]),
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))
eigensolver='cg', occupations=FermiDirac(0.001), parallel={'band': 1}, 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,
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))
symmetry='off', convergence={'bands': 25}, eigensolver='cg', occupations=FermiDirac(0.001)) atoms.set_calculator(calc) atoms.get_potential_energy() 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]),
import numpy as np from gpaw.response.gw import GW gw = GW( file='Si_groundstate.gpw', nbands=100, # number of bands for calculation of self-energy bands=np.array( [2, 3, 4, 5]), # here: two highest valence and two lowest conduction bands kpoints=None, # by default: all points in irreducible Brillouin zone ecut=50., # plane wave cutoff for self-energy ppa=True, # use Plasmon Pole Approximation txt='Si-3k_GW.out') gw.get_exact_exchange() gw.get_QP_spectrum()
convergence={'bands': 8}, occupations=FermiDirac(0.001)) atoms.set_calculator(calc) atoms.get_potential_energy() 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.,