Plotting spin polarized band structures — PyProcar 6.2.1 documentation

Skip to main content
`Ctrl`+`K`

Note

Go to the end to download the full example code.

# Plotting spin polarized band structures

Plotting spin polarized band structures.

First download the example files with the code below. Then replace data_dir below.

Downloading example

     data_dir = pyprocar.download_example(save_dir='',
                                 material='Fe',
                                 code='vasp',
                                 spin_calc_type='spin-polarized-colinear',
                                 calc_type='bands')

importing pyprocar and specifying local data_dir

    import os

    import pyprocar

    data_dir = os.path.join(
        pyprocar.utils.DATA_DIR,
        "examples",
        "Fe",
        "vasp",
        "spin-polarized-colinear",
        "bands",
    )

    spins = [0, 1]

## Plain mode

When the calculation is a spin-polarized calculation. There are few more features features bandsplot can do. The default settings bandsplot will plot the spin-up and spin-down bands on the same plot.

    pyprocar.bandsplot(code="vasp", mode="plain", fermi=5.590136, dirname=data_dir)

                ----------------------------------------------------------------------------------------------------------
                There are additional plot options that are defined in the configuration file.
                You can change these configurations by passing the keyword argument to the function.
                To print a list of all plot options set `print_plot_opts=True`

                Here is a list modes : plain , parametric , scatter , atomic , overlay , overlay_species , overlay_orbitals
                ----------------------------------------------------------------------------------------------------------

    (<Figure size 900x600 with 1 Axes>, <Axes: xlabel='K vector', ylabel='E - E$_F$ (eV)'>)

The line-styles or line-colors, these may be changed in the ebs section in the :doc:’pyprocar/utils/default_settings.ini’ file.

The keyword spins can also be used to select which spin bands to plot

    spins = [1]
    pyprocar.bandsplot(
        code="vasp", mode="plain", fermi=5.590136, spins=spins, dirname=data_dir
    )

                ----------------------------------------------------------------------------------------------------------
                There are additional plot options that are defined in the configuration file.
                You can change these configurations by passing the keyword argument to the function.
                To print a list of all plot options set `print_plot_opts=True`

                Here is a list modes : plain , parametric , scatter , atomic , overlay , overlay_species , overlay_orbitals
                ----------------------------------------------------------------------------------------------------------

    (<Figure size 900x600 with 1 Axes>, <Axes: xlabel='K vector', ylabel='E - E$_F$ (eV)'>)

## Parametric mode

For details on the meaning of the indices of the atomic projection please refer to the user guide :ref:’atomic_projections’

    atoms = [0]
    orbitals = [4, 5, 6, 7, 8]
    spins = [0, 1]

    pyprocar.bandsplot(
        code="vasp",
        mode="parametric",
        fermi=5.590136,
        atoms=atoms,
        orbitals=orbitals,
        spins=spins,
        dirname=data_dir,
    )

                ----------------------------------------------------------------------------------------------------------
                There are additional plot options that are defined in the configuration file.
                You can change these configurations by passing the keyword argument to the function.
                To print a list of all plot options set `print_plot_opts=True`

                Here is a list modes : plain , parametric , scatter , atomic , overlay , overlay_species , overlay_orbitals
                ----------------------------------------------------------------------------------------------------------

    (<Figure size 900x600 with 2 Axes>, <Axes: xlabel='K vector', ylabel='E - E$_F$ (eV)'>)

## Scatter mode

    atoms = [0]
    orbitals = [4, 5, 6, 7, 8]
    spins = [0, 1]

    pyprocar.bandsplot(
        code="vasp",
        mode="scatter",
        fermi=5.590136,
        atoms=atoms,
        orbitals=orbitals,
        spins=spins,
        dirname=data_dir,
    )

                ----------------------------------------------------------------------------------------------------------
                There are additional plot options that are defined in the configuration file.
                You can change these configurations by passing the keyword argument to the function.
                To print a list of all plot options set `print_plot_opts=True`

                Here is a list modes : plain , parametric , scatter , atomic , overlay , overlay_species , overlay_orbitals
                ----------------------------------------------------------------------------------------------------------

    (<Figure size 900x600 with 2 Axes>, <Axes: xlabel='K vector', ylabel='E - E$_F$ (eV)'>)

Total running time of the script: (0 minutes 2.218 seconds)

Gallery generated by Sphinx-Gallery