class BSPlotterProjectedTest(unittest.TestCase): def setUp(self): with open(os.path.join(test_dir, "Cu2O_361_bandstructure.json"), "r", encoding='utf-8') as f: d = json.load(f) self.bs = BandStructureSymmLine.from_dict(d) self.plotter = BSPlotterProjected(self.bs) warnings.simplefilter("ignore") def tearDown(self): warnings.resetwarnings() # Minimal baseline testing for get_plot. not a true test. Just checks that # it can actually execute. def test_methods(self): self.plotter.get_elt_projected_plots().close() self.plotter.get_elt_projected_plots_color().close() self.plotter.get_projected_plots_dots({'Cu': ['d', 's'], 'O': ['p']}) self.plotter.get_projected_plots_dots_patom_pmorb( { 'Cu': ['dxy', 's', 'px'], 'O': ['px', 'py', 'pz'] }, { 'Cu': [3, 5], 'O': [1] })
class BSPlotterProjectedTest(unittest.TestCase): def setUp(self): with open(os.path.join(test_dir, "Cu2O_361_bandstructure.json"), "r", encoding="utf-8") as f: d = json.load(f) self.bs = BandStructureSymmLine.from_dict(d) self.plotter = BSPlotterProjected(self.bs) warnings.simplefilter("ignore") def tearDown(self): warnings.simplefilter("default") # Minimal baseline testing for get_plot. not a true test. Just checks that # it can actually execute. def test_methods(self): self.plotter.get_elt_projected_plots().close() self.plotter.get_elt_projected_plots_color().close() self.plotter.get_projected_plots_dots({ "Cu": ["d", "s"], "O": ["p"] }).close() self.plotter.get_projected_plots_dots_patom_pmorb( { "Cu": ["dxy", "s", "px"], "O": ["px", "py", "pz"] }, { "Cu": [3, 5], "O": [1] }, ).close()
class BSPlotterProjectedTest(unittest.TestCase): def setUp(self): with open(os.path.join(test_dir, "Cu2O_361_bandstructure.json"), "r", encoding='utf-8') as f: d = json.load(f) self.bs = BandStructureSymmLine.from_dict(d) self.plotter = BSPlotterProjected(self.bs) warnings.simplefilter("ignore") def tearDown(self): warnings.resetwarnings() # Minimal baseline testing for get_plot. not a true test. Just checks that # it can actually execute. def test_methods(self): self.plotter.get_elt_projected_plots().close() self.plotter.get_elt_projected_plots_color().close() self.plotter.get_projected_plots_dots({'Cu': ['d', 's'], 'O': ['p']}) self.plotter.get_projected_plots_dots_patom_pmorb( {'Cu': ['dxy', 's', 'px'], 'O': ['px', 'py', 'pz']}, {'Cu': [3, 5], 'O': [1]} )
#!/bin/env python3 """Alexandre Olivieri ([email protected]) Simple plot generation from the vasprun.xml and KPOINTS files.""" from pymatgen.io.vasp import BSVasprun from pymatgen.electronic_structure.plotter import BSPlotterProjected from matplotlib import pyplot as plt VRUN = BSVasprun('vasprun.xml', parse_projected_eigen=True) BS = VRUN.get_band_structure(kpoints_filename='KPOINTS', line_mode=True) BANDPLOTTER = BSPlotterProjected(BS) plot = BANDPLOTTER.get_projected_plots_dots_patom_pmorb( {'O':['p'], 'Nb':['dyz', 'dx2', 'dz2']}, {'O':['all'], 'Nb':['all']}, sum_atoms={'O':['all'], 'Nb':['all']}, sum_morbs={'O':['p']}, num_column=3 ) plot.savefig('bandstructure.pdf', dpi=1000)