abinslib.bose

Bose occupation enum and calculations.

Exceptions

NegativeTemperatureError

Bose factor is not meaningful for negative temperature.

Classes

BoseOccupation

Occupation number for Bose-Einstein statistics.

Functions

calculate_bose_factor(→ numpy.array)

Get Bose factors corresponding to an array of frequency or energy.

Module Contents

exception abinslib.bose.NegativeTemperatureError[source]

Bases: ValueError

Bose factor is not meaningful for negative temperature.

class abinslib.bose.BoseOccupation[source]

Bases: enum.Enum

Occupation number for Bose-Einstein statistics.

Typically we use 2N+1 in Debye-Waller factor (i.e. atomic displacements), N+1 for energy transfer to the sample and N for energy transfer from the sample.

ONE is simply 1: i.e. unscaled temperature-insensitive occupation

ONE
N
N_PLUS_ONE
TWO_N_PLUS_ONE
abinslib.bose.calculate_bose_factor(frequencies: euphonic.Quantity, temperature: euphonic.Quantity, occupation: BoseOccupation) numpy.array[source]

Get Bose factors corresponding to an array of frequency or energy.

Parameters:
  • frequencies – phonon frequencies, usually indexed (qpt, mode)

  • temperature – determines magnitude of Bose factors

  • occupation – typically N_PLUS_ONE is used for phonon excitations

Returns:

Bose factor array corresponding to input frequencies (i.e. usually indexed (qpt, mode))