Exemplo n.º 1
0
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]
            })
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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]}
        )
Exemplo n.º 4
0
#!/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)