示例#1
0
    def test_micro_pyawk(self):
        filename = os.path.join(test_dir, "OUTCAR")
        data = []
        def f(x, y):
            data.append(y.group(1).strip())

        f2 = lambda x, y: y
        micro_pyawk(filename, [["POTCAR:(.*)", f2, f]])
        self.assertEqual(len(data), 6)
示例#2
0
    def test_micro_pyawk(self):
        filename = os.path.join(test_dir, "OUTCAR")
        data = []
        def f(x, y):
            data.append(y.group(1).strip())

        f2 = lambda x, y: y
        micro_pyawk(filename, [["POTCAR:(.*)", f2, f]])
        self.assertEqual(len(data), 6)
示例#3
0
    def test_micro_pyawk(self):
        filename = os.path.join(PymatgenTest.TEST_FILES_DIR, "OUTCAR")
        data = []

        def f(x, y):
            data.append(y.group(1).strip())

        def f2(x, y):
            return y

        micro_pyawk(filename, [["POTCAR:(.*)", f2, f]])
        self.assertEqual(len(data), 6)
示例#4
0
    def read_berry_ev(self, fname):
        """
     Read berry_ev in pymatgen way.
     """
        berry_ev = []
        for spin in [1, 2]:
            search = []

            def func_berry_ev(results, match):
                results.berry = np.array([
                    float(match.group(1)),
                    float(match.group(2)),
                    float(match.group(3)),
                ])

            search.append([
                r"Spin component " + str(spin) + "\s"
                r"*e<r>_ev=\( *([-0-9.Ee+]*) *([-0-9.Ee+]*) "
                r"*([-0-9.Ee+]*) *\)", None, func_berry_ev
            ])
            results = micro_pyawk(fname, search, self)
            berry_ev.append(results.berry)
        # average over spin components 1 and 2
        berry_ev = np.mean(berry_ev, axis=0)
        return (berry_ev)