Phonon band structures with LO-TO

This example shows how to plot the phonon band structure of AlAs. without the LO-TO splitting. See tutorial/lesson_rf2.html

Open the PHBST file produced by anaddb and get the phonon bands. Note that the treatment of the LO-TO splitting for q–> 0 requires additional steps. See plot_phonons_lo_to.py.

from abipy.abilab import abiopen
import abipy.data as abidata

with abiopen(abidata.ref_file("trf2_5.out_PHBST.nc")) as ncfile:
    phbands = ncfile.phbands
Warning: file /home/runner/work/abipy/abipy/abipy/data/refs/alas_phonons/trf2_5.out_PHBST.nc does not contain atomic_numbers.
Particular methods need them!

Read the Phonon DOS from the netcd file produced by anaddb (prtdos 2)

with abiopen(abidata.ref_file("trf2_5.out_PHDOS.nc")) as ncfile:
    phdos = ncfile.phdos

Plot phonon bands and DOS with matplotib:

phbands.plot(title="AlAs Phonon bands and DOS in eV")
AlAs Phonon bands and DOS in eV

For the plotly version use:

phbands.plotly(title="AlAs Phonon bands and DOS in eV")

To plot phonon bands and phonon DOS with matplotlib use:

phbands.plot_with_phdos(phdos, units="cm-1",
                        title="AlAs Phonon bands + DOS in cm-1")
AlAs Phonon bands + DOS in cm-1

For the plotly version use:

phbands.plotly_with_phdos(phdos, units="cm-1",
                          title="AlAs Phonon bands + DOS in cm-1")

Plot the phonon band structure with different color for each line (matplotlib version).

phbands.plot_colored_matched(units="cm-1",
                             title="AlAs with different color for each line.")
AlAs with different color for each line.

Use seaborn and matplotlib to draw a box plot showing the distribution of the phonon frequencies with respect to the mode index.

phbands.boxplot(units="meV")
plot phbands and dos

For the plotly version use:

phbands.boxplotly(units="meV")

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

Gallery generated by Sphinx-Gallery