# PhononBandstructure¶

class PhononBandstructure(dynamical_matrix, configuration=None, route=None, points_per_segment=None, qpoints=None, number_of_bands=None, projection_list=None)

Analysis class for calculating the phonon bandstructure for a bulk configuration.

Parameters: dynamical_matrix (DynamicalMatrix) – The DynamicalMatrix to calculate the phonon bandstructure from. configuration (BulkConfiguration) – The configuration for which the vibrational modes should be calculated. If no calculator is attached to the configuration, the calculator from dynamical_matrix is used. Currently, configuration must be the same as the configuration from dynamical_matrix and is therefore not needed. Default: The configuration from dynamical_matrix route (list of str) – The route to take through the Brillouin-zone as a list of symmetry points of the unit cell, e.g. ['G', 'X', 'G']. This option is mutually exclusive to qpoints. Default: Unit-cell dependent route. points_per_segment (Positive int) – The number of points per segment of the route. Default: 20. qpoints (list of lists of floats) – A list of 3-dimensional fractional q-points at which to calculate the energies of the bands e.g. [[0.0, 0.0, 0.0], [0.0, 0.0, 0.1], ...]. The shape is (Q, 3) where Q is the number of q-points. This option is mutually exclusive to route, and points_per_segment. Default: Unit-cell dependent route. number_of_bands (Positive int | All) – The number of bands. Default: All (All bands are included). projection_list (ProjectionList) – A projection list object defining a projection. Default: If no projection list is specified all orbitals will be used.
conductionBandEdge()
directBandGap()
evaluate()
Returns: The eigenvalues for the phonon bandstructure. The shape is (Q, B) where Q is the number of q-points and B is the number of bands. PhysicalQuantity of type energy
indirectBandGap()
metatext()
Returns: The metatext of the object or None if no metatext is present. str | unicode | None
nlprint(stream=None)

Print a string containing an ASCII table useful for plotting the AnalysisSpin object.

Parameters: stream (python stream) – The stream the table should be written to. Default: NLPrintLogger()
qpoints()
Returns: The list of q-points at which the energies of the bands are calculated as a list of 3-dimensional fractional q-points. The shape is (Q, 3) where Q is the number of q-points. list of lists of floats
route()
Returns: The route through the Brillouin-zone as a list of symmetry points of the unit cell. list of str
setMetatext(metatext)

Set a given metatext string on the object.

Parameters: metatext (str | unicode | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.
valenceBandEdge()

## Usage Examples¶

Calculate the PhononBandstructure of silicon using the TremoloXCalculator calculator with the Stillinger-Weber potential [lSW85]:

# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------

# Set up lattice
lattice = FaceCenteredCubic(5.4306*Angstrom)

# Define elements
elements = [Silicon, Silicon]

# Define coordinates
fractional_coordinates = [[0.0 , 0.0 , 0.0 ],
[0.25, 0.25, 0.25]]

# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
potentialSet = StillingerWeber_Si_1985()
calculator = TremoloXCalculator(parameters=potentialSet)

bulk_configuration.setCalculator(calculator)

# -------------------------------------------------------------
# Dynamical matrix
# -------------------------------------------------------------
dynamical_matrix = DynamicalMatrix(
configuration=bulk_configuration,
repetitions=Automatic,
atomic_displacement=0.01*Angstrom,
acoustic_sum_rule=False,
symmetrize=True,
finite_difference_method=Central,
)

# -------------------------------------------------------------
# Phonon bandstructure
# -------------------------------------------------------------
phonon_bandstructure = PhononBandstructure(
configuration=bulk_configuration,
dynamical_matrix=dynamical_matrix,
route=['G', 'X', 'W', 'L', 'G', 'K', 'X', 'U', 'W', 'K', 'L'],
points_per_segment=20,
number_of_bands=All
)
nlsave('si_phonon_bandstructure.nc', phonon_bandstructure)


phonon_bandstructure.py

Note

The PhononBandstructure can be visualized by selecting the file si_phonon_bandstructure.nc in the Lab Floor of QuantumATK and opening it using the Bandstructure Analyzer or the 2D Plot tool.

## Notes¶

 [lSW85] F. H. Stillinger and T. A. Weber. Computer simulation of local order in condensed phases of silicon. Phys. Rev. B, 31:5262–5271, Apr 1985. doi:10.1103/PhysRevB.31.5262.