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