euphonic-dispersion

The euphonic-dispersion program can be used to plot dispersion either along a specific trajectory from precalculated phonon frequencies, or along a recommended reciprocal space path from force constants. For example, to plot from a Euphonic .json file containing QpointPhononModes, with frequencies reordered to follow equivalent modes across Q, and the y-axis minimum energy set to 0 meV, run:

euphonic-dispersion quartz_qpoint_phonon_modes.json --reorder --e-min 0
A bandstructure plot for quartz

Or, to plot along a recommended q-point path from Phonopy force constants with an acoustic sum rule, run:

euphonic-dispersion NaCl/phonopy.yaml --asr reciprocal
A bandstructure plot for NaCl

To see all the command line options, run:

euphonic-dispersion -h

You can also see the available command line options below. For information on advanced plot styling, see Customising plots.

Command Line Options

Plots a band structure from the file provided. If a force constants file is provided, a band structure path is generated using Seekpath

usage: euphonic-dispersion [-h] [--asr [{reciprocal,realspace}]]
                           [--dipole-parameter DIPOLE_PARAMETER]
                           [--use-c | --disable-c] [--n-threads N_THREADS]
                           [--save-json SAVE_JSON] [-s SAVE_TO]
                           [--title TITLE] [--x-label XLABEL]
                           [--y-label YLABEL] [--style STYLE [STYLE ...]]
                           [--no-base-style] [--font FONT]
                           [--font-size FONTSIZE] [--fig-size FIGSIZE FIGSIZE]
                           [--fig-size-unit FIGSIZE_UNIT]
                           [--line-width LINEWIDTH] [--e-min E_MIN]
                           [--e-max E_MAX] [--energy-unit ENERGY_UNIT]
                           [--length-unit LENGTH_UNIT] [--q-spacing Q_SPACING]
                           [--btol BTOL] [--reorder]
                           filename

File I/O arguments

filename

Phonon data file. This should contain force constants or phonon mode data. Force constants formats: .yaml, force_constants.hdf5 (Phonopy); .castep_bin , .check (Castep); .json (Euphonic). Phonon mode data formats: {band,qpoints,mesh}.{hdf5,yaml} (Phonopy); .phonon (Castep); .json (Euphonic)

--save-json

Save spectrum to a .json file with this name

q-point sampling arguments

--length-unit

Length units; these will be inverted to obtain units of distance between q-points (e.g. “bohr” for bohr^-1).

Default: “angstrom”

--q-spacing

Target distance between q-point samples in 1/LENGTH_UNIT

Default: 0.025

--btol

Distance threshold used for automatically splitting discontinuous segments of reciprocal space onto separate subplots. This is specified as a multiple of the median distance between q-points.

Default: 10.0

energy/frequency arguments

--e-min

Energy range minimum in ENERGY_UNIT

--e-max

Energy range maximum in ENERGY_UNIT

--energy-unit, -u

Energy units

Default: “meV”

Force constants interpolation arguments

--asr

Possible choices: reciprocal, realspace

Apply an acoustic-sum-rule (ASR) correction to the data: “realspace” applies the correction to the force constant matrix in real space. “reciprocal” applies the correction to the dynamical matrix at each q-point.

--dipole-parameter

Set the cutoff in real/reciprocal space for the dipole Ewald sum; higher values use more reciprocal terms. If tuned correctly this can result in performance improvements. See euphonic-optimise-dipole-parameter program for help on choosing a good DIPOLE_PARAMETER.

Default: 1.0

Plotting arguments

-s, --save-to

Save resulting plot to a file with this name

--title

Plot title

Default: “”

--x-label, --xlabel

Plot x-axis label

--y-label, --ylabel

Plot y-axis label

--style

Matplotlib styles (name or file)

--no-base-style

Remove all default formatting before applying other style options.

Default: False

--font

Select text font. (This has to be a name known to Matplotlib. font-family will be set to sans-serif; it doesn’t matter if)the font is actually sans-serif.

--font-size, --fontsize

Set base font size in pt.

--fig-size, --figsize

Figure canvas size in FIGSIZE-UNITS

--fig-size-unit, --figsize-unit

Unit of length for –figsize

Default: “cm”

--line-width, --linewidth

Set line width in pt.

Band arguments

Options related to plotting 1D bands (“spaghetti plots”).

--reorder

Try to determine branch crossings from eigenvectors and rearrange frequencies accordingly

Default: False