class GlobalFunctionsTest(unittest.TestCase): def setUp(self): mgo_latt = [[4.212, 0, 0], [0, 4.212, 0], [0, 0, 4.212]] mgo_specie = ["Mg", 'O'] * 4 mgo_frac_cord = [[0, 0, 0], [0.5, 0, 0], [0.5, 0.5, 0], [0, 0.5, 0], [0.5, 0, 0.5], [0, 0, 0.5], [0, 0.5, 0.5], [0.5, 0.5, 0.5]] self.mgo_uc = Structure(mgo_latt, mgo_specie, mgo_frac_cord, True, True) bv = BVAnalyzer() val = bv.get_valences(self.mgo_uc) el = [site.species_string for site in self.mgo_uc.sites] self.val_dict = dict(zip(el, val)) def test_get_energy_tersoff(self): p = Poscar.from_file(os.path.join(test_dir, 'POSCAR.Al12O18'), check_for_POTCAR=False) structure = p.structure enrgy = get_energy_tersoff(structure) self.assertIsInstance(enrgy, float) print "tersoff energy", enrgy def test_get_energy_buckingham(self): enrgy = get_energy_buckingham(self.mgo_uc) self.assertIsInstance(enrgy, float) print "Buckingham energy for charge neutral structure", enrgy #test with vacancy structure self.mgo_uc.remove(0) energy = get_energy_buckingham(self.mgo_uc, keywords=('qok', 'optimise', 'conp'), valence_dict=self.val_dict) self.assertIsInstance(enrgy, float) print "Buckingham energy charged defect structure", enrgy def test_get_energy_relax_structure_buckingham(self): enrgy, struct = get_energy_relax_structure_buckingham(self.mgo_uc) self.assertIsInstance(enrgy, float) self.assertIsInstance(struct, Structure) site_len = len(struct.sites) self.assertEqual(site_len, len(self.mgo_uc.sites)) print "Buckingham energy", enrgy print struct print self.mgo_uc
class GlobalFunctionsTest(unittest.TestCase): def setUp(self): mgo_latt = [[4.212, 0, 0], [0, 4.212, 0], [0, 0, 4.212]] mgo_specie = ["Mg",'O']*4 mgo_frac_cord = [[0,0,0], [0.5,0,0], [0.5,0.5,0], [0,0.5,0], [0.5,0,0.5], [0,0,0.5], [0,0.5,0.5], [0.5,0.5,0.5]] self.mgo_uc = Structure(mgo_latt, mgo_specie, mgo_frac_cord, True, True) bv = BVAnalyzer() val = bv.get_valences(self.mgo_uc) el = [site.species_string for site in self.mgo_uc.sites] self.val_dict = dict(zip(el, val)) def test_get_energy_tersoff(self): p = Poscar.from_file(os.path.join(test_dir, 'POSCAR.Al12O18'), check_for_POTCAR=False) structure = p.structure enrgy = get_energy_tersoff(structure) self.assertIsInstance(enrgy, float) print "tersoff energy", enrgy def test_get_energy_buckingham(self): enrgy = get_energy_buckingham(self.mgo_uc) self.assertIsInstance(enrgy, float) print "Buckingham energy for charge neutral structure", enrgy #test with vacancy structure self.mgo_uc.remove(0) energy = get_energy_buckingham(self.mgo_uc, keywords=('qok','optimise','conp'), valence_dict=self.val_dict) self.assertIsInstance(enrgy, float) print "Buckingham energy charged defect structure", enrgy def test_get_energy_relax_structure_buckingham(self): enrgy, struct = get_energy_relax_structure_buckingham(self.mgo_uc) self.assertIsInstance(enrgy, float) self.assertIsInstance(struct, Structure) site_len = len(struct.sites) self.assertEqual(site_len, len(self.mgo_uc.sites)) print "Buckingham energy", enrgy print struct print self.mgo_uc