예제 #1
0
파일: gw.py 프로젝트: robwarm/gpaw-symm
    def __init__(
                 self,
                 file=None,
                 nbands=None,
                 bands=None,
                 kpoints=None,
                 e_skn=None,
                 eshift=None,
                 w=None,
                 ecut=150.,
                 eta=0.1,
                 ppa=False,
                 E0=None,
                 hilbert_trans=False,
                 wpar=1,
                 vcut=None,
                 numint=False,
                 txt=None
                ):

        BASECHI.__init__(self, calc=file, nbands=nbands, w=w, eshift=eshift, ecut=ecut, eta=eta, txt=devnull)

        self.file = file
        self.gwnbands = nbands
        self.bands = bands
        self.kpoints = kpoints
        self.user_skn = e_skn
        self.ppa = ppa
        self.E0 = E0
        self.hilbert_trans = hilbert_trans
        self.wpar = wpar
        self.vcut = vcut
        self.numint = numint
        self.gwtxtname = txt
예제 #2
0
    def __init__(
        self,
        calc=None,
        nbands=None,
        w=None,
        q=None,
        eshift=None,
        ecut=10.0,
        density_cut=None,
        G_plus_q=False,
        eta=0.2,
        rpad=None,
        vcut=None,
        ftol=1e-5,
        txt=None,
        xc="ALDA",
        hilbert_trans=True,
        time_ordered=False,
        optical_limit=False,
        comm=None,
        kcommsize=None,
    ):

        BASECHI.__init__(
            self,
            calc=calc,
            nbands=nbands,
            w=w,
            q=q,
            eshift=eshift,
            ecut=ecut,
            density_cut=density_cut,
            G_plus_q=G_plus_q,
            eta=eta,
            rpad=rpad,
            ftol=ftol,
            txt=txt,
            optical_limit=optical_limit,
        )

        # if vcut is None:
        #    vcut = '%dD' % self.calc.wfs.gd.pbc_c.sum()
        self.vcut = vcut

        self.xc = xc
        self.hilbert_trans = hilbert_trans
        self.full_hilbert_trans = time_ordered
        self.kcommsize = kcommsize
        self.comm = comm
        if self.comm is None:
            self.comm = world
        self.chi0_wGG = None
예제 #3
0
    def __init__(
            self,
            calc=None,
            nbands=None,
            nc=None,
            nv=None,
            w=None,
            q=None,
            eshift=None,
            ecut=10.,
            eta=0.2,
            gw_skn=None,  # GW QP energies in Hartree
            rpad=None,
            vcut=None,  # Coulomb cutoff only 2D works
            ftol=1e-5,
            txt=None,
            optical_limit=None,
            integrate_coulomb=None,
            print_coulomb=False,
            coupling=False,  # False : use Tamm-Dancoff Approx
            mode='BSE',  # BSE, TDHF or RPA
            kernel_file=None,  #'W_qGG',
            qsymm=True):

        BASECHI.__init__(self,
                         calc=calc,
                         nbands=nbands,
                         w=w,
                         q=q,
                         eshift=eshift,
                         ecut=ecut,
                         eta=eta,
                         rpad=rpad,
                         ftol=ftol,
                         txt=txt,
                         optical_limit=optical_limit)

        assert mode in ['RPA', 'TDHF', 'BSE']

        self.epsilon_w = None
        self.coupling = coupling
        self.vcut = vcut
        self.nc = nc  # conduction band index
        self.nv = nv  # valence band index
        self.gw_skn = gw_skn
        self.mode = mode
        self.integrate_coulomb = integrate_coulomb
        self.print_coulomb = print_coulomb
        self.kernel_file = kernel_file
        self.qsymm = qsymm
예제 #4
0
파일: bse.py 프로젝트: yihsuanliu/gpaw
    def __init__(self,
                 calc=None,
                 nbands=None,
                 w=None,
                 q=None,
                 ecut=10.,
                 eta=0.2,
                 ftol=1e-5,
                 txt=None,
                 optical_limit=False):

        BASECHI.__init__(self, calc, nbands, w, q, ecut, eta, ftol, txt,
                         optical_limit)

        self.epsilon_w = None
예제 #5
0
파일: bse.py 프로젝트: qsnake/gpaw
    def __init__(self,
                 calc=None,
                 nbands=None,
                 w=None,
                 q=None,
                 ecut=10.,
                 eta=0.2,
                 ftol=1e-5,
                 txt=None,
                 optical_limit=False):

        BASECHI.__init__(self, calc, nbands, w, q, ecut,
                     eta, ftol, txt, optical_limit)


        self.epsilon_w = None
