コード例 #1
0
ファイル: xas.py プロジェクト: thonmaker/gpaw
    def run(self, nsteps, inverse_overlap='exact'):

        if inverse_overlap == 'exact':
            self.solver = self.solve
        elif inverse_overlap == 'approximate':
            self.solver = self.solve2
        elif inverse_overlap == 'noinverse':
            self.solver = self.solve3
        else:
            raise RuntimeError("Error, inverse_solver must be either 'exact' "
                               "'approximate' or 'noinverse'")

        self.overlap = Overlap()

        ni = self.a_uci.shape[2]
        a_uci = np.empty((self.nmykpts, self.dim, ni + nsteps), self.wfs.dtype)
        b_uci = np.empty((self.nmykpts, self.dim, ni + nsteps), self.wfs.dtype)
        a_uci[:, :, :ni] = self.a_uci
        b_uci[:, :, :ni] = self.b_uci
        self.a_uci = a_uci
        self.b_uci = b_uci

        for u in range(self.nmykpts):
            for i in range(nsteps):
                self.step(u, ni + i)
コード例 #2
0
ファイル: fdpw.py プロジェクト: yihsuanliu/gpaw
    def __init__(self, diagksl, orthoksl, initksl, *args, **kwargs):
        WaveFunctions.__init__(self, *args, **kwargs)

        self.diagksl = diagksl
        self.orthoksl = orthoksl
        self.initksl = initksl

        self.set_orthonormalized(False)

        self.overlap = Overlap(orthoksl, self.timer)