abinslib.bose ============= .. py:module:: abinslib.bose .. autoapi-nested-parse:: Bose occupation enum and calculations. Exceptions ---------- .. autoapisummary:: abinslib.bose.NegativeTemperatureError Classes ------- .. autoapisummary:: abinslib.bose.BoseOccupation Functions --------- .. autoapisummary:: abinslib.bose.calculate_bose_factor Module Contents --------------- .. py:exception:: NegativeTemperatureError Bases: :py:obj:`ValueError` Bose factor is not meaningful for negative temperature. .. py:class:: BoseOccupation Bases: :py:obj:`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 .. py:attribute:: ONE .. py:attribute:: N .. py:attribute:: N_PLUS_ONE .. py:attribute:: TWO_N_PLUS_ONE .. py:function:: calculate_bose_factor(frequencies: euphonic.Quantity, temperature: euphonic.Quantity, occupation: BoseOccupation) -> numpy.array Get Bose factors corresponding to an array of frequency or energy. :param frequencies: phonon frequencies, usually indexed (qpt, mode) :param temperature: determines magnitude of Bose factors :param occupation: typically N_PLUS_ONE is used for phonon excitations :returns: Bose factor array corresponding to input frequencies (i.e. usually indexed (qpt, mode))