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]),
Example #2
0
           )

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]),
Example #3
0
            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
Example #5
0
            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]),
Example #6
0
    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))
Example #7
0
            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))
Example #9
0
            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]),
Example #10
0
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()
Example #11
0
            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.,