예제 #6
0
파일: bse.py 프로젝트: robwarm/gpaw-symm
    def __init__(self,
                 calc=None,
                 nbands=None,
                 nc=None,
                 nv=None,
                 w=None,
                 q=None,
                 eshift=None,
                 ecut=10.,
                 eta=0.2,
                 gw_skn=None, # GW QP energies in Hartree
                 rpad=None,
                 vcut=None,   # Coulomb cutoff only 2D works
                 ftol=1e-5,
                 txt=None,
                 optical_limit=None,
                 integrate_coulomb=None,
                 print_coulomb=False,
                 coupling=False,  # False : use Tamm-Dancoff Approx
                 mode='BSE',      # BSE, TDHF or RPA
                 kernel_file=None,#'W_qGG',
                 qsymm=True): 

        BASECHI.__init__(self, calc=calc, nbands=nbands, w=w, q=q,
                         eshift=eshift, ecut=ecut, eta=eta, rpad=rpad,
                         ftol=ftol, txt=txt, optical_limit=optical_limit)

        assert mode is 'RPA' or 'TDHF' or 'BSE'

        self.epsilon_w = None
        self.coupling = coupling
        self.vcut = vcut
        self.nc = nc # conduction band index
        self.nv = nv # valence band index
        self.gw_skn = gw_skn
        self.mode = mode
        self.integrate_coulomb = integrate_coulomb
        self.print_coulomb = print_coulomb
        self.kernel_file = kernel_file
        self.qsymm = qsymm
예제 #7
0
    def __init__(self,
                 file=None,
                 nbands=None,
                 bands=None,
                 kpoints=None,
                 e_skn=None,
                 eshift=None,
                 w=None,
                 ecut=150.,
                 eta=0.1,
                 ppa=False,
                 E0=None,
                 hilbert_trans=False,
                 wpar=1,
                 vcut=None,
                 numint=False,
                 txt=None):

        BASECHI.__init__(self,
                         calc=file,
                         nbands=nbands,
                         w=w,
                         eshift=eshift,
                         ecut=ecut,
                         eta=eta,
                         txt=devnull)

        self.file = file
        self.gwnbands = nbands
        self.bands = bands
        self.kpoints = kpoints
        self.user_skn = e_skn
        self.ppa = ppa
        self.E0 = E0
        self.hilbert_trans = hilbert_trans
        self.wpar = wpar
        self.vcut = vcut
        self.numint = numint
        self.gwtxtname = txt
예제 #8
0
파일: chi.py 프로젝트: qsnake/gpaw
    def __init__(self,
                 calc=None,
                 nbands=None,
                 w=None,
                 q=None,
                 ecut=10.,
                 eta=0.2,
                 ftol=1e-5,
                 txt=None,
                 hilbert_trans=True,
                 full_response=False,
                 optical_limit=False,
                 kcommsize=None):

        BASECHI.__init__(self, calc, nbands, w, q, ecut,
                     eta, ftol, txt, optical_limit)

        self.hilbert_trans = hilbert_trans
        self.full_hilbert_trans = full_response
        self.kcommsize = kcommsize
        self.comm = world
        self.chi0_wGG = None
예제 #9
0
    def __init__(self,
                 calc=None,
                 nbands=None,
                 w=None,
                 q=None,
                 eshift=None,
                 ecut=10.,
                 density_cut=None,
                 G_plus_q=False,
                 eta=0.2,
                 rpad=None,
                 vcut=None,
                 ftol=1e-5,
                 txt=None,
                 xc='ALDA',
                 hilbert_trans=True,
                 time_ordered=False,
                 optical_limit=False,
                 comm=None,
                 kcommsize=None):

        BASECHI.__init__(self, calc=calc, nbands=nbands, w=w, q=q,
                         eshift=eshift, ecut=ecut,
                         density_cut=density_cut, G_plus_q=G_plus_q, eta=eta,
                         rpad=rpad, ftol=ftol, txt=txt,
                         optical_limit=optical_limit)
        
        #if vcut is None:
        #    vcut = '%dD' % self.calc.wfs.gd.pbc_c.sum()
        self.vcut = vcut

        self.xc = xc
        self.hilbert_trans = hilbert_trans
        self.full_hilbert_trans = time_ordered
        self.kcommsize = kcommsize
        self.comm = comm
        if self.comm is None:
            self.comm = world
        self.chi0_wGG = None
예제 #10
0
    def __init__(self,
                 calc=None,
                 nbands=None,
                 w=None,
                 q=None,
                 ecut=10.,
                 eta=0.2,
                 ftol=1e-5,
                 txt=None,
                 hilbert_trans=True,
                 full_response=False,
                 optical_limit=False,
                 kcommsize=None):

        BASECHI.__init__(self, calc, nbands, w, q, ecut, eta, ftol, txt,
                         optical_limit)

        self.hilbert_trans = hilbert_trans
        self.full_hilbert_trans = full_response
        self.kcommsize = kcommsize
        self.comm = world
        self.chi0_wGG = None