Exemple #1
0
 def test_seg_fault(self):
     vi = VaspInput.from_directory(".")
     from custodian.vasp.interpreter import VaspModder
     VaspModder(vi=vi).apply_actions([{
         "dict": "INCAR",
         "action": {
             "_set": {
                 "KPAR": 4
             }
         }
     }])
     h = StdErrHandler("std_err.txt.seg_fault", correct_seg_fault=True)
     self.assertEqual(h.check(), True)
     d = h.correct()
     self.assertEqual(d["errors"], ['seg_fault'])
     self.assertEqual(d["actions"], [{
         'dict': 'INCAR',
         'action': {
             '_set': {
                 'ISMEAR': '0'
             }
         }
     }])
     self.assertEqual(h.check(), True)
     d = h.correct()
     self.assertEqual(d["errors"], ['seg_fault'])
     # no fix if still seg fault
     self.assertEqual(d["actions"], [])
Exemple #2
0
    def test_lrf_comm(self):
        h = StdErrHandler("std_err.txt")
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['lrf_comm'])
        vi = VaspInput.from_directory(".")
        self.assertEqual(vi["INCAR"]["ISTART"], 1)

        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['lrf_comm'])
        self.assertEqual(d["actions"], [])  # don't correct twice
Exemple #3
0
    def test_lrf_comm(self):
        h = StdErrHandler("std_err.txt")
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['lrf_comm'])
        vi = VaspInput.from_directory(".")
        self.assertEqual(vi["INCAR"]["ISTART"], 1)

        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['lrf_comm'])
        self.assertEqual(d["actions"], [])  # don't correct twice
Exemple #4
0
    def test_kpoints_trans(self):
        h = StdErrHandler("std_err.txt.kpoints_trans")
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['kpoints_trans'])
        self.assertEqual(d["actions"],
                         [{u'action': {u'_set':
                                {u'kpoints': [[4, 4, 4]]}},
                                u'dict': u'KPOINTS'}])

        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['kpoints_trans'])
        self.assertEqual(d["actions"], [])  # don't correct twice
Exemple #5
0
    def test_kpoints_trans(self):
        h = StdErrHandler("std_err.txt.kpoints_trans")
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['kpoints_trans'])
        self.assertEqual(d["actions"],
                         [{u'action': {u'_set':
                                {u'kpoints': [[4, 4, 4]]}},
                                u'dict': u'KPOINTS'}])

        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['kpoints_trans'])
        self.assertEqual(d["actions"], [])  # don't correct twice
Exemple #6
0
 def test_seg_fault(self):
     vi = VaspInput.from_directory(".")
     from custodian.vasp.interpreter import VaspModder
     VaspModder(vi=vi).apply_actions([{"dict": "INCAR",
                                       "action": {"_set": {"KPAR": 4}}}])
     h = StdErrHandler("std_err.txt.seg_fault", correct_seg_fault=True)
     self.assertEqual(h.check(), True)
     d = h.correct()
     self.assertEqual(d["errors"], ['seg_fault'])
     self.assertEqual(d["actions"],
                      [{'dict': 'INCAR',
                        'action': {'_set': {'ISMEAR': '0'}}}])
     self.assertEqual(h.check(), True)
     d = h.correct()
     self.assertEqual(d["errors"], ['seg_fault'])
     # no fix if still seg fault
     self.assertEqual(d["actions"], [])
Exemple #7
0
    def test_oom(self):
        vi = VaspInput.from_directory(".")
        from custodian.vasp.interpreter import VaspModder
        VaspModder(vi=vi).apply_actions([{"dict": "INCAR",
                                          "action": {"_set": {"KPAR": 4}}}])
        h = StdErrHandler("std_err.txt.oom", correct_out_of_memory=True)
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['out_of_memory'])
        self.assertEqual(d["actions"],
                         [{'dict': 'INCAR',
                           'action': {'_set': {'KPAR': 2}}}])

        h = StdErrHandler("std_err.txt.oom2", correct_out_of_memory=True)
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['out_of_memory'])
        self.assertEqual(d["actions"],
                         [{'dict': 'INCAR',
                           'action': {'_set': {'KPAR': 1}}}])

        vi = VaspInput.from_directory(".")
        from custodian.vasp.interpreter import VaspModder
        VaspModder(vi=vi).apply_actions([{"dict": "INCAR",
                                          "action": {"_set": {"KPAR": 4}}}])
        h = StdErrHandler("std_err.txt.emlsp", correct_out_of_memory=True)
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['out_of_memory'])
        self.assertEqual(d["actions"],
                         [{'dict': 'INCAR',
                           'action': {'_set': {'KPAR': 2}}}])

        vi = VaspInput.from_directory(".")
        from custodian.vasp.interpreter import VaspModder
        VaspModder(vi=vi).apply_actions([{"dict": "INCAR",
                                          "action": {"_set": {"KPAR": 4}}}])
        h = StdErrHandler("std_err.txt.insufficient_mem", correct_out_of_memory=True)
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ['out_of_memory'])
        self.assertEqual(d["actions"],
                         [{'dict': 'INCAR',
                           'action': {'_set': {'KPAR': 2}}}])
Exemple #8
0
 def test_oom(self):
     vi = VaspInput.from_directory(".")
     from custodian.vasp.interpreter import VaspModder
     VaspModder(vi=vi).apply_actions([{"dict": "INCAR",
                                       "action": {"_set": {"KPAR": 4}}}])
     h = StdErrHandler("std_err.txt.oom")
     self.assertEqual(h.check(), True)
     d = h.correct()
     self.assertEqual(d["errors"], ['out_of_memory'])
     self.assertEqual(d["actions"],
                      [{'dict': 'INCAR',
                        'action': {'_set': {'KPAR': 2}}}])
Exemple #9
0
    def test_kpoints_trans(self):
        h = StdErrHandler("std_err.txt.kpoints_trans")
        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ["kpoints_trans"])
        self.assertEqual(
            d["actions"],
            [{
                "action": {
                    "_set": {
                        "kpoints": [[4, 4, 4]]
                    }
                },
                "dict": "KPOINTS"
            }],
        )

        self.assertEqual(h.check(), True)
        d = h.correct()
        self.assertEqual(d["errors"], ["kpoints_trans"])
        self.assertEqual(d["actions"], [])  # don't correct twice