Пример #1
0
 def test_get_energy_from_energy_file(self):
     kdict=dict()
     kdict['mast_neb_settings']=dict()
     kdict['mast_neb_settings']['images']=3
     myvcneb=VaspNEBChecker(name="done",program_keys=kdict)
     estr = myvcneb.get_energy_from_energy_file()
     estr_compare="-99.860;-99.649;-99.538;-99.649;-99.860"
     self.assertEqual(estr,estr_compare)
Пример #2
0
 def test_get_path_to_write_neb_parent_energy(self):
     kdict=dict()
     kdict['mast_neb_settings']=dict()
     kdict['mast_neb_settings']['images']=3
     myvcneb=VaspNEBChecker(name="childdir",program_keys = kdict)
     mypath = myvcneb.get_path_to_write_neb_parent_energy(1)
     self.assertEqual(mypath, "childdir/00/OSZICAR")
     mypath = myvcneb.get_path_to_write_neb_parent_energy(2)
     self.assertEqual(mypath, "childdir/04/OSZICAR")
     mypath = myvcneb.get_path_to_write_neb_parent_energy('02')
     self.assertEqual(mypath, "childdir/02/OSZICAR")
Пример #3
0
 def test_is_started(self):
     kdict=dict()
     kdict['images']=3
     myvcneb=VaspNEBChecker(name="notready1",program_keys=kdict)
     self.assertFalse(myvcneb.is_started())
     myvcneb=VaspNEBChecker(name="ready",program_keys=kdict)
     self.assertFalse(myvcneb.is_started())
     myvcneb=VaspNEBChecker(name="started",program_keys=kdict)
     self.assertTrue(myvcneb.is_started())
     myvcneb=VaspNEBChecker(name="done",program_keys=kdict)
     self.assertTrue(myvcneb.is_started())
Пример #4
0
 def test_set_up_neb_folders_no_mast_coordinates(self):
     mystrs=list()
     pos=dict()
     for posstr in ['00','01','02','03','04']:
         pos[posstr] = pymatgen.io.vaspio.Poscar.from_file("structures/POSCAR_%s" % posstr)
         mystrs.append(pos[posstr].structure)
     kdict=dict()
     kdict['images']=3
     myvcneb=VaspNEBChecker(name="childdir",program_keys=kdict)
     myvcneb.set_up_neb_folders(mystrs)
     for subdir in ['00','01','02','03','04']:
         mypos = pymatgen.io.vaspio.Poscar.from_file("childdir/POSCAR_%s" % subdir)
         self.assertEqual(mypos.structure,pos[subdir].structure)
         self.assertEqual(mypos.structure.lattice,pos[subdir].structure.lattice)
         self.assertEqual(mypos.structure.sites,pos[subdir].structure.sites)
         mypos = pymatgen.io.vaspio.Poscar.from_file("childdir/%s/POSCAR" % subdir)
         self.assertEqual(mypos.structure,pos[subdir].structure)
         self.assertEqual(mypos.structure.lattice,pos[subdir].structure.lattice)
         self.assertEqual(mypos.structure.sites,pos[subdir].structure.sites)
Пример #5
0
 def test_set_up_program_input(self):
     mystrs=list()
     pos=dict()
     for posstr in ['00','01','02','03','04']:
         pos[posstr] = pymatgen.io.vaspio.Poscar.from_file("structures/POSCAR_%s" % posstr)
         mystrs.append(pos[posstr].structure)
     kdict=dict()
     kdict['mast_kpoints']=[3,3,3,"G"]
     kdict['mast_xc']="pw91"
     kdict['mast_neb_settings']=dict()
     kdict['mast_neb_settings']['images']=3
     kdict['mast_neb_settings']['image_structures'] = mystrs
     myvcneb=VaspNEBChecker(name="childdir",program_keys=kdict)
     myvcneb.set_up_program_input()
     submitscript = MASTFile()
     submitscript.data="Submission script placeholder."
     submitscript.to_file("childdir/submit.sh")
     ozholder = MASTFile()
     ozholder.data="OSZICAR placeholder."
     submitscript.to_file("childdir/00/OSZICAR")
     submitscript.to_file("childdir/04/OSZICAR")
     self.assertTrue(myvcneb.is_ready_to_run())
Пример #6
0
 def test__vasp_incar_setup(self):
     my_poscar = pymatgen.io.vaspio.Poscar.from_file("structures/POSCAR_00")
     my_structure = my_poscar.structure
     my_poscar.write_file("childdir/POSCAR")
     kdict=dict()
     kdict['mast_xc'] = "pw91"
     kdict['mast_pp_setup']={'Cr':'Cr_pv','Fe':'Fe_sv','Ni':'Ni_pv'}
     kdict['mast_neb_settings']=dict()
     kdict['mast_neb_settings']['images']=3
     kdict['IBRION'] = '1'
     kdict['POTIM'] = '0.5'
     kdict['LCLIMB'] = 'True'
     kdict['SPRING'] ='-5'
     myvc = VaspNEBChecker(name="childdir",program_keys=kdict,structure=my_structure)
     mypot = myvc._vasp_potcar_setup(my_poscar)
     myvc._vasp_incar_setup(mypot, my_poscar)
     myvc._vasp_neb_incar_modify()
     myincar = pymatgen.io.vaspio.Incar.from_file(os.path.join(testdir,"childdir","INCAR"))
     incar_compare = pymatgen.io.vaspio.Incar.from_file(os.path.join(testdir,"files","INCAR"))
     self.assertEqual(myincar, incar_compare)
Пример #7
0
 def test_is_ready_to_run(self):
     kdict=dict()
     kdict['mast_neb_settings']=dict()
     kdict['mast_neb_settings']['images']=3
     myvcneb=VaspNEBChecker(name="notready1",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="notready2",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="notready3",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="notready4",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="notready5",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="notready6",program_keys=kdict)
     self.assertFalse(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="ready", program_keys=kdict)
     self.assertTrue(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="started", program_keys=kdict)
     self.assertTrue(myvcneb.is_ready_to_run())
     myvcneb=VaspNEBChecker(name="done", program_keys=kdict)
     self.assertTrue(myvcneb.is_ready_to_run())