Skip to content

v0.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ajjackson ajjackson released this 15 Apr 15:04
· 267 commits to master since this release
e525bb7
  • New Features:

    • New command-line tool euphonic-powder-map allows generation
      and plotting of powder-averaged S(|q|,w) and DOS maps.
    • New QpointFrequencies object which allows storage of frequencies
      without eigenvectors, meaning that memory usage can be reduced if
      eigenvectors are not required.
    • StructureFactor now has a weights attribute and can be used
      to calculate DOS with calculate_dos and get dispersion with
      get_dispersion
    • Spectrum1D, Spectrum1DCollection and Spectrum2D objects
      have a new metadata attribute, see their docstrings for details
    • Euphonic can now read DOS/PDOS from CASTEP .phonon_dos files with
      Spectrum1D.from_castep_phonon_dos and
      Spectrum1DCollection.from_castep_phonon_dos
    • Adaptive broadening is now available for DOS, which can obtain a
      more representative DOS than standard fixed-width broadening. See
      the docs <https://euphonic.readthedocs.io/en/latest/dos.html#adaptive-broadening>_
      for details
    • Adaptive broadening can be used in the euphonic-dos tool with the
      --adaptive argument
  • Improvements:

    • Improved default behaviour for C extension use and number of threads:

      • By default the C extension will be used if it is installed
      • By default the number of threads will be set by
        multiprocessing.cpu_count()
      • The environment variable EUPHONIC_NUM_THREADS can be used to set
        a specific number of threads, which takes priority over
        multiprocessing.cpu_count()
      • fall_back_on_python argument has been removed and superseded by the
        default use_c=None behaviour
      • threadpoolctl.threadpool_limits is used to limit the number of threads
        used by numerical libraries in Euphonic C function calls, resulting in
        better overall performance
    • Command-line interfaces have been refactored, giving a more
      uniform set of options and clearer sections of related arguments
      on the interactive help pages.

      • It is now possible where appropriate to specify Monkhorst-Pack
        sampling with a single-parameter --q-spacing as an
        alternative to setting Monkhorst-Pack divisions. This approach
        will account for the size and shape of reciprocal-lattice cells.
    • Build process tweaks

      • On Linux, the build process will now respect a user-defined
        C-compiler variable CC.

      • On Mac OSX, the build process will now respect a user-defined
        C-compiler variable CC. Homebrew library paths will only be
        set if CC is empty and the brew command is available.

      These tweaks are intended to facilitate Conda packaging.

  • Breaking changes:

    • The --q-distance argument to euphonic-intensity-map has
      been renamed to --q-spacing for consistency with other tools.

    • Debye-Waller calculation in euphonic-intensity-map is now
      enabled by setting --temperature, which no longer has a
      default value.

    • Default Monkhorst-Pack meshes (i.e. [6, 6, 6] in euphonic-dos
      and [20, 20, 20] in sample_sphere_structure_factor()) have
      been replaced by default grid-spacing values.

    • The scaling of density of states has changed, due to a change
      in implementation