Ejemplo n.º 1
0
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
       )
Ejemplo n.º 2
0
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,
       )
Ejemplo n.º 3
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))
Ejemplo n.º 4
0
            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))
Ejemplo n.º 5
0
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))
Ejemplo n.º 6
0
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